Careerism breeds mediocrity - <AUTHOR> http://michaelochurch.wordpress.com

<comment><USER2> I think a lot of mediocrity comes from layered management. Line managers are driven by customer requirement. Executives by the board.

But middle managers are driven by ... nothing in particular. The only thing they have to optimize is budget and hitting schedules. SO they maximize their budget and minimize deliverables. Which is diametrically opposed to company objectives.

How to get them to behave better? I don't know, so I suggest lining all middle managers up in the parking lot, and firing a single bullet through all their heads. To optimize bullet costs.</comment>


AGPL != Awesome GPL - <AUTHOR> http://www.davispj.com/2010/02/19/agpl-not-awesome-gpl.html <comment><USER2> There's an FSF FAQ on this: <http://www.gnu.org/licenses/gpl- faq.html#ModifyGPL>

It seems they're mostly trying to avoid a license-dilution problem, where there'd be 50 incompatible versions of the GPL floating around confusing everyone.

<comment><USER3> FTA: "Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."

This is clearly in reference to the LICENSE DOCUMENT and not the LICENSE ITSELF.

Forgive the shouting, but this situation seems childish anyway.

<comment><USER4> Also, on a more serious note, that was my exact argument. If I'm not allowed to make a derivative of the LICENSE DOCUMENT, how am I able to create a parody interpretation?

I've said before that I would be fine with a "DERIVATIVES UNDER DIFFERENT NAMES" clause, but that's not how I interpreted the clause absolutely no training in law.

<comment><USER5> > If I'm not allowed to make a derivative of the LICENSE DOCUMENT, how am I > able to create a parody interpretation?

I think you've got it right there. A cursory search of Wikipedia shows parodies may fall under fair use, never mind the copyright notice: <http://en.wikipedia.org/wiki/Parody#Copyright_issues>

<comment><USER6> Yes, exactly. The license clause can only be enforced because of copyright law, and fair use is allowed for by the copyright law. The rights given to you by the law supersede anything a license says, because without that law, the license would be completely meaningless.

(In theory, the reason EULAs work is because when you run the program, you are copying it from disk to RAM. This is why they are believed to be very shaky, as copyright law does not specifically consider copying from disk to RAM inside a black box to be "copying".

The GPL is on firmer ground, because it covers copying for distribution to other people. That is a situation that copyright law is specific about.)

<comment><USER4> LOL, WHUT?

This is exactly why people like me get confused about such things. From the little reading I've done I tend toward the "copyrights sound like the solution, and everything else is a twisted interpretation of that" point of view, but I'm only well read enough to know that I'm not well read enough to have an actual opinion.

</comment></comment></comment></comment></comment></comment><comment><USER7> People should stop inventing their own vanity licenses; there are enough popular, legally-sound options available for any reasonable licensing schema.

If you want to ensure everybody who receives your code can modify it, use the GPL or LGPL.

If you want to disclaim your rights to the extent allowed by law, use the BSD 3-clause or X11 (aka MIT) licenses. These are one step above the public domain, and are legal even in jurisdictions which do not recognize the public domain.

Do not use: some license a non-lawyer thought up in a fit of pique after mis- reading somebody else's license. This applies to the author's TPL, the infamous WTFPL, and similar poorly-considered licenses.

<comment><USER4> These vanity licenses are LOLs licenses. Those of us that are actually concerned with such things actually do use a license of our choice. I tend to prefer the X11/MIT because its short enough I understand it. But occasionally I use the TPL for small things just to make people contemplate.

</comment></comment><comment><USER8> I can't say I care for his proposed license. I recommend instead considering the WTFPL: <http://sam.zoy.org/wtfpl/>

The author of the WTFPL was the Debian Project Leader for a while and his site has a tribute to goatse. Make of that what you will...

<comment><USER4> The WTFPL also made me LOL. But the TPL was written by a friend so I lean towards that one. I think both are firmly planted in the LOL world so its only a matter of preference of what flavor of LOL that you prefer.

</comment></comment><comment><USER9> Um, that just means that you can't distribute something under a modified form of the AGPL, and still call the license the AGPL...

<comment><USER4> Are you willing to stake your lunch on that interpretation? I read it as "no modifications allowed" as opposed to "modifications require a new name not confusable with the AGPL". I would support the second, but the first interpretation is what actually motivated opening my editor.

<comment><USER6> Isn't everything a modification of everything else then? I "modified" your comment by deleting it and writing this one.

<comment><USER4> I propose an experiment where we introduce Levenshtein to a lawyer and see who's head explodes first.

</comment></comment></comment></comment><comment><USER10> Contemporary GPL is a terrible name. Things are only contemporary for a limited time (by definition). What do you do after the Internet is obsoleted? Rename the new version The New Contemporary GPL?

<comment><AUTHOR> I think he said "Contemplorary" which is where the LOLs come from.

<comment><USER10> Ah, I need to learn to read :)

</comment></comment></comment><comment><USER11> BWAHAHAHA :D

<comment><AUTHOR> Jan found the LOLs

<comment><USER4> Were they that hard to find?

<comment><USER12> I found 'em.</comment></comment></comment></comment>


How to Land on the Moon - <AUTHOR> https://newatlas.com/apollo-11-moon-landing/59108 <comment><USER2> _When Neil Armstrong brought his Lunar Module, Eagle, in to land, he found that the site was strewn with boulders and had to very quickly find somewhere else to put down._

I thought they overshot their intended landing site, in part because Armstrong missed some visual landmarks when his attention was taken away from the window several times by a 1202 alarm. The area beyond the site was rocky (which they knew beforehand) and by the time he located and touched down on a clear spot they had < 30 seconds of fuel remaining (leading to some clenched butts in mission control).

<comment><USER3> What would have happened if they hit some boulders with the lander? Was there a real chance they could have been stuck on the moon?

<comment><USER4> The walls of the LM were 0.012 inches thick. A tad under 4x the thickness of a soda can. You can imagine why hitting anything might ruin your day.

<comment><USER5> This raised the question, for me, of just how thick is the sheet metal on a typical earth-bound automobile.

It appears that steel panels in modern cars are probably something like 0.03 or 0.04 inches thick. Aluminum panels may be 0.05" or 0.06", possibly thicker or multiple layers.

</comment></comment></comment></comment><comment><USER6> I want to know more... How does one know one is in orbit? How do you work out when to fire you thrusters to leave orbit and head towards something like the moon?

<comment><USER7> Radars, star trackers and some math.

Random Google link: [https://timeandnavigation.si.edu/navigating- space](https://timeandnavigation.si.edu/navigating-space)

</comment></comment><comment><USER8> One of the early games I played on either my ZX81 or possibly BBC B was a lunar lander simulator. Really just a timeline and some maths and some dials. You contolled the decent with some thrusters. Burning fuel makes it lighter, which changes the thrust. Don't run out of fuel, dont land to heavy, make sure you land vertically. Good times.

Nope, that's a confabulation. [https://youtu.be/jlS3fr3t4Fg](https://youtu.be/jlS3fr3t4Fg)

</comment><comment><USER9> I just finished watching the national geographic on Apollo. It's really well done. The drew on a lot of local news footage which gives you a unique insight into the era.

</comment><comment><USER10> Always love newatlas.

</comment><comment><USER11> Don't forget bringing a golf club

</comment><comment><USER12> I landed on the moon many times in 1975 using the HP-25 moonlander program. It achieved this in 49 lines of code and a few manualy supplied data points. Boulders were never a problem.

</comment><comment><USER13> > When the spacecraft is about 2,000 ft (610 m) from target, it switches to > the landing phase. This is when the computer hands over manual control to > the Commander, who guides it in for final touchdown. Slowed to a hover, _the > module can be steered by tilting it like a helicopter to make any necessary > corrections._

A rocket landing on (top of) a column of thrust and a helicopter suspended below a disc of thrust are not even remotely the same thing. Classic failure to reason from first principles.

Here's a suitable analogy: it's like the difference between having a center of mass behind the center of pressure, and a center of mass in front of the center of pressure.

For the interested layman: [https://en.wikipedia.org/wiki/Longitudinal_static_stability](https://en.wikipedia.org/wiki/Longitudinal_static_stability)

<comment><USER14> > _Here's a suitable analogy: it's like the difference between having a center > of mass behind the center of pressure, and a center of mass in front of the > center of pressure._

This "analogy" is more abstract than the original statement and is only going to make sense to someone who more-or-less also understands that one.

How about "it's like pulling a floating balloon by a string vs. pushing the balloon from the side and trying to keep it moving in a straight line in both cases"

Or maybe "it's like balancing a vertically-oriented baseball bat while holding it at the top vs. balancing a broom while holding it at the bottom."

<comment><USER14> Erm, sorry, my editing was only half baked above; I tried to change my example from a broom to a baseball bat and accidentally left both in.</comment></comment></comment>


Ask HN: What is your best way to learn Python programming language? - <AUTHOR> I have no CS background. I want to learn Python as my first programming language.<p>So what's the best way to learn it and maybe the fastest? <comment><USER2> I'm surprised nobody's pointed you to the official tutorial[1] yet. It is decent.

[1]: [https://docs.python.org/3/tutorial/](https://docs.python.org/3/tutorial/)

<comment><USER3> +1 to the official tutorial

I'd also recommend LPTHW [1] as complementary.

[1]: [https://learnpythonthehardway.org](https://learnpythonthehardway.org)

<comment><USER2> Not free anymore, unfortunately.

I'm surprised they finally caved in and moved to python3. They were really adamant against it.

</comment></comment></comment><comment><USER4> The book I would propose for newbies is "How to think like a computer scientist" by Jeffrey Elkner, Peter Wentworth, Allen B. Downey and Chris Meyers.

Last release is from 2012 and uses Python 3 and it is freely available under GNU Free Documentation License.

Link: [http://howtothink.readthedocs.io/en/latest/](http://howtothink.readthedocs.io/en/latest/)

</comment><comment><USER5> Python is an excellent first language to learn. Many universities around the world now use it as the language by which to introducing programming both for CS and non-CS students.

Depending on how you learn best, the following are 3 effective ways to learn:

From a book - one of the best books is Learning Python ([http://shop.oreilly.com/product/0636920028154.do](http://shop.oreilly.com/product/0636920028154.do))

From videos - you could search YouTube for a trainer who communicates in a way that resonates for you.

By playing (and writing) games - PyGame is an excellent resource ([https://www.pygame.org/docs/tut/PygameIntro.html](https://www.pygame.org/docs/tut/PygameIntro.html))

Well written Python programs are like structured English, so they are not that hard to read. Personally I would suggest PyGame as the most effectively way to learn, but it really is a personal taste and preferences thing.

</comment><comment><USER6> Why Python? I'm not arguing with you because it's a good first language, but what do you want to accomplish? What do you want to do with Python??

<comment><AUTHOR> I want to build web apps, do data analysis and publish on Internet, and most importantly it is most recommended language for beginners with lots of resources available online. Do you recommend any other language to start with? I am just curious to know how you learn the language, what you use books, videos, project, or blog post? How you take notes (my hand starts paining after sometime)? What is your framework of learning?

<comment><USER7> maybe consider trying a static language?

<comment><USER6> What static language would you recommend? I figure the choices are basically Java or C#. Of the two, I'd likely suggest that Java will be easier only because I think beginners might find .Net a little large to dive into. But I wouldn't call Java a particular compact language that would be good for teaching someone to think like a programmer. What do you think?

<comment><USER8> The worst language to teach someone as a first language has to be Java. It also might be the worst language to teach someone as a second language.

<comment><USER6> Java gives me a rash, so writing that last comment took every last bit of restraint I had.

But, I still can't come up with a static language that I'd want to teach someone as a first language. C# would be a good choice, but I don't know how much success a beginner would have with .Net. Typescript is hard to debug unless you know Javascript. I wouldn't wish C++ as a first languge upon anyone. Haskell seems like it would be very frustrating for a beginner. Swift might be okay if they really badly wanted to go mobile, but that's not the case here. Rust is the best I can come up with, though it seems like a tough first language.

Do you have any ideas? I see the value of learning static first, but can't come up with a good language!

<comment><USER8> Well, I guess if your goal was to learn a statically typed programming language Java or C# would be fine. So I don't disagree with you.

Personally, I have been in the role of teaching people programming, and I have seen what Java does to them. And I remember what it was like when I first encountered it.

So, I don't have a better suggestion if that is the goal. But if the goal is to learn programming, I have plenty to say on that. I worked as a TA for 3 years and from my rather biased experience, I would highly recommend HtDP and Racket.</comment></comment></comment></comment></comment></comment></comment>


Saving the Internet with hate: a technical solution to the social problem - <AUTHOR> http://savingtheinternetwithhate.com/

<comment><AUTHOR> This initiative is fronted by Zed Shaw, of Mongrel fame.

The technical details are on the "design" page. I disagree with most of what he has to say, but it will be interesting to see what comes of this.

<comment><USER2> It actually seems like it could work. I think I agree with it...too bad they only have a package for OS X at the moment.

<comment><AUTHOR> He describes the general protocol in great detail, but AFAICT the meat of the thing (reputation and identity) is nonexistent.

<comment><USER3> The way around that probpem is to implement whatever he's suggesting (I haven't read it yet.. tired..) per community, where you _do_ have a reputation and identity.

</comment></comment></comment></comment><comment><USER4> Yeah, let's make internet more like high school!

Actually, this might be a good thing. It will separate the "hate" crowd from the rest, and the rest will be better for it.

</comment><comment><USER5> > _The Internet gives little people the power, confidence, and anonymity they > need to abuse anyone they want without any fear of retribution._

So obviously the solution to anyone hurting your fragile ego is to make it easier to lash out at them. Or if you disagree with them on any subject, make them pay.</comment>


HackerChat.co – A private Slack chat for the HN community - <AUTHOR> http://hackerchat.co

<comment><AUTHOR> Hey guys.

I was just wondering why this thread got deleted.

I was trying to make an useful service for the community, where we could try to exchange opinions and give feedback... like we did on designerchat.co.

I was thinking infact IRC was too 20th century, old and outdated... and way too messy. Slack is pretty awesome compared to it, with many more functions and native apps :)

That being said, be nice... or else :)

<comment><USER2> If it was deleted, resubmitting it is not a valid action.

It was most likely deleted (IMO) because you ask for an email upfront for an invite without showing the service.

<comment><AUTHOR> 366 people are now in the team, and they could comment this post telling it's awesome chatting people with common interests :)

</comment></comment></comment><comment><USER3> You might also try out [https://chat.echoplex.us](https://chat.echoplex.us) ~</comment>


The Secret Behind Insanely Popular Business Blogs – A Detailed Analysis - <AUTHOR> https://www.konsus.com/blog/best-business-blogs/ <comment><AUTHOR> Please feel free to share your feedback.. what other factors do you think affect the success of a blog?

</comment><comment><AUTHOR> What do you guys think are the other best blogs that might have missed out on the article?</comment>


Finally, a reason not to bother with IPv6 emerges - a-smith https://www.theregister.co.uk/2017/04/10/ipv6_security_concerns/ <comment><AUTHOR> Highly inaccurate title. The article is about security issue in some tools used for transitioning from IPv4 to IPv6

>> the security holes come as a result of IPv4 to IPv6 transition tools.

</comment><comment><USER2> Attackers have started paying attention to IPv6, therefore you should look the other way. Sounds like a winning strategy to me.</comment>


Packrat: Seven Years of a South American Threat Actor - <AUTHOR> https://citizenlab.org/2015/12/packrat-report/ <comment><USER2> Citizen Lab's twitter feed is also worth a look: [https://twitter.com/citizenlab](https://twitter.com/citizenlab)</comment>


Why I'm leaving Silicon Valley - <AUTHOR> https://medium.com/@preethikasireddy/why-im-leaving-silicon-valley-72919edb3297 <comment><USER2> For most people, moving to Silicon Valley will simply accelerate their personal financial ruin. For most people, buying, owning and then selling their home is the accepted and straightforward path to financial independence. The common case now is to rent perpetually at very high rates. Most of these people will end up much worse off than someone in a podunk uncool city who was able to buy a home.

If you are here and do not see a clear path to financial independence within five years, leave. If you turn forty and are still renting your primary residence out of necessity, leave.

<comment><USER3> I don't understand this argument. Let's put some numbers up:

Single: income starting at $130k a year. That's 7k/month after tax. Rent a room in SV for $1000 (or Berkeley), and spends $1000/month. That's still $5k/month in savings. If you're senior, that number goes up to $200k a year. That's $11,500. That turns into $9500/month in savings.

Couple: 2 income at combined $260k a year. that's $14k/month after tax. Rents a house in SV or berkeley at $3000/month. Spends $2000/month. That's $9000/month in savings.

etc

<comment><USER2> find me the room for $1k/month. find me that home for $3k/month. oh and be sure to lock in those rates for five years

ok let's say you were lucky enough to find a $1k room in a neighborhood not littered with gangs, bullets and drugs...

okay, now get married. where will you live?

okay, now your wife is pregnant, what now?

is success to you renting a bedroom in an apartment with three people when you are forty five?

<comment><USER4> Different strategies work for people in different situations. Renting cheaply and saving while single has worked for some people. If the situation changes, you'll have the down payment (and then some) to buy a house somewhere when it's time to make a change.

Maybe not in Silicon Valley. Or maybe the housing bubble will be over by then? There's no crystal ball.

</comment></comment></comment></comment><comment><USER3> This article reads like a self-promotional, self-important fluff piece. Leaving all the congratulatory of her own career aside, she decides on blockchain and decides on LA.....not New York or Singapore or places that actually have alot of financial expertises she can learn.

> going onto to doing bigger and harder thing

Tell yourself the truth; you're afraid of the intense competition in SV. You're going to LA for the weather, and live an easy life. There's no tech in LA _except_ the big tech companies.

<comment><USER5> ...Intense competition with little real reward other than being able to tell people that you work in SV. While you may make 150,000, you can barely afford one room in a shared house. But, you DO work in SV so, there's that. If one wants to work in tech, there are a ton of places one can do so. I know that SV holds this position of tech nirvana in the minds of nerds (said affectionately, not as a pejorative)... but some folks really do enjoy having tangible real rewards for their hard work.

</comment></comment><comment><USER6> I don't get her point. She is moving out since she realized Silicon Valley is not the epicenter of tech? And her reasons on why LA are weak still (proximity to SV, weather & hustle culture). I would have understood if she wanted to move to another country to immerse herself into new culture and gain more exposure but this seems like a copout. Unless she is planning to work in non- tech space in LA, why is she expecting that techies in LA based companies would be much different than SV (especially in companies like Snapchat, Google etc. which she is quoting)?

<comment><USER7> I don't think she's exited the groupthink of SV as much as she claims.

</comment></comment><comment><USER8> The 'block chain revolution'? Revolution? Really? Can anyone tell me about the blockchain tech they are using that makes a noticeable difference in their lives?

Also - what's with the massive glam spread glossy photo shot?

If anything, a big, professional magazine style selfie for a Medium post, combined with the very self-oriented (i.e. it's mostly about me) narrative is more evidence of the symptoms of the Valley than anything.

<comment><USER9> Revolution: noun. Something that makes a noticeable difference in people's lives.

Is not the definition of a revolution.

This is Revolution: noun. a forcible overthrow of a government or social order in favor of a new system.

That's exactly what Blockchain technologies are doing to fiat currencies. Don't you see it? Or you're one of the idiots here that are missing out. Don't fall into collective thinking (like OP says).

<comment><USER8> " Don't you see it? Or you're one of the idiots here that are missing out."

Ha ha ... ha ha ... yes, I'll use those BTC to buy ... what exactly? Nothing?

It's ok to be naive and dumb on YC, we're just not allowed to call other people names.

<comment><USER9> I use [https://www.shiftpayments.com/](https://www.shiftpayments.com/) I buy everything with BTC

</comment></comment></comment></comment><comment><USER8> 1 year at Goldman Sachs and then _PARTNER_ at Anderseen Horrowitz, basically 1 year out of school?

What?

I don't think there's the full story here.

This is really strange LinkedIn history:

[https://www.linkedin.com/in/preethi- kasireddy-41383528/](https://www.linkedin.com/in/preethi-kasireddy-41383528/)

Also - less than two years coding experience ... it's going to be hard. Surely she's very smart so hey ...

<comment><USER10> It's just an associate role, basically being the first line of defense against people wasting the firm's time.

I suspect many firms call them "partners" these cays to prevent companies from not going to meetings once they realize they're only being put in front of an associate with no actual decision making power.

<comment><USER8> I agree with your logic, much like a lot of private wealth managers being 'VPs'.

But still, there are actually 'Associates' there :)

Partner usually not until a few years and maybe an MBA.

</comment></comment></comment><comment><USER11> I might be missing something big but who is the author, and why would anyone care why she is moving? Is she a tech celebrity or something? Not sure how the personal story of some rando techie got the up-votes it did but hey, odder stuff has made it to the front page...

<comment><USER12> maybe the blog post is a clever way to get people to offer to help pack and load the truck

</comment></comment><comment><USER13> Nice story telling -- my question is around the transition from banking --> VC --> engineer. If you had your time over would you still follow the same path? Was the finance side of business so complex that you needed to be in the "tick of it" for so long?

<comment><USER7> I went from engineer -> producer/pm -> engineer. It almost seemed like I could physically feel my programming skills atrophy during my time as a producer and it was driving me nuts at the time.

I'm starting to think I should have just stuck with it. I'd probably be making a lot more money now, and I would have dealt with a lot less bullshit.

</comment></comment><comment><USER14> Reminds me of this post by Fred Wilson: [http://avc.com/2015/06/loyalists-vs- mercenaries/](http://avc.com/2015/06/loyalists-vs-mercenaries/)

Summary: Starting a tech company outside SV is better in the sense that engineers aren't there solely for the money, but have other motivations such as the mission of the company or growing in the city that they'll be happy. Therefore companies outside SV have less labor rotation.

</comment><comment><USER15> Yup. Along the lines of one of Friedman's book, the world is flatter thanks to the internet and global transport.

</comment><comment><USER16> Fantastic example of contemporary entrepreneurial life: come to the hub to get exposure: build your network, increase your value, and understand what motivates and drives your passion, then move on because there are easier places to truly take root than SF.

SF doesn't offer the density of New York City, or the exposure to creative/media infrastructure of LA. What any of these blockchain currencies lack right now is mainstream appeal, LA would be fantastic for building that once she's got the tech right.

Her bio drops a strong hint:

>I have a passion for understanding things at a fundamental level and _sharing it as clearly as possible_.</comment>


"American Scientist" Understands Nothing about the Traveling Salesman Problem - <AUTHOR> http://mat.tepper.cmu.edu/blog/?p=8376 <comment><USER2> > _I don't know if this means I should not trust American Scientist in areas > that are not my specialty. On something I know a bit about, the magazine has > failed miserably._

I forget the term for this - when we see media cover something we know about badly, but continue to assume that they cover other topics that we're relatively ignorant about fairly and correctly.

<comment><USER3> This is even more true of the comment section of HN than it is in the media. For several domains I know something about, the comments here are _painfully_ misguided and just bad, with the possible exception of some programming topics.

<comment><USER4> I've noticed this on HN for genetics- and especially evolution-related topics. Many commenters here confidently state as fact things which turn out to be dead wrong. If your knowledge of evolution is limited to having read 'The Selfish Gene', you should be aware that you likely carry several misconceptions and also have many large gaps in your knowledge.

It turns out that, although possibly a virtue when programming, hubris can easily lead you astray if you're outside your field of expertise. Humility is more useful in these situations.

I am sure that this holds true for many other topics; it should give us all pause before we accept statements as true just because they sound agreeable to us, or before we regurgitate opinions whose veracity we're not in a position to verify.

Incidentally, I've also spotted this on the TV show _QI_ , many of whose clever 'facts' are misleading at best or just plain incorrect.

<comment><USER5> There are three options when you disagree with something on on HN.

      It's Wrong.
      It's Correct, and you are mistaken.
      It's Correct, but poorly communicated.

IMO, the poorly communicated issue shows up far more than most people assume. I have seen several discussion between two experts go X, that's wrong Y, that's not true X(1)... then after 10 posts they end up agreeing that X ~= Y if Z.

PS: This is also far worse on the softer ends of hard science. Diet, Economics, Climate, Astronomy, and Evolution all suffer from studying complex things with limited ability to experiment.

</comment></comment></comment></comment><comment><USER6> The title makes it sounds much worse than it actually is. I mean, this isn't _that_ bad:

> But what about going to 100 different cities? A computer would have to check > 100x99x98x….x2x1 possible routes.

Yes, the sentence should have included "In case of a brute-force search", but still it conveys the basic idea of TSP and why it gets exponentially harder as N increases.

<comment><AUTHOR> I think this is just one of the pitfalls that the author points out: it is not the sheer number of possibilities that defines the difficulty of a problem. He links to his previous blog post

[http://mat.tepper.cmu.edu/blog/?p=6995](http://mat.tepper.cmu.edu/blog/?p=6995)

with a nice example: sorting.

 _"Sorting a bunch of numbers! Hoo-wee, that's a hard one. If I had 1000 numbers, I would have to check all orderings of the numbers to find the sorted order. That is 1000_ 999 _998_ … _2_ 1 orders and that is more than the hairs on a Hobbit's toes." _

<comment><USER6> But sorting has a known O(N log N) algorithm. Nobody sorts by comparing all N! permutations and picking the correct one. (Well, I certainly don't.)

On the other hand, TSP almost certainly does not have any O(N^k) algorithm, for any fixed k. Sure, the difference between (say) N^200 and N! is huge, but an introductory article cannot explain every details.

Saying that TSP is as hard as N! is technically wrong, but it's much _less_ wrong than saying sorting is as hard as N!.

His posts read more like an advertisement for his research area (optimization) than actual complaint. Well, that's not a bad thing, but I feel the title is a bit clickbait-ish...

<comment><AUTHOR> _But sorting has a known O(N log N) algorithm. Nobody sorts by comparing all N! permutations and picking the correct one. (Well, I certainly don 't.)_

That is precisely the point of the blog post. Nobody compares all N! permutation for sorting, and nobody checks all N! tours when solving a TSP. The latter is less trivial because algorithms that solve the TSP are far more sophisticated than a sorting algorithm, but they still avoid enumerating a very large subset of solutions. They cannot be claimed to run in polynomial time for any instance, but they are still quite efficient.

 _Saying that TSP is as hard as N! is technically wrong, but it 's much less wrong than saying sorting is as hard as N!._

I disagree, both from a practical standpoint (in both cases there are orders of magnitude between N! and actual CPU time) and a more metaphysical one (neither algorithm explores the full set of solutions).

<comment><USER7> > _Nobody compares all N! permutation for sorting, and nobody checks all N! > tours when solving a TSP._

Doesn't this depend on what you mean by 'solve'? If you really want the single best solution, you're stuck with checking all N! solutions. If you want a solution which merely works pretty well almost all of the time, then you're right, there are many polynomial time solutions.

I wasn't able to read the Scientific American article that the author ranted against, but if it's discussing TSP from a mathematical standpoint, I wouldn't fault them for discussing the feasibility of checking all N! permutations... that's exactly how it was discussed to me in my introductory computation classes.

<comment><USER8> > _" you're stuck with checking all N! solutions"_

not quite -- once you have a solution that runs in time X, you no longer need to check any solution that has a sub-component that is known to take longer than time X. So, for example, if you find that going between locations A, C, J, F, P, E, and Q in that order takes longer than your current best whole-map solution, then you no longer have to check any solution of which ACJFPEQ is a subset. You can eliminate whole categories of solutions with a single check, instead of having to test each of them one-by-one.

<comment><USER9> So, memoization, a basic optimization technique.

<comment><USER10> Yes, the easiest example of optimization to give was a basic example. There are much better techniques too.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> If you are offended by a pop science magazine's over simplification of a topic that resides in a field you have some specialty understanding of, you clearly haven't been reading pop-sci magazines for very long. You have all the right in the world to be angry when this happens in a journal article, but you are reading American Scientist, not SODA.

<comment><USER12> Yep. Let's not forget the massive benefit of this - introducing new minds to hard concepts. It doesn't need to be feature perfect and up to date with the latest ideas, just enough to make it interesting to the readers.

</comment></comment><comment><USER13> Bill Cook, mentioned in this post, has written an excellent and entertaining book on the TSP that is accessible to non-experts: [http://www.amazon.com/Pursuit-Traveling-Salesman- Mathematics...](http://www.amazon.com/Pursuit-Traveling-Salesman-Mathematics- Computation/dp/0691152705)

If you're not interested in reading an entire book on the topic, Cook's webpage provides a summary and includes several examples: [http://www.math.uwaterloo.ca/tsp/](http://www.math.uwaterloo.ca/tsp/)

Finally, here's a simple version of the TSP showing route optimization in San Francisco using local businesses: [https://forio.com/app/showcase/route- optimizer/](https://forio.com/app/showcase/route-optimizer/)

<comment><USER14> Maybe American Scientist should have Bill Cook write a follow-up article for them to explain the current state of the art.

</comment></comment><comment><USER15> It's weird, I remember reading a very informative article about SAT from American Scientist when I was an undergrad:

[http://sjcomp.com/files/compsci9703.html](http://sjcomp.com/files/compsci9703.html)

I will have to reread it to see if it still makes sense.

</comment><comment><USER16> As an aside, an algorithm based on ant pheromones is a clever way to solve the traveling salesman problem.

[http://people.idsia.ch/~luca/acs-bio97.pdf](http://people.idsia.ch/~luca/acs- bio97.pdf)

<comment><AUTHOR> But ant colony algorithms are heuristics. The Concorde software by Cook and co., that is mentioned in the blog post, obtains an optimal solution.

<comment><USER17> Yes, but the ant colony algorithm is interesting... and kind of neat!

</comment></comment></comment><comment><USER18> I'm confused by this post. I was under the impression NP-complete problems could not be solved efficiently, but the author is saying that TSP, the most well known NP-complete problem, _can_ be solved practically. I read what he wrote but did not understand what he was saying. Why is TSP famously hard if it's actually tractable in practice?

<comment><USER14> I think it's more accurate to say that NP-complete problems have at least some cases that cannot be solved efficiently. That's not to say that the average case is hard -- in fact, most instances that you're likely to run across in the real world might be quite easy.

That's pretty much what the author is arguing here:

> Due to the tremendous amount of work that has been done on the Traveling > Salesman Problem, the TSP is one such problem. If you have an instance of > the TSP of practical interest (i.e. it makes a difference to your life if > you solve it or not, and it is really a TSP, not the result of some weird > set of set of reductions from some other problem), then I bet you the > Concorde program of Bill Cook and others will get you a provably optimal > solution in a reasonable amount of time.

The difference between problems that are hard in the average case, and those that are only hard in the worst case, is really important in cryptography. The knapsack cryptosystem is a good example of this: [https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsac...](https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsack_cryptosystem)

<comment><USER19> Exactly. A good example would be a set of co-linear points. Even for N=1,000,000 if all the points are at (n,0) on the plane then it's pretty trivial to find the solution.

</comment></comment></comment><comment><USER20> That Hilbert Curve solution is really handy to know about. If you were writing a game where the player competes with an AI at traveling salesman (Pacman without the ghosts race), a fast 75% optimal algorithm sounds perfect.

I think you can do the Hilbert Curve in n log n time by loading all the cities into a quad tree and traversing it in a Hilberty order. Is that the fastest way?

</comment><comment><USER21> This magazine (and its similarly-named rival) sometimes calls to mind Nelson Muntz's comment: "I can think of at least two things wrong with that title."

</comment><comment><USER22> I remember the same feeling, a long time ago. I would read the Dutch 'NRC' science page, and be annoyed that they really did not understand the Schrödinger cat problem. Of course, since then I strayed away from my physics career (entering IT with a PhD in physics), and now I can read those same science pages and think, wow they really know their stuff....

</comment><comment><USER23> Cixin Liu's The Dark Forest has the alien enemy ship solve the traveling salesman problem for a moderate n in real time as a way of demonstrating the aliens' superior level of science. That must upset the original poster almost as much...

</comment><comment><USER24> The Brian Hayes articles were always awesome - sadly he has gone.

<comment><USER25> I don't think he has gone: both his blog [0] and the American Scientist site [1] refer to him as a senior writer in the present tense, and he had an article about deep dreaming in the Nov-Dec 2015 issue [2]. His blog is interesting, and has posts more frequent than his magaine articles.

[0]: [http://bit-player.org/about-the-author](http://bit-player.org/about-the- author)

[1]: [https://www.americanscientist.org/authors/detail/brian- hayes](https://www.americanscientist.org/authors/detail/brian-hayes)

[2]: [https://www.americanscientist.org/issues/pub/2015/6/computer...](https://www.americanscientist.org/issues/pub/2015/6/computer- vision-and-computer-hallucinations)

</comment></comment><comment><USER26> How does one know one has an optimal solution for the travelling salesman problem?

Any experts out there that can explain this, or point to some accessible literature on this?

</comment><comment><USER27> Do they have to know about the Traveling Salesman Problem?

</comment><comment><USER28> "I will get my favorite spaghetti meal served on my birthday."

In an otherwise run-of-the-mill rant, this struck me as a truly weird, passive, and ungrammatical (to my ear) assertion. The lack of any agent makes me wonder if he's insisted on his parents and then various friends or significant others over the years to serve him this meal. Or does he hire someone to perform this task for him? The lack of the mention of "cooking" and the phrasing "spaghetti meal" make me envision dumping a cold can of Chef Boy- Ar-Dee spaghetti out in a bowl. Just an odd, unrelatable insistence. Weird.

<comment><USER29> I smell a startup. Uber for Spagettios.

</comment></comment><comment><USER30> Yes! One politic is found to be corrupt, all politicians must be corrupt! One businessman implemented a fraud, down with captalism! One autistic child took several vaccine before being diagnosed. VAccine are the culprit!

I see, read, and hear these kind of argument all the times and they sadden me. I'm sure Snake-oil salesman, con artist and populist politicans salivates when reading how easily people dismiss things so easily.

Is the American Scientist article entirely wrong? No. Is even just that sideboard entirely off-track? No. It's probably a case of vulgarization gone too far.

But hey, baby, water, bath, plumbing, out the window you go.

<comment><USER31> Hey, great job, you just took it to the other side of the spectrum!

But seriously, it's a question of evidence, in every case you mentioned. The null hypothesis being "nothing is wrong", which you seem to be pointing at. There are definitely cases where the null hypothesis is NOT true, and needs to be rejected. To muse about whether the evidence is enough is surely an appropriate practice, which seems to be what the author is doing.</comment></comment>


Heroku XL: Focusing on Large Scale Apps - <AUTHOR> https://blog.heroku.com/archives/2014/2/3/heroku-xl <comment><USER2> Looks like you get slightly less than 1/3 of a m3.2xlarge instance. Those have a base price of 90 cents an hour. Quite the tax to use heroku.

<comment><USER3> Well yes, but for some organisations -- namely those without inhouse ops expertise -- it makes sense. I've done some work for a non-profit that pays over $3K per month to Heroku and it's probably worth it given the cost and risk to migrate off.

One also pays quite a high tax to use, say, Ruby vs, well, just about any other language implementation except for Python and non-HHVM PHP (see for example [http://www.techempower.com/benchmarks/](http://www.techempower.com/benchmarks/)). Many would defend the use of Ruby as entirely justified on the grounds of productivity.

The point is, there are inefficiencies all over the place and most consider them not worth optimising out.

</comment></comment><comment><USER4> That's about $575/month for a Performance Dyno, in case you're lazy.</comment>


Did Mathematician John Nash Help Invent Bitcoin? - <AUTHOR> http://www.coindesk.com/did-john-nash-help-invent-bitcoin/

<comment><USER2> Newbie here. It would be interestering to know if Nick Szabo studied the Nash's papers.</comment>


Suppose We Have an Algorithm for an NPC Problem - <AUTHOR> http://www.solipsys.co.uk/new/SupposeWeHaveAnAlgorithmForAnNPCProblem.html?HN_20151111 <comment><AUTHOR> In part in response to:

[https://news.ycombinator.com/item?id=10517569](https://news.ycombinator.com/item?id=10517569)</comment>


OAuth Playground - <AUTHOR> https://grant-oauth.herokuapp.com/

<comment><USER2> Code: [https://github.com/simov/grant](https://github.com/simov/grant)

</comment><comment> dan-silver Can't get in, application error

</comment><comment><AUTHOR> Hi, this one was just to showcase my OAuth express middleware, which in turn uses a code from Mashape's guardian auth proxy.

Currently all of these OAuth flows requires human interaction, at least for the first time. I think the OAuth specs guys are working on a digital signature that will allow multiple provider sign on in future.

</comment><comment><USER3> I'm getting an application error.

</comment><comment><USER4> You got "HN hug of death".

</comment><comment><USER5> It's down now but here are some other oauth tools I use and built:

foauth.org

Token generator: [https://www.runscope.com/oauth_tool](https://www.runscope.com/oauth_tool)

</comment><comment><USER6> I would love to see this become the new Todo-list.

<comment><USER7> I'm not sure I get your reasoning... The todo list is usually an example for an application (though somewhat trivial) that exercises a given ui framework.

What I wouldn't mind seeing is this pushed out into a larger provider, so that you can have one user/profile in your application connected to one or more oauth and/or openid accounts. By default only asking for a real name (if available) and authenticated email address. Combined with an option for a username/password and optional 2fa key as an authentication method.

I think such a generic login system/screen would be far more useful to most people who are going to use an application that uses authentication from other systems. And allow for people that have more than one authentication.

As for the todo-list example, I was thinking of creating a relatively simple chatbox app with flux/react (yahoo/fluxible-app), including such authentication as a baseline. I feel that that would be a useful example for a lot of people.

The flip-side is I've been using koa lately over express (requiring node >= 0.11.x). Maybe a wrapper for express modules to koa results... in this case, thunkifying the module, and passing in the req/res should be enough, the callback (next) won't be called if handled internally. Though uncertain what this adds to req/res to mirror on the koa context.

</comment></comment><comment><USER8> Thanks! This would really save time to directly test notable api calls. Specially in a RAD environment

</comment><comment><USER9> oauth.io</comment>


Firefox 69.0 Released - <AUTHOR> https://www.mozilla.org/en-US/firefox/69.0/releasenotes/ <comment><USER2> > The Block Autoplay feature is enhanced to give users the option to block any > video that automatically starts playing, not just those that automatically > play with sound.

Good. I know a news website that was on purpose disabling sound on videos to prevent that. So not only does it autoplay, you need to click to unmute anyway to actually hear it!

Why do news websites want to shove autoplaying videos on people's throats so much, what's wrong with playing at any time when you want?

And why do news websites even care about doing shoving it to the small percentage of people who actually bother to disable autoplay in their browser?

P.S. I already had autoplay for videos without sound disabled through about:config flags, but some videos managed to autoplay anyway. I wonder if they also fixed that issue, or simply made the about:config flag part of the settings dialog.

<comment><USER3> Fantastic news for people, like me, who spend a lot of time with $10/GB hotspot data prices. I'd click a link to a 5KB news article only to find it streaming HD video of talking heads reading the article.

<comment><USER4> > 5KB news article

On what site do you find "5KB news articles"? Pretty much all news sites that I know of load a gigantic amount of useless and obnoxious JavaScript, CSS, images, etc. with or without video.

<comment><USER5> I created [https://legiblenews.com/](https://legiblenews.com/) because of this frustration ... and took it all the way to the level where loading a page is exactly 1 request.

The other frustration I've had with news websites is they don't link to source material, so it's impossible to dig into a topic and accidentally learn something.

<comment><USER6> I like it. However given your goal of delivering sane and lighweight news articles you might want to extend that mission to the selection of your sources and consider excluding some. For the Boris Johnson story you link to The Independent, which returns a 14 MB article (while autplaying is disabled in Firefox) and basically has become a collection of worst practices when it comes to user experience and web development. Surely there must be better sources for popular stories like these.

<comment><USER7> The data comes from [Wikipedia's Current Events portal][1], so the site's author isn't directly choosing those sources.

[1]: [https://en.m.wikipedia.org/wiki/Portal:Current_events](https://en.m.wikipedia.org/wiki/Portal:Current_events)

</comment></comment></comment></comment></comment></comment><comment><USER2> > For our users in the US or using the en-US browser, we are shipping a new > "New Tab" page experience that connects you to the best of Pocket's content.

With all due respect, if you have to call it an "experience" you know it's something nobody asked for :p

<comment><USER8> I like the Pocket recommendations ¯\\_(ツ)_/¯

<comment><USER9> I'd be fine if they limited it to just unpaid recommendations, but they include sponsored pocket stories in the new page tab too. It's inserting advertising into the web browser in a round-about way.

<comment><USER10> Good thing you can turn it off?

If you're not paying Mozilla for their browser, it seems weird to me to bitch and complain about ways Mozilla explores to generate some revenue without selling out their user's privacy. Especially when they make it very easy to opt out of the thing you don't like. Comments like yours are what makes me very nervous about the future for Mozilla. They are still entirely at the mercy of Google and their revenue sharing agreement for enabling Google as the default search engine. The day that ends, they are going to be in deep trouble if their user base is so hostile to any potential avenues they choose to explore to stay afloat.

<comment><USER11> where's the button that gives me the paid version, and is it just a donation or a version that gives me a better, ahem, experience?

<comment><USER12> You can make a donation, and turn off the feature. That means everyone who can't/doesn't want to make a donation can still have the same experience as you, and you can still support FF.

</comment></comment></comment></comment></comment></comment><comment><USER13> It didn't make it to the developer notes, but Firefox 69 should be the first one to ship with unhandledrejection event on by default[0] - I'm so looking forward to being able to catch promises and do proper error handling on them in Firefox without having to jump through hoops

[0] [https://developer.mozilla.org/en- US/docs/Web/API/Window/unha...](https://developer.mozilla.org/en- US/docs/Web/API/Window/unhandledrejection_event#Browser_compatibility)

<comment><USER14> > It didn't make it to the developer notes

I see it here:

[https://developer.mozilla.org/en- US/docs/Mozilla/Firefox/Rel...](https://developer.mozilla.org/en- US/docs/Mozilla/Firefox/Releases/69#JavaScript)

<comment><USER13> Oh yes, you're right. It obviously just didn't make into the release announcement

</comment></comment></comment><comment><USER15> _For our users in the US or using the en-US browser, we are shipping a new "New Tab" page experience that connects you to the best of Pocket's content._

Uhmmm...

<comment><USER16> It _really_ bugs me that pocket isn't packaged as a pre-installed extension, that you can uninstall normally.

<comment><USER17> But you can disable it quite easily:

about:config -> extensions.pocket.enabled: false

<comment><USER18> i would find it very surprising if more than 2 or 3% of firefox users have ever used about:config at all

</comment></comment></comment></comment><comment><USER19> > With the deprecation of Adobe Flash Player, there is no longer a need to > identify users on 32-bit version of the Firefox browser on 64-bit version > operating systems[, ]reducing user agent fingerprinting factors.

Good. User agents already contain too much.

That's actually the first time I've ever seen a browser actively _removing_ stuff from the User Agent.

<comment><USER20> I believe Safari stopped increasing the browser version in the user agent some time ago.

<comment><USER21> So what does it do now? Is it just an older version number or did they remove the number altogether.

</comment></comment></comment><comment><USER22> > Firefox no longer loads userChrome.css or userContent.css by default > improving start-up performance. Users who wish to customize Firefox by using > these files can set the toolkit.legacyUserProfileCustomizations.stylesheets > preference to true to restore this ability.

How much of a performance improvement does this make?

<comment><USER23> I use userChrome.css and userContent.css, and I get the nagging feeling that the silent end of that sentence is "...when we eventually replace the code that currently enables user customization with faster, less flexible APIs."

(I'm paranoid and FUDing because I care: there's some UX low hanging fruit before they could get rid of userChrome.css. For instance, you need userChrome.css to autohide the toolbar in full screen mode on macOS — that's not even a customization, it's a missing feature.)

<comment><USER24> I mean, how slow could an "if file_exists()" check have been? This smells like deprecation to me, if the user CSS doesn't exist, don't load anything. Boom, no slowdown.

<comment><USER25> The technical answer to the question you asked is "10-20ms, if you're not on an SSD". That's not great, actually, if you're trying to shave tens of milliseconds at a time off startup performance.

For what it's worth, this change happened because people were seeing the stat() call involved in startup profiles, taking sufficient time that it seemed worthwhile to avoid it if possible, as far as I can tell.

<comment><USER24> Are many users on HDDs these days? Weird that it would take this long, although I guess it's niche enough that you'd want to save those 20 ms for something used by a tiny fraction of users.

<comment><USER26> > Are many users on HDDs these days?

Yes, there are. They are not a niche cohort.

EDIT: In fact, we have many more users with magnetic HDDs than who use userChrome.css. That tells you everything you need to know about this decision right there.

</comment></comment></comment></comment></comment></comment><comment><USER27> > macOS users on dual-graphics-card machines (like MacBook Pro) will switch > back to the low-power GPU more aggressively, saving battery life.

macOS user base can now consider FF as a viable browser alternative.

<comment><USER28> There are more macOS battery life improvements coming in Firefox 70 in around six weeks: [https://news.ycombinator.com/item?id=20864255](https://news.ycombinator.com/item?id=20864255)

<comment><USER29> For some measurements: [https://bugzilla.mozilla.org/show_bug.cgi?id=1429522#c45](https://bugzilla.mozilla.org/show_bug.cgi?id=1429522#c45)

</comment></comment></comment><comment><USER30> Can someone clarify for me what "Enhanced Tracking Protection" covers? The text on Mozilla's pages is a bit fluff, I'm interested in the mechanics of it.

I've been out of ad-tech for about 5 years, but when I was working in that industry it was common to drop evil cookie pixels everywhere in the page and then do cookie-matching with them ("my cookie for this user is X, do we per- chance have a match with something you have?")

Will this effectively end that by preventing cookies from domains that aren't the domain of the site itself?

I hope so.

<comment><USER31> From here [1]:

For new users who install and download Firefox for the first time, Enhanced Tracking Protection will automatically be set on by default as part of the 'Standard' setting in the browser and will block known "third-party tracking cookies" according to the Disconnect list. We talk more about tracking cookies here. Enhanced Tracking Protection will be practically invisible to you and you'll only notice that it's operating when you visit a site and see a shield icon in the address bar next to the URL address and the small "i" icon. When you see the shield icon, you should feel safe that Firefox is blocking thousands of companies from your online activity.

A better source is probably the disconnect site [2]:

> Tracking is the collection of data regarding a particular user's activity > across multiple websites or applications that aren't owned by the data > collector, and the retention, use or sharing of that data.

> Our definition focuses on collection AND retention. So, for example, the > definition wouldn't apply to sites that log an IP address, but don't save > that information in a database. The definition also focuses on particular > users, so data that is immediately aggregated doesn't apply. And the > collection is across context, so it doesn't apply in cases when there is > solely a first-party relationship with the user, for example the site only > collects and retains information on site visitors.

[1]: [https://blog.mozilla.org/blog/2019/06/04/firefox-now- availab...](https://blog.mozilla.org/blog/2019/06/04/firefox-now-available- with-enhanced-tracking-protection-by-default/)

[2]: [https://disconnect.me/trackerprotection](https://disconnect.me/trackerprotection)

<comment><USER30> This isn't really explaining the "how" to me though.

The way I remember it is, as the page host I have a cookie on you. Then I drop in a 1-pixel image to a third party, and in the query string to it I write in a hashed form of the cookie I have for you. That HTTP request then itself can go through the cookie process, but for the third party. They then check their DB for both their own issued cookie and the value you passed in, and are then able to perform some asynchronous (batch or otherwise) match to associate the two IDs. From then on, an ad etc. can be targeted based on that info.

<comment><USER32> Yeah, it doesn't seem that merely blocking third party cookies can address a scenario like this, where the main site colludes with the third party tracking site.

To avoid this, it still seems like the best approach is to use an ad blocker add-on like uBlock Origin, which will block any content from known tracking domains from being loaded. That should get rid of the third party image.

There's also uMatrix (from the maker of uBlock Origin), which can selectively block images, scripts, etc. from third party sites.

</comment></comment></comment></comment><comment><USER33> I've been using the Firefox 69 beta since it came out, and with auto-playing audio and video set to blocked, some sites still somehow manage to auto-start muted videos. Is this a bug I should report, or is there some exception that websites are taking advantage of (like starting the video via an event handler like onscroll)?

<comment><USER34> maybe it should be blocked by default, then one can "whitelist" domain.

My fingers are itching to ban some sites... such as cnn.com, dailymailco.uk

<comment><USER35> dailymail.co.uk is already banned in my house for other reasons.

<comment><USER36> Why?

</comment></comment></comment></comment><comment><USER37> > _The Block Autoplay feature is enhanced to give users the option to block > any video that automatically starts playing, not just those that > automatically play with sound._

Does this also block GIFs from auto-playing? Blocking no-sound videos from auto-playing will keep GIFs alive for another decade.

<comment><USER38> not having a real alternative to GIFs will keep them alive for another decade. By real alternative I mean: behaves like an image, you drag'n'drop like an image, on your desktop shows the thumbnail of an image and when you open, doesn't open the video player, play just once and stops.

</comment></comment><comment><USER39> Enhanced Tracking Protection feature is enabled by default in this release.

</comment><comment><USER40> The font rendering on the mozilla website is absolutely horrific (Firefox 68/Windows 7): [https://i.imgur.com/JMpq9Xe.png](https://i.imgur.com/JMpq9Xe.png)

<comment><USER41> These settings (in about:config) makes font rendering look near identical to Chrome for me:

      gfx.font_rendering.cleartype_params.enhanced_contrast = 0
      gfx.font_rendering.cleartype_params.rendering_mode = 5
      gfx.font_rendering.cleartype_params.force_gdi_classic_for_families = ""

<comment><USER40> There has to be some reason why those are not the defaults though, right?

<comment><USER26> My understanding is that Chrome is the outlier when it comes to font rendering.

<comment><USER38> but still is what most people are used to... so in a sense, chrome is the default

</comment></comment></comment></comment></comment><comment><USER42> >Finder on macOS now displays download progress for files being downloaded

It's the little things that are making me go back to Firefox more-and-more

</comment><comment><USER43> Hope this release somehow magically fixes an ongoing issue in Windows 10 I've had with Firefox.

The gist of it is that Firefox, and only Firefox, will cause my Windows 10 system to completely hard freeze (no mouse movement, no response period) for about 30-60 seconds at a time, multiple times daily. It's so frustrating that it makes FF unusable for me.

It's odd because it seems to be a rare issue that has to do with it not letting go of a GPU handle/process/thread or something, from what I've been able to deduce from others having this issue that have posted bugs in the tracker. I've tried everything under the sun to fix it, but _no other program, period_ has this problem. I game, I use other browsers, I do all sorts of stuff on this PC with zero issues, but Firefox gives me these temporary hard- freezes. Ugh.

<comment><USER44> > only Firefox will cause my Windows 10 system to completely hard freeze

Whenever I experience this type of thing I can't help but speculate that issues like this are not serendipity at work.

I recollect reading an article years back from a Microsoft developer who spoke about how it was quite common for Windows code to take specific actions based on which app was running - ostensibly to 'improve the user experience'. Though, it's not hard to imagine MS using this for the opposite purpose. And, since their code is proprietary, who would know?

<comment><USER43> Seems somewhat unlikely in this instance, because apparently the issue I'm running into is pretty rare. There are millions of people using FF on W10 daily without any issues. Heck, _even I_ have other W10 machines where it doesn't happen.

</comment></comment></comment><comment><USER45> > For our users on Windows 10, you'll see performance and UI improvements:

> For our existing Windows 10 users, you can easily find and launch Firefox > from a shortcut on the Win10 taskbar.

???

As opposed to before?!

<comment><USER46> I suspect that is their way of telling us that the installer now adds a taskbar shortcut.

</comment></comment><comment><USER47> The good: ETP by default, battery life improvements, flash deprecation (finally!), about:debugging, event breakppints (finally! #2)

The bad: userChrome/userContent not being loaded by default, I don't understand why it would cause a delay at startup.

The ugly: More Pocket crap.

</comment><comment><USER48> Note, this version disables userChrome.css in new profiles. If you need it, enable it in about:config:

        toolkit.legacyUserProfileCustomizations.stylesheets = true

I spent some time wondering why it's not working. The key name is totally not obvious, especially since it doesn't have anything resembling userChrome in it.

</comment><comment><USER49> Just out of interest, how many people run the "release" version of Firefox?

I'm currently using Firefox Developer on the latest auroua update channel version ( 70.0b3 ).

I haven't really expereienced any problems and am only vaugely aware of new things from time to time. Actually mostly I'm not sure if I'm noticing something new or something that's existed for a long time. Like for instance the other day I put in an address in the address bar and it gave me a "switch to tab" option because I already had that open in a browser window, I swear that's new, but I'm not sure!

<comment><USER50> I have been using Firefox Developer for about 6 months, but after two incidents of week-long bugs that caused my browser to crash after a variable number of minutes, no matter what I had open, I've decided to swap back to the release version.

Yeah, you get a few cool features a bit early, but I just can't stand the instability anymore. Pluis, I'm not actually using any of the "Developer" features, so there's really no reason for me to not just run release.

</comment></comment><comment><USER51> > The network panel will now show blocked resources

Good! I remember losing quite some time before I realised something wasn't in the network tab because it never fired rather than failing to be triggered by the application code.

</comment><comment><USER52> The privacy aspect of Firefox is great. The containers also a great thing and help us to a great extend. Beyond the privacy aspects, I really wish if Firefox pays attention to little things that can make the life of a user a bit better.

\- The Firefox sign in process is considerably improved, with a link based sign in with email. The fact is that you will not be singed in to email on the first time usage. So you are behind a wall to start browsing and the cognitive load not to leave the tab before completing setup. This experience with Google Chrome is far far better, as it's one time setup using your Google Account . Even if you discount the google's ownership and single account sign in, there are considerable improvements to be made in the onboarding process

\- The Pocket integration is substandard to the Pocket extension.

\- The Top sites and highlights are too big for my aesthetics. It could be little cuter in the way it appears.

\- Moving a video to full screen makes your blank for a second and not a smooth transition as in Chrome or Safari

\- Lack of certain platform specific integrations such as Look Up on macOS to get the dictionary triggered by selected word. It works across all the other browsers well. On Firefox, I need to make a google search.

\- The tab bar is ugly and has lot of blank spaces

\- No default support for dark mode which works beautifully well on Chrome and Safari in a very early stage. More than a feature, the slowness in picking up platform specific features.

\- The containers concept is really great but not for most of the general users to make use of it. It's still a bit geeky in nature.

\- I've to go with standard privacy settings to make my sites work including google. Making the privacy settings strong doesn't help much and get signed out of the sessions very frequently. \- I use an app called Magnet on Mac to snap my windows easily by dragging to corners. The snapping works great on all browsers by dragging a tab to one of the corners. But Firefox just releases the tab once it's pulled out from the current window. We need to drag again this to the corners. More than a third-party workflow, it's about how these windows are defined and behaves in a standard way

<comment><USER53> > \- The containers concept is really great but not for most of the general > users to make use of it. It's still a bit geeky in nature.

This. Containers are quite complicated to reason about, require a fair amount of setup and do not sync. Not to mention the color pallete is bizarrely limited.

I use both Firefox and Chrome but use Chrome for work because Profiles are much easier to use. I just open another profile, which loads with a nice theme and a set of extensions (limiting my exposure to some extensions in other profiles).

Profiles are so simple and just work.

Firefox of course has profiles, but you cannot run two of them at the same time without using the command line (or creating shortcuts to launch multiple versions of the browser).

</comment></comment><comment><USER54> I have a bunch of Facebook domains in my hosts, but for some reason Firefox 69.0 gets DNS from somewhere else and goes right through. Weird. The other stuff in hosts resolves correctly.

<comment><USER55> It could be DNS over https, which Mozilla have been experimenting with.

[https://support.mozilla.org/en-US/kb/firefox-dns-over- https](https://support.mozilla.org/en-US/kb/firefox-dns-over-https)

<comment><USER54> It wasn't on by default, but yeah, once I turned it on, it entirely bypassed hosts for everything, not just Facebook owned domains.

</comment></comment></comment><comment> mkr-hn A nice feature that should be standard:

>> _" The Block Autoplay feature is enhanced to give users the option to block any video that automatically starts playing, not just those that automatically play with sound."_

One time I hit a site with a huge anti-ad block message at the top that said I couldn't watch the video until I disabled my adblocker. But...I came for an article. The article wasn't obstructed. I assume the video was auto-playing. I decided to go back and try another result.

</comment><comment><USER56> Honestly the big one for me is being able to finally debug async code, which Chrome has been able to do for a long time, and FF simply couldn't. As someone who uses FF as main browser, not being able to use to for modern code and being forced into using a different browser for proper debugging has been quite frustrating.

</comment><comment><USER57> Thank you Mozillians!

</comment><comment><USER58> seems it works much faster on sway + wayland + 4k display, but still slower than with XWayland

</comment><comment><USER59> Still no mention of hardware-accelerated video on Linux. Can't consider Firefox until this is implemented, but it works on Chromium in multiple distros. Seems like Chromium folks are more apt to actually prioritize Linux over Mozilla.

<comment><USER60> Eh it works in Chromium with patches that Google won't upstream because there are a lot of configs it doesn't work on.

The biggest blocker for it in Firefox seems to be webrender landing in stable.

[https://bugzilla.mozilla.org/show_bug.cgi?id=1210726](https://bugzilla.mozilla.org/show_bug.cgi?id=1210726)

</comment></comment><comment><USER61> Nice.

</comment><comment><USER62> How do you block cryptominers?

<comment><USER63> Install uBlock Origin and activate its "resource abuse" lists?

</comment></comment><comment><USER64> Nice

</comment><comment><USER65> nice

</comment><comment><USER66> nice

</comment><comment><USER67> No way dude

</comment><comment><USER68> Is rss still too hard for Firefox?

</comment><comment><USER69> ANY news on the fact that FF makes my Mac sound like it's gonna take off?? I honestly can't understand how an issue so prevalent gets ignored for so long by them.

For those doubting, do a simple Google with "firefox cpu".

<comment><USER70> Not happening with mine.

</comment></comment><comment><USER71> Wait, Firefox Monitor? As in "allow us to store your email and password in case your email and password are pwned in some other site"? Does anyone else think this is prone to disaster, eventually?

<comment><USER72> It utilises K-anonymity, making it difficult if not impossible for this to become a massive data leak.

The email gets hashed on your device, and the start of that hash is sent off to the server. The server returns a list of all the hashes that might match. The client then checks that list for complete matches.

<comment><USER73> Sounds fairly reasonable. I was already getting afraid of my private email addresses being leaked via this check.</comment></comment></comment>


How to fix flying - <AUTHOR> http://www.popularmechanics.com/flight/a20085/how-to-fix-flying/ <comment><USER2> There's always room for improvement, but even the first incident outlined in the article shows how far we've come and how safe air travel is.

\- The 777's TCAS alerted them to the problem and recommended an evasive action, which they took

\- The Controller, despite not having followed his normal procedure prior to issuing the takeoff clearance, noticed his mistake around the same time the TCAS went off in the 777 and ordered evasive action to the Cessna

\- The FAA's reporting system allowed the pilot to report the incident which was followed up on with an official investigation after which several actions were taken, including training, QA reviews in the SFO tower, establishing a panel to review the SFO transition corridor, etc.

The road to flight safety is unfortunately paved with tragedy but that's the case with anything transportation-related.

The author's proposal to break ATC away from the FAA doesn't do much to fix the problem that caused the highlighted incident (human error). Although a better-funded ATC system might have more technical controls in place, when you're dealing with one of the busiest airspaces in the world issues like this are going to occur. A better solution might be to ban non-commercial traffic from certain Class B airspaces - not that I'm in favor of that.

<comment><USER3> > The Controller ... ordered evasive action to the Cessna

From the tape it looks like the controller asked Cessna to 'maintain visual separation', which is a standard procedure for VFR and not an 'evasive action'.

<comment><USER2> You're right. He was told to 'pass behind that aircraft.' and since the report stated that the 777 saw the Cessna turning to avoid I sort of conflated the two things in my mind.

</comment></comment></comment><comment><USER4> HN'ers might appreciate learning the FAA has a developer-friendly program called SWIM [0] to help facilitate getting realtime FAA data (flight plans, weather data, etc) in to the hands of coders. I recently attended the SWIM Developer Workshop at the Volpe Center (near MIT) and really enjoyed it.

There's quite a bit to the SWIM program. The onboarding can be a bit tricky though and you have to know your way around site-to-site VPNs. I recently completed the onboarding process and am receiving live flight plan data -- proposed flights, en route, completed etc.

Would be curious to know if there are others on HN that are working with SWIM data or if there are companies that are hiring in this space.

[0] [http://www.faa.gov/nextgen/programs/swim/](http://www.faa.gov/nextgen/programs/swim/)

<comment><USER5> I'd be interested in hearing your thoughts on the differences between using SWIM vs a commercial product like FlightAware. From my cursory glance at SWIM, it seems like it's probably better for getting flight plans and weather info, but FlightAware may be more useful for getting in-flight status. Does that seem consistent with your experience?

<comment><USER6> Not a SWIM developer, but it looks like SWIM is the way to get a data feed to allow you build a flightaware workalike.

<comment><USER5> Makes sense. I know FlightAware operates their own network of ADS-B receivers, which augments the FAA data. I should look into whether or not that changes things, but I imagine the SWIM data feed doesn't have many holes.

</comment></comment></comment></comment><comment><USER7> Dependence on GPS isn't a panacea. GPS does fail and can be interfered with. There's talk of bringing back LORAN in case that happens.[1] The FAA is decommissioning about 25% of the VOR stations, which are usually at airports. (The big acre-sized circular antenna farm west of 101 just north of SJC is a VOR.) It's good to have several completely independent systems.

[1] [http://www.gps.gov/policy/legislation/loran-c/](http://www.gps.gov/policy/legislation/loran-c/) [2] [http://download.aopa.org/advocacy/151123_VORs_Approved_for_D...](http://download.aopa.org/advocacy/151123_VORs_Approved_for_Discontinuance.pdf)

</comment><comment><USER6> >Instead of the government paying for air traffic control (currently funding comes via an excise tax on fuel and airline tickets), flyers would pay for it directly. A portion of every gallon of fuel or ticket sold would pay for the national airspace and air traffic control system. If air traffic control were self-funded, then the use tax could be lifted and ATC could get immediate access to cash without having to appeal to Congress.

I don't get it. There is already a fuel tax and a tax on tickets (as the article reports). That's how flyers pay for it directly now. I don't see how that's different from a portion of every gallon and ticket sold. That's literally what it is today (and what the article is reporting).

What am I missing?

</comment><comment><USER8> Being very bad and ATC sim games, my excuse was that real ATC's use a lot more tech than a keyboard and map of airplanes. Now I stand corrected.

</comment><comment><USER9> I can comment that there's been times when I've been on flight following and switching to a new ATC controller causes problems. I've been asked to drop to under class Bravo airspace midway through a transit. I've been ping-ponged to different people because the new guy has too much workload. I've also had to play the radio hunt game when the given frequency to report to was currently not being used.

</comment><comment><USER10> This seems oddly filled with misinformation: flight paths aren't locked into flying over radar stations.

And what exactly are we trying to fix? The sky is big, it's not like we have a lack of flight space over the centre of the country... None of the suggestions seems to imply any big efficiency or safety gain.

<comment><USER11> it's not like we have a lack of flight space over the centre of the country - Certainly not. It's near the major airports where things get crowded.

<comment><USER10> But none of the suggestions would increase the density of aircraft around major airports. They're already operating at runway capacity during peak times.

<comment><USER12> They would increase the ability of the controllers to deal with that density. Or more precisely, they would offload it to software.

As described, there is a lot of tedium, inaccuracy, and potential for human error in the ATC system. They're passing strips of paper back and forth, and making sure that no two strips put two planes in the same spot, and relaying the information over verbal radio commands.

It's begging to be automated.

<comment><USER13> Yep, and the FAA is working on automating and improving all the time. Being tied up by funding seems to be the main issue. I'm a developer working on flight data input/output, and it amazes me how old so much of the tech we use is. It's not that we are unwilling or unable to upgrade, it's a lack of resources. I get to listen to managers talking about how they are finagling multiple funding sources just to try getting 'simple' things like ethernet equipment into the towers so we can get off of serial interfaces, and which group is responsible for what and how much.

I know very little about the financial end of things, or what would or would not solve the problem, but it does seem like a saner funding system would go a long way. Most people I've spoken to here seem skeptical at best about suggestions of breaking us off from the FAA.

</comment></comment></comment></comment></comment><comment><USER14> [https://www.reddit.com/r/aviation/comments/4tr3r1/out_of_air...](https://www.reddit.com/r/aviation/comments/4tr3r1/out_of_air_traffic_control_how_to_fix_americas/d5jmjh8)

</comment><comment><USER15> Surprised nobody mentioned TSA pre-check. Giving any money to TSA sounds like a bad idea to me.

<comment><USER6> I gave my (company's) $50 to get Nexus (which includes GE and TSA-Pre). If a tiny slice of that makes it's way to TSA, it's still massively worth it to me.

I can land and Logan from an international flight and be in a cab headed home in 10 minutes from the gate. On the way in, I can pretty reliably plan for 15 minutes from the cab to my gate. I don't actually cut it that close intentionally, but it's a massive win compared to the cattle lines.

For the $50 I paid to be interviewed by 2 US CBP agents and 1 Canadian border agent, I don't think they're making a profit on the Nexus program that I need to worry about my largess funding the establishment.

</comment></comment><comment><USER16> That header animation is amazing :)

</comment><comment><USER17> :(

s/sabateur/saboteur/g

</comment><comment><USER18> It's pretty inefficient. Consider the communications are AM based, line of sight, and a single frequency can't stand two transmissions at once, or the transmission as a whole is garbled. But that's how directives are given and acknowledged between ATC and pilot.

<comment><USER19> Those are all features. Line of sight means don't propagate forever. Stepping on somebody else is evident to everybody of a lost transmission.

The only real complaints about radio transmissions are that better training is needed, and there's limited number of conversations per hour possible, sometimes being a limiting factor on landings.</comment></comment>


What Glee Means for Twitter & Television - <AUTHOR> http://www.readwriteweb.com/archives/what_glee_means_for_twitter_television.php?sms_ss=hackernews&at_xt=4d3771c2cf24edc4%2C0 <comment><USER2> Some of my friends watch old Doctor Who stories off DVD with a synchronised start time and tweet about it as the action unfolds.</comment>