Vue 3 is now in RC - <AUTHOR> https://github.com/vuejs/rfcs/issues/189 <comment><USER2> I've been using Vue since late 2014 and I'm a huge fan of how it's evolved. My day job is pretty much as a full time Vue consultant at this point, so I owe a lot to the project as a whole.

I think the Vue team are a really great example of how to maintain a widely adopted open source project whilst keeping almost the entire user base happy. Steady improvements with a focus on backwards compatibility, easy migration between versions and a lot of consulting with the community. The new composition API had a little backlash when it was proposed, but it seemed like the benefits were well communicated and the community came round. Personally I love all the changes in version 3 so far.

I'm hoping the new composition API will make adopting Vue an even easier choice for larger projects, I think the benefits are obvious. I admit I do have a slightly vested interest in increased adoption though.

Congrats to the Vue team on getting this to RC stage!

<comment><USER3> Are you working as a solo consultant? How do you find your clients?

<comment><USER2> Yes. It's a split really. I was lucky enough that when I quit my job to go solo, some clients I'd worked with previously got in touch directly after my non-compete clause expired. Other work I've found through friends. I also do some contracting if I see a something come up online that's Vue specific. I live relatively frugally so I can usually afford to be picky with the contracts I go for.

</comment></comment></comment><comment><USER4> > Where should I start in a migration?

> Start by running the migration helper on a current project. We've carefully > minified and compressed a senior Vue dev into a simple command line > interface. Whenever they recognize an obsolete feature, they'll let you > know, offer suggestions, and provide links to more info.

Vue's docs are a masterclass in docs-writing, imho. Clear. Concise. Empathetic. Written for humans.

</comment><comment><USER5> Although this may be controversial, the composition API feels very derivative of React hooks. I liked having Vue around as an alternative to React, and the declarative and predictable structure of components felt like the main selling point to me.

With this new API, my first impression is "just use React at this point". I'm having serious trouble understanding why they'd make this change. Of course I may be biased working in React day to day, but... bleh, Vue used to be unique.

<comment><USER6> It _is_ derivative of React hooks... but that's not a bad thing at all. (And to be clear, I'm deeply involved in the React community myself).

Tools and libraries are always influenced by what's going on in the ecosystem. New features and concepts in Tool A inspire something else in Tool B, etc.

The React team came up with something reasonably novel with the hooks API (but with its own set of prior art [0]). There are several aspects to hooks that folks have expressed concerns about, but overall adoption has been positive and rapid.

The Vue team looked at React hooks, saw something that seemed like it could be useful for Vue's API, but came up with their own spin on the idea that makes them better fit the Vue use cases and design philosophy.

I don't see any of this as a problem - sharing ideas and improving DX is a _good_ thing.

[0] [https://reactjs.org/docs/hooks-faq.html#what-is-the-prior- ar...](https://reactjs.org/docs/hooks-faq.html#what-is-the-prior-art-for- hooks)

</comment></comment><comment><USER7> My main problem with Vue 3 was succinctly summarized in the RFC:

"More Flexibility Requires More Discipline

Many users have pointed out that while the Composition API provides more flexibility in code organization, it also requires more discipline from the developer to "do it right". Some worry that the API will lead to spaghetti code in inexperienced hands. In other words, while the Composition API raises the upper bound of code quality, it also lowers the lower bound. We agree with that to a certain extent."

Vue 3 has committed several cardinal sins of software projects:

1) Splitting the API, allowing several different ways of doing the same thing. Call it "basic" and "advanced". Every developer thinks they're smart enough to use the advanced method, and egocentric devs will shame others to do it that way because it's "better" (this is already happening). This is a community killer.

2) Most _orgs_ don't have the discipline required to keep code from turning into a mess if a library or API will let them. Time constraints, miscommunications, refactoring gone wrong, and general ignorance or outright stupidity always rears their ugly heads. If Vue 3 was a gun, it'd be a shotgun fired at your foot in an enclosed space.

3) Fad chasing. Emulating React hooks was a premature decision. Hooks are a hack (and it _is_ a hack, without any question) to help some of React's more painful points. It's not a general solution. Trying to emulate that function- first way of doing things (fighting against JavaScript to do it) isn't something Vue needed to do, and just makes Vue seem like a React-clone instead of a project in its own right.

</comment><comment><USER8> If you can point to one specific thing you are most interested in, or happy to check out, from vue 3, what would it be? And what's the closest another framework (or vanilla js) has to said feature?

<comment><USER9> The new Composition API for components is a simpler, more imperative, low- level way of defining components compared to the older Options API that required exporting an object with fields like 'data', 'computed', or 'watch'.

I personally prefer the older API since its more declarative, but I can see how the new API can help to keep reactivity logic in a single function, rather than across computed properties, watchers, etc. (not to mention the annoyance of having to remember what type each property should export -- function returning object? raw object? object with function fields?).

</comment></comment><comment><USER10> So, I haven't done front-end work since jQuery was the thing back in ~2007-2011, but I have a new web project coming up. I already know I need to learn all the fancy new JS syntax. I also don't have/use npm ([https://medium.com/@mattholt/its-2019-and-i-still-make- websi...](https://medium.com/@mattholt/its-2019-and-i-still-make-websites- with-my-bare-hands-73d4eec6b7)).

Should I learn Vue?

(Edit: Thanks for the reply -- to clarify, I'll be working on a web app.)

<comment><USER11> Depends on the project. I'd recommend it for an app, as opposed to a website, or a large site, like a custom blog meant for multiple authors or a custom wiki.

I use it professionally and due to my involvement with a Javascript meetup, I'm regularly exposed to Angular and React examples and I'm shocked at how convoluted they can be.

<comment><USER3> I have a frontend project coming up myself. I'm investigating which new platform to use, Vue or React. I'm not sure about Angular.

How do you rate each platform's ability to get someone up to speed?

<comment><USER11> If it's something that has quite a bit of complexity, then Vue and React will be close, though once you incorporate React's router and state management I think Vue wins soundly. Angular is a distant third.

In addition to having better 1st party coherence, Vue has fewer footguns than React.

However it's a different paradigm than HTML/PHP templates with some Jquery click handlers thrown in.

<comment><USER12> Angular team member here. I'm curious what's the source of your data that Angular is a distant third?

I understand there are a lot of data points to consider. In terms of usage, based on our metrics this is incorrect, but of course, that highly depends on your dataset that's why I'm curious.

<comment><USER11> Not a distant third in terms of usage, but how simple it is to use. I'd think Vue is probably the distant third in how much it's used, but it's impossible to truly know these things.

As for my judgement of modern Angular as complex, there's a few things I'd like to point out:

\- separation of CSS, JS, and templating into separate files. This makes it harder for the mind to keep everything in place rather than just scrolling

\- defining routes in a global file but also in modules.

\- providers, services, modules, etc

To be fair, Angular is so much more than React and Vue, which just parse templates and add some features. I feel like I'm not spouting a hot take, I feel like it's earned. If Angular wants to seem more approachable, the team has a way to go.

</comment></comment></comment></comment></comment></comment><comment><USER3> At what point does Vue start to break down?

Either because of logistical limitations, or programming limitations, or throughput limitations, or user load limitations, or even if the program you want to build is beyond what Vue was designed for.

Say, if I want to build a large website like a Salesforce web application, or a warehouse fulfillment and inventory management system, or something of this nature. Where it has a lot of web pages, and different processes to handle different calculations, and what not. And it ties into some back end database of course.

Can Vue handle such a level of complexity? Or is Vue better suited to handling smaller sized apps, with smaller quantities of users?

<comment><USER13> There's lots of ways to configure the project but you can setup lazy loading routes, components, and stores so that your user only has loaded what they need. Typescript support is OK, there's some helper libraries that make it better. All of those things make scaling just fine.

</comment></comment><comment><USER14> What kind of performance benefit can we look forward to if we keep a Vue 2.5 codebase as-is when we upgrade?

</comment><comment><USER15> Is nuxt.js planning to upgrade to Vue 3 soon?

</comment><comment><USER16> Anyone care to share thoughts on Vue 3 vs. React (especially given how GPT-3 seems capable of producing code with React)?

<comment><USER17> What is this GPT-3 all about?

<comment><USER18> [https://twitter.com/i/status/1282676454690451457](https://twitter.com/i/status/1282676454690451457)

<comment><USER17> I saw this, but what is the background?

<comment><USER18> GPT-3 is some new neural net or something like that from OpenAI that you can "train" a little. Someone trained it with examples of text descriptions -> react code and then was able to make more complex apps with it. That's about all I know though, not sure why GP cares about it in the context of React vs Vue

<comment><USER17> Ah, I see.

Thanks :)

</comment></comment></comment></comment></comment></comment><comment><USER3> What are some pros and cons between Vue and React?

Do you folks use Vue with npm?</comment>


VLC for Android - <AUTHOR> http://cvpcs.org/blog/2011-09-18/videolan_for_android_pre-alpha <comment><USER2> No.

This is an alpha version that crashes all the time... Not the final version. If you try it, you'll see why ;)

</comment><comment><USER3> Incidentally, I chanced upon another source of VLC builds <http://vlc- builder.neo-ns.net/vlc-android/>

</comment><comment><USER4> didn't work so well for me but, but still looking forward to watching the progress. I use V-player advanced. Best player I have come across.

<comment><USER5> MX Video Player has done very well for me before. It would be lovely to have an open source player, though.

</comment></comment><comment><USER6> Please keep the Second-System Effect in mind!

</comment><comment><USER7> Works well on my transformer.</comment>


Why the CIA is smearing Edward Snowden after the Paris attacks - <AUTHOR> http://www.latimes.com/opinion/op-ed/la-oe-1126-greenwald-snowden-paris-encryption-20151126-story.html <comment><USER2> I strongly suspect that the main reason for trying to blame Mr. Snowden is to distract from the complete and utter failure of intelligence agencies to prevent the attack (and other attacks before, of course).

The one remotely plausible reason given for the monstrous surveillance apparatus is prevention of terrorist attacks, and once the public starts noticing how that does not really work, we might start having a debate on what we can _really_ do to prevent such attacks, like, oh, maybe trying to understand the root causes that drive people to blow themselves up.

</comment><comment><USER3> I don't think paris has anything to do with encryption or Edward Snowdon. Perhaps the former CIA director should look closer to home : [http://trisis.co.uk/blog/?p=2083](http://trisis.co.uk/blog/?p=2083)</comment>


Global Warming's Terrifying New Math - <AUTHOR> http://www.rollingstone.com/politics/news/global-warmings-terrifying-new-math-20120719

<comment><USER2> The headline is a bit sensational, for such a thorough article. Now, just waiting for an article that summarizes the other side of the debate.

<comment><USER3> There is no debate and there is no "other side". Facts are facts. Global warming is a crisis of global proportions, one which will have an enormous impact on all life forms. Personally, I fear we have reached the tipping point where any actions we take to mitigate the disaster will be inadequate. I am personally offended by the misrepresentations in the news which try to gloss over the problem. Worse, we have no effective way for dealing with problems of global magnitude.

</comment></comment><comment><USER4> It's refreshing to finally see Rolling Stone taking an interest in climate science.

<comment><USER5> I actually came here to question if we want our climate science from the rolling stones.

After reading the article it seemed both extensive and broken down well for a large audience that may not be the original target for publications in this field.

</comment></comment><comment><USER6> There is a classic geek reaction to such things that goes like:

"There is nothing to fear because tech can't be bad / more tech will get us out of this mess / it's always been that way so no way it's man made / etc".

Particular among Ayn-Randish/Ray Kurzweil/Free Market/ types...

<comment><USER7> I would argue that only tech can get us out of this. According to the article, given the damage we have done up to this point, we are going to gain another 0.8C, putting us up to 1.6C above where we should be. Seeing as we are already observing real environmental damage, that should not be a satisfactory solution.

Any satisfactory solution would need to include some form of active cooling. These solutions are quite with are abilities. For example, prior to modern pollution regulations, we were actually cooling the planet because are pollutants reflected more heat than they trapped.

An event that I actually have figures for is 9-11. During the no-fly period following the attack, we saw a 1.8C increase in mean temperature in the USA (mean temperature tends to be consistent). Unfourtuantly, these cooling methods are short-lived and associated with long-lasting carbon, but they were accidental. I don't see any reason to believe we can not technology to actively cool the planet.</comment></comment>


Ask HN: Anyone making 200k as a software engineer outside the US? - <AUTHOR> Best salaries I have seen in Switzerland/London are around 140K CHF or £120k as permanent or 650-700 per day as contractor. That is around 155k USD permie and roughly the same considering 10 months employment as contractor. This is a quite rare and top salary in both market but seems a fairly common salary in Bay Area/NYC. Never seen anything above that here in Europe.
Also the big bonus/shares culture is not as prevalent in Europe.
Anyone here making more than that or knows anyone that does? <comment><USER2> Earning around 75000 usd/year as a software dev in Denmark. Very relaxed work, fun days, flexible time, no education, paid house and car in cash, never loaned, still got more money into my account each month than I know what to do with, it just accumulates, live a very comfortable life, never looks at prices when shopping, never in need of anything. Profoundly confused why one would focus on obtaining such excessive salary.

<comment><USER3> It gives you the freedom to do what you want. If you had unlimited amounts of money, would you still work at your current job, or would you do something else?

<comment><USER2> Earning 200k vs 75k won't give me any measurable increase in freedom to do what I want. Earning 2M for a while might. Earning 200M once would definitely.

Freedom to do what you want does not increase linearly with income.

For example, one step is "Not affording any car" Now, affording any car allows way more freedom than not affording any car. A used, but good condition car can be a major improvement from a less reliable car, but it's not as major an improvement than car vs no car, but it comes with only a slight increase in income. A brand new car presents even less relative improvement from a good- condition used car, but requires a significant increase in income. A brand new exotic sports car is at the other end of the spectrum from "any car at all", an order of magnitude higher price for no practical value at all, but some increase in some kind of personal fulfillment or measure of success. Diminishing returns indeed. This applies to homes, goods, leisure activities.

So, unless you can get to the point of being "fuck you" rich, salary does not really matter.

It's not like 200k would grant me significantly more leisure time, probably quite the opposite, I'd be expected to work more and harder, for what? being able to buy the luxury car instead of just a normal car? Nah.

<comment><USER4> 200K will allow you to work almost 3X less in the long run

</comment></comment></comment></comment><comment><USER5> As contractor you should be easily reach 900 -1000chf a day, especially in Zürich area. 650-700 a day is more or less what you can get in Paris but in euro without too much a problem.

Moreover, I have seen eastern Europe nearshore at these rates. I believe that outside of finance and middle management you'll have a hard time to breach 150kCHF.

Myself, I don't have much skills, basically no degree, French side of Switzerland in an easy going consultancy firm and earning 120k I think I could get 130 but not much more than this without freelancing...

As long as I can see myself sitting on the bench 2-3months without being fired, I don't see a point ot leave.

<comment><USER6> 700€ in Paris as a contractor is possible, but it's equivalent to about 400€ as an employee..

</comment></comment><comment><USER7> Come to Shenzhen, you will see, salaries like Tencent, alibaba, can offer are much higher than SV, in the conditions of you should be expertise in some technical area, and good background, like google, facebook, etc working experience. what they offer can be at least double companies, like google, facebook, can offer in the same technical level.

<comment><USER8> You're also working twice the hours, no thanks. 996? No one is actually productive when you're working for that long.

<comment><USER9> This is unfortunately a common phenomenon where people from countries in the west see negative press about another country and assume its a universal issue. Often thats not true - companies like Alibaba, Tencent, and many others are willing to bend over backwards to get the best talent.

There's a lot of other companies that want their employees to work overtime, but thats probably true in a lot of countries - probably even in the US.

I wish there was some way of balancing the news coming out of countries - without resorting to censorship. It would remove a lot of prejudice,

<comment><USER10> Jack Ma of Alibaba endorsed 996 - [https://www.google.com/amp/s/amp.cnn.com/cnn/2019/04/15/busi...](https://www.google.com/amp/s/amp.cnn.com/cnn/2019/04/15/business/jack- ma-996-china/index.html).

<comment><USER9> "If we find things we like, 996 is not a problem," Ma said in a blog post Sunday on Chinese social media site Weibo. "If you don't like [your work], every minute is torture," he added.

I agree with this sentiment, I happen to work 996 on my own stuff mainly because I love it. I know a lot of people who have jobs and pour themselves into it because they love what they do as well.

I'd say its only an issue once you are being punished for not working 996.

<comment><USER10> You missed the other part.

"I personally think that 996 is a huge blessing," he said. "How do you achieve the success you want without paying extra effort and time?"

<comment><USER9> I'm not necessarily disagreeing with the point you're trying to make regarding how Jack Ma might be part of the problem.

But its not really a "China" problem. There's a lot of startups and mature companies in the US that have similarly aggressive personalities at the helm who demand a lot from their employees.

My main point was the notion that people are assuming that its universal in China, when its not always true (whether its more prevalent than in the US or not - i dont know).

The only reason I'm even making this point was because how grandparent to my comment made a simple comment about how companies in Shenzen pay a lot, and the response to that was a blanket "but 996" when that might not be true.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Why does it matter though? The absolute number without taking cost-of-living into account doesn't really mean anything.

<comment><USER12> Once you include "luxury" consumption countries with "low" COL stop being low COL. For example cars, iphones, laptops are way more expensive in Eastern Europe than US.

<comment><USER13> In Eastern Europe a 2018 car that costs around 30k euroes which is a Passat/Superb goes for about 400$ a month. If you're only pulling in 100k, that won't hit you hard at all.

1-1,5k for high end apartment's rent (which is waaaay too much anyway), 400 for the car and 1k for other necessities.

If taxes were 33%, you'd be left with 66k.

66k - 12x(1.5k+400+1k+100) = 30k. That's still a lot more money left than if the person was in NYC without a lease/finance and with rent that's twice as much.

</comment></comment></comment><comment><USER14> In Zurich you can make 800 CHF - 1000 CHF per day as a contractor.

Senior full time employees usually earn 120-130k CHF. Taxes are lower than anywhere in the US on top of this.

Ping me at email@example.com if you want to work in Switzerland and hold a EU-28 citizenship. (Otherwise work visa is impossible.) I run a local recruitment consultancy.

</comment><comment><USER15> Google Zurich was handing out higher offers than head office until at least a few years ago and maybe still does.

<comment><USER16> Only if you don't count stock.

<comment><USER15> hm i thought they had stock too. Either way it should be well in excess of 100k even for jr roles and 200k for experienced and also with one of the lowest tax in the developed world.

<comment><USER16> They have stock, but you typically get more in MTV.

</comment></comment></comment></comment><comment><USER17> It seems many European companies are still stuck in the traditional line- management model where development is considered the executionary role of ideas thought up by people with no engineering background.

This is further strengthened by our educational system which promises "sexy jobs" in the tech sector that don't require a technical background.

We also don't have places like hacker news which has a friendly healthy unionizing effect.

I believe this is the primary cause we're not seeing such high salaries in Europe. I think it's also the reason we're not seeing as much innovation happening in Europe.

</comment><comment><USER18> I have colleagues that work in the UK office of my US headquartered employer that are making £200k+ ($260k+) having worked there for ~10 years.

</comment><comment><USER8> My Dad makes more than that in Australia. He is a software scientist though, he makes prototype physics simulation software. I think he's underpaid when considering the amount of value he creates (in 5 months made a better version of one simulation technology than a team of about a dozen working in it for 3-4 yesterday) but then again my dad doesn't care much for money. He likes working on interesting problems.

<comment><USER19> It's worth noting that AUD$1 = USD$0.71, and that the cost of living here is substantially higher than most of the US (though the Valley is probably much more even-run). Having said that, AUD$200k is certainly not unheard of as you get on in experience.

I agree that if you were a specialist consultant and found an exploitable niche, you could pull USD$200k equivalent here.

<comment><USER20> I make 165kAUD+ super, typical web dev full stack role. This is high for Sydney but some companies here are smart enough to throw an extra 30k into the offer to make sure they build a good team. To get to this from 100k a few years ago I just realised you increase your standard and wait longer to get a job.

OTOH this salary doesn't go far in terms of lifestyle in Sydney. It is expensive, it's probably enough to live off but I'm not sticking half my salary into the stock market like you American developer like to do.

200k US in Sydney means either get great at kernel level code or multithreaded c++ and help the poker players make more money from the stock market. Or forget technical and become a senior scrum master or project manager for CBA. I think rural doctors and phsyciatrists rake it in, and geologists during the next mining boom. Install air conditioning is another way or any kind of trade where the labour component can be marked up extortionately and where some "tax planning" can be utilised.

</comment></comment></comment><comment><USER21> In Montreal, we have a large contracting scene for banking and near-shore consulting in general. For a contractor with ~10 years of experience, it's pretty common to see 175k as a contract worker, with contracts renewed yearly (if you decide not to move somewhere else).

In the last 5 years SV companies have started to open offices in Montreal (google has been here for a while, fb came semi recently), and that sweet sweet USD + venture funding gives them a real edge in what they can pay people. FTEs with a US base can make 150k+ which is quite a jump above Canada based firms. From what I've seen those tend to be around 100k for someone with ~10 years experience, and anything higher is considered quite good.

<comment><USER22> This hasn't really been my experience dealing with SV companies in Montreal.. They adjust the salary based on COL so your chances of making a USD equivalent is fairly low

</comment></comment><comment><USER23> Yes. Have to be a contractor with 20 - 30 years of serious experience under your belt and well, very well connected. And with _very rare exceptions_ (like being the next Bryan Cantrill) you have to be Swiss else you better be speaking the language near native level and be integrated into the society to pull that kind of dough in. Then, you can get a daily rate of 1120 to 1450 CHF. But we're talking being a super nice and competent person that everyone who's ever worked with you before would gladly do so again. That's the only way to get your foot in the door.

</comment><comment><USER24> You can do >200k USD TC at a FAAMG in London as a senior if you have multiple offers and negotiate. It's fairly rare, and you'll still be earning below what you'd get in the US, but it does happen.

</comment><comment><USER25> I make 100K$/year with bonus and holiday allowance in Amsterdam as an medior engineer at a medium-sized company. I pay roughly 50% tax. Expats here pay 30% tax for the first 5 years, so their take-home pay is significantly higher. A senior engineer at the same company earns roughly 130-160k.

Senior engineers here that work remotely for US companies can earn upward of 250k USD, but I know very few that do - and you need to enjoy remote work. Other option would be working at a bank or insurance company.

<comment><USER26> Are you willing to share the company? I worked in AMS for a few years at various software companies but almost never saw these kind of pays.

<comment><USER6> I guess it's [https://www.perseuss.com/](https://www.perseuss.com/) ? [https://news.ycombinator.com/item?id=19302435](https://news.ycombinator.com/item?id=19302435)

</comment></comment></comment><comment><USER27> US is very different than Europe, because you pay from your own pocket for a lot of things (eg healthcare) that are state sponsored elsewhere. Also factor rent in NYC/SV

<comment><USER28> Employers in the US provide healthcare if you work full-time. You may pay a premium, but it's probably similar to the taxes you paying EU, if not lower.

<comment><USER29> Lower for who ?

[https://www.healthsystemtracker.org/chart- collection/health-...](https://www.healthsystemtracker.org/chart- collection/health-spending-u-s-compare-countries/#item-relative-size-wealth-u- s-spends-disproportionate-amount-health)

<comment><USER28> That's what countries spend in total, I was talking about in context of individuals with good jobs (employer provided healthcare)

Btw a large reason why the US spends more on healthcare than other countries is research & development.

<comment><USER29> Don't you lose your job sponsored health care after being laid off ? Or is it expected that companies keeps you employed when you get a cancer / other high impact health issues ?

<comment><USER28> You'll most likely fall under COBRA protection ([https://www.healthcare.gov/unemployed/cobra- coverage/](https://www.healthcare.gov/unemployed/cobra-coverage/))

where you can keep your employer coverage for 18 months while you find a new job.

</comment></comment></comment></comment></comment></comment><comment><USER30> It's not absolutely impossible in Toronto, but that's at the very top end of the scale.

<comment><USER12> At that point Toronto makes no sense - it's pointlessly expensive for the salaries offered there.

</comment></comment><comment><USER31> It is not very common, but many of my friends are close to 200K AUD(not USD) some are above 200K in Sydney. This is not in well known tech companies, but mostly in finance. If you are contracting, 200K or more is very common in Sydney, Australia.

<comment><USER32> Any details on where to find these jobs?

I'm pulling in 150k (AUD) +super, 10+ years in Java, web, streaming data, functional programming, Scala some Haskell, cloud, devops etc.

Looking at the common job listings I'm seeing 120-140k for full-time perm. I work for a niche specialised consultancy that bills me out at $1500-2000 per day doing Kafka work for some tier one companies but I've not seen any publicly advertised jobs in that salary range advertised. Saying that some of the tier ones in Australia I'd also not want to work for as a perm after spending a few months at them, some are very archaic/disfunctional, so far it's been 50/50 on good vs bad contracts.

<comment><USER20> I think they are few and far between. I find that agents don't want to help you get them because it's hard work. Why bother when they can place a dozen 100k c# devs for little effort.

I'm on 165+ super and I applied directly. If i wasn't desperate to leave a shite job I'd probably got more.

I think the trick is to find the people who are making good money and aren't tight. I've worked for company's flush with cash but want to pay market rates. This is stupid in my opinion and is the "European" culture but I think slowly some realise there is effectively a pool auction on good developer and are willing to bid higher. Had an email about SIG 160k plus bonuses and I imagine they'd go higher. I would work for that kind of company though.

I think the trick is to filter out companies that don't want to pay what you want, and wait longer. There is no correlation between pay and how stressful or enjoyable the job is so hold out for the bucks, but of course also filter for lifestyle considerations and career progression.

If you are in Sydney looking for a job do us all a favour and add 50k to the highest you've seen and make that your baseline. Don't tell them what you earn.

To compensate for the higher rejection rate, increase your application rate.

</comment></comment></comment><comment><USER33> Top level software engineers(5%-10%) in top level China Internet companies (BAT and TMD).

</comment><comment><USER34> In New Zealand, it's possible only if you are a contractor, permanent IC roles generally don't pay that well.

I'm at the upper end of IC pay scale and I'm on 200-220k NZD, depending on how bonus shakes out.

This is roughly 130-140k USD.

</comment><comment><USER35> Contract/consulting engineer (as in in real engineering of kind like electrical, control systems, rotating equipment etc) easily makes a lot more than that in Perth Australia, but you also pay a bucketload of tax and have very high costs for the location.

Also contractors are paid by the hour, so rarely sick (usually an amputation is required to not attend), always do overtime and hardly ever take holidays unless forced...

</comment><comment><USER36> May I ask how many years of experience are related to these kind of salaries ? (If there's a relashionship anyway).

</comment><comment><USER37> Not engineering, but I know some product managers in Japan (working for US tech companies) pulling that kind of salary.

</comment><comment> q-base Yes. Working as a freelancer/contractor. A big part of it due to sought-after skills in a market that values native speakers. A small part of it probably to do with my experience and the way I conduct my work and finally a pinch of always trying to raise my prices.

</comment><comment><USER38> Those salaries, specially the Swiss ones, aren't that big after taxes, insurances, and the overall cost of living.

Yes, you might get 140K CHF, but be ready to pay 20 CHF for a meal that would be around 8 euro in neighbouring countries.

<comment><USER39> Let's also say 5 euros in neighbouring countries.

<comment><USER40> Where in Austria, Germany, italy or france do you get a meal vor 5€?

<comment><USER41> In Italy it might be possible, food is quite cheap here. Usually the "lunch voucher" we get as employees is 5,16 EUR

</comment></comment></comment></comment><comment><USER42> Someone just told me german employment is worth about double of what contracting would be.

My employer pays part of health insurance, retirement funds, unemployment insurance and you don't pay VAT.

</comment><comment><USER43> 800 EUR/pd is not unheard of in continental Europe, and, assuming you're working 225 days a year (i.e. probably less than typical US coder), this puts you at $200k USD.

</comment><comment><USER44> Time to get the hell out of here (Italy): making 35k/year and it's considered a decent pay.

<comment><USER45> 25/35 is the base for junior positions or you are in a company that still underpay his employees, I do around 75K in Italy and I live like a New Yorker would do with 200K. Cost of living + quality of life in Italy is unbeatable if you have a good pay(at least more on average with other EU countries).

<comment><USER39> I agree on the last sentence.. but how do you get to 75K in Italy? can you share your experience?

</comment></comment></comment><comment><USER46> In London, a gross annual comp of >$200k for a software engineer is not especially rare.

</comment><comment><USER47> I heard Amazon is offering comparable salaries in Israel now.

</comment><comment><USER48> I would love to and I will put that as my goal.

Realistic goal for 1-3 years.

</comment><comment><USER49> Some folks do in Singapore

<comment><USER50> Are Singaporeans making that these days? In my past experience, those in that range are generally Americans working for an Asia Pacific site office.

</comment></comment><comment><USER51> Considering PPP, 200k USD is equivalent to about 5 million INR. Software engineers in India with 10+ years of experience and working in companies like Amazon , Microsoft etc make that amount quite easily. Of course, the quality of living is a different issue altogether :-)

<comment><USER52> Technically, 200K USD is 1,39,73,500 INR. Almost 14 million.

I think that figure sounds a bit optimistic. Being an entry level developer at a US-based Fortune-500 corporate with offices in India, I make around 17k USD, while I heard a similar role in the US office gets paid around 85k USD.</comment></comment>


60beat iPad Gaming Accessory Could Be The iOS Missing Link - <AUTHOR> http://techcrunch.com/2012/01/01/60beat-ipad-gaming-accessory-could-be-the-ios-missing-link/ <comment><USER2> What next -- a three-button mouse or a punched card reader?

(Let me unpack that: the iPad -- with multitouch screen and accelerometer and gyro -- provides a unique user interface of its own. While this accessory is fundamentally the n'th generation descendant of the 1970s console game controller. I'm kind of annoyed, because if this catches on it will potentially cost us a raft of new user interface innovations by allowing lazy back-ports of console titles instead of forcing developers to confront the inherent strengths and weaknesses of an entirely new and different way of doing things. If I wanted a console with a traditional controller I'd buy a PS3 or an XBox360 ...)

<comment><USER3> > _"a unique user interface of its own."_

For a game developer, this might tend to limit the desirability of porting existing games to the market or even developing games for it.

A lot of time and thought went into the dual stick interface.

<comment><USER4> I don't think the unique input methods brought on by a multitouch glass display has limited the desirability to game developers... 3-4 years ago that could have been a concern, but the huge iOS games market has shown that to not be the case. We're getting unique, tremendously well-selling experiences on touch/mobile devices with great regularity. Major publishers and indies are churning out games for these devices, all without a keyboard, mouse, or controller required to play.

It's true that you can't play every genre of game on an iPad, but it's also been true for years that not every genre of PC game would play well on a mainline TV console (traditional adventure games, strategy games, and anything with a lot of diverse/unique user input or complex underlying systems tends to fail on a 360 controller/living room couch situation), and not every GameBoy/DS game would work well there either.

That aside, personally as a gamer I'm glad that there are game systems out there with nearly mutually exclusive input methods, because it prevents lazy ports, and lazy ports generally, basically, suck to play.

</comment></comment></comment><comment><USER5> don't mean to be that guy but when you think of how Android has USB host and is compatible with various console controllers, gotta give props to Google for being forward looking.

<comment><USER6> It's more an issue of openness rather than one of forward thinking. Apple just doesn't want unapproved hardware connecting to their devices. They also want royalties from anyone who DOES get their approval. They'd even block audio hacks like this if they could.

Once a company gains too much control over the consumer, innovation suffers.

</comment></comment><comment><USER7> Funny how many people here seem not for this device when:

a) I don't remember people being against <http://www.thinkgeek.com/electronics/retro-gaming/e762/>

b) On-screen controls that try to mimic a controller are at best a kludge and never really work as well as a real tactile controller. Having a physical controller to use is huge. My tablet is sitting here right next to me, I'd love to use a real controller with it and treat it like a mini game console.

<comment><USER8> Or, that iPad tactile keyboard thing: [http://www.kickstarter.com/projects/740785012/touchfire- the-...](http://www.kickstarter.com/projects/740785012/touchfire-the-screen- top-keyboard-for-ipad). I think that one is still the worst idea that the HN community seemed to approve of.

</comment></comment><comment><USER9> As a gamer I can't help but wonder, why is this the missing link in IOS gaming? It seems like a step backwards. There are some really fantastic games on this platform that have made use of the on-device controls and the ones that don't well they seem to be uninventive and poorly created clones/ports of console and computer games. I can't speak for everyone, but what I like about the IOS gaming experience is I can quickly and conveniently take out my device for short bursts. I can't imagine waiting for a meeting and pulling out a controller. In most circumstances if I wanted a controller experience, I think I'd rather wait to play on my console. The problem here isn't that this is a dumb invention, it's not, it's really cool, and I applaud the hack, but I question if this is the "missing link" when there are fantastic and well controlled games already available on this platform.

</comment><comment><USER10> "virtually no latency" I really hope he means less than 1/60th of a second otherwise it's gonna be awful to play with.

<comment><USER11> It looked like it had quite a bit of latency in-game, compare it to when he controlled it on the touchpad.

</comment></comment><comment><USER12> The design of the controller is obviously very similar to a playstation controller. I don't know much about IP/copyright/patent. What are the chances of this guy getting sued by Sony?

<comment><USER10> I haven't held the device but I think it's only superficially similar. It looks like any number of after market PS2/3 devices that already exist and tbh are usually of a VERY low quality.

I'm looking forward to giving it a go though. My iPad really needs one of these.

</comment></comment><comment><USER13> Bluetooth would make a whole lot more sense.

<comment><USER14> Bluetooth has the property of not being an option whatsoever because of the way Apple supports it. Instead we get custom libraries limited to one controller hacked over the audio jack.

<comment><USER13> Could it not function as a Bluetooth keyboard?

<comment><USER15> The iCADE works as a Bluetooth keyboard. Each key and joystick direction (up, down, left, right) sends one letter when pushed and a different letter when released. The iControlpad can also work in this mode.

I don't know if there's a way to support analog controls over Bluetooth.

</comment></comment></comment></comment><comment><USER16> why the audio input? Are there any restrictions in Apple's hardware partner program for gaming devices?

<comment><USER17> Getting certification for the dock is both onerous and expensive since it requires Apple approval and a license fee for every device. The audio jack is open so anyone can build on top of it.

</comment></comment><comment><USER18> How proprietary is this technology and is there an input on the controller for headphone jacks?</comment>


The Browser Hacker's Handbook - <AUTHOR> https://browserhacker.com/ <comment><USER2> It´s pretty neat! But where is the download link? Doesnt seem to have anyhting

<comment><USER3> [http://www.amazon.com/Browser-Hackers-Handbook-Wade- Alcorn/d...](http://www.amazon.com/Browser-Hackers-Handbook-Wade- Alcorn/dp/1118662091/)

<comment><USER4> $50? It's also on Safari Online, where you pay 17 EUR per month for 6 months, then 23 (excl VAT) for being able to swap in and out 10 books.

</comment></comment></comment><comment><USER5> And, I guess I'll visit this page in lynx...

</comment><comment> xor-ed-wolf What were they thinking not posting source code files on the book's site or posting them for each chapter on the publisher's site instead of a single archive?

</comment><comment><USER6> Excuse me, but where's my drm-free ebook? Have to hate all those publishers selling drm-crippled books which i'd really love to read. I just don't get it.

</comment><comment><USER7> "Service Temporarily Unavailable."

Now where is that copy of the "Server Hacker's Handbook?"

<comment><USER8> Google cache:

[http://webcache.googleusercontent.com/search?q=cache:au9GY9v...](http://webcache.googleusercontent.com/search?q=cache:au9GY9vduLMJ:https://browserhacker.com/+&cd=1&hl=en&ct=clnk&gl=us)</comment></comment>


Docker joins the Linux Foundation - <AUTHOR> http://blog.docker.io/2013/06/dotcloud-and-docker-join-the-linux-foundation/

<comment><USER2> I'm curious why the fuck it took until 2013 to get something comparable to freebsd jails/solaris zones.

I mean, congratulation guys, but why the hell didn't this happen earlier? I know I'm not the brightest bulb in the room but this has been a fundamentally dangerous feature to be missing. I don't get how anyone pretends that their Linux boxes are secure without some extremely personal contrived creations.

<comment><USER3> I've been running OpenVZ for years - It works very well.

LXC is built into the kernel directly, rather than a patch, which is very nice.

So far as I can see, Docker is just some nice wrapper scripts around LXC, nothing particularly revolutionary in and of itself.

<comment><USER4> Correct, docker is not an implementation of linux containers. The heavy lifting is done by lxc (and alternatives like openvz).

What docker brings is a way for backend developers to package and distribute their app into portable, sandboxed containers (think "iphone apps for the server").

This is only possible now that linux has decent container support, because it means the vast majority of servers out there can potentially run a docker container unmodified.

</comment></comment></comment><comment><USER5> EDIT: I had previously asked what exactly Docker is.

[https://www.youtube.com/watch?feature=player_embedded&v=wW9C...](https://www.youtube.com/watch?feature=player_embedded&v=wW9CAH9nSLs) gives a super quick overview. Very interesting technology.

<comment><USER4> Yes, that's exactly the goal of docker: "build once, _actually_ run anywhere".

Docker is a portable container engine. It gives you, the developer, a way to package your app and all its dependencies into a portable container which can be deployed on any modern Linux server: local VM, bare metal server, EC2 instance, doesn't matter. Containers are completely sandboxed and do not interfere with each other (think "iPhone apps for the server").

The specificities of each machine (location, distro, storage, networking) are abstracted away so you can focus on _what_ your application requires (a known filesystem state, tcp ports to receive connections...) without having to worry about _how_ those requirements will be met on each individual machine. This abstraction is based on common unix concepts - files, processes, tcp connections - and is therefore not language-specific, so it doesn't matter what programming language your application is written in.

To do this, Docker relies on a recent feature of the linux kernel called lxc. That's the part which allows sandboxing of applications from one another. The concept itself is not new - what is new is that it is now part of the mainstream kernel, which means almost every server in the world will soon be capable of running docker containers - hence the exciting possibility of "run anywhere".

<comment><USER6> > _Yes, that 's exactly the goal of docker: "build once, actually run > anywhere"._

Except doesn't it only run on Ubuntu? I looked at it to see if it might be useful for my servers, which are running Debian Wheezy, but the "Other Linux" instructions on the Docker site amount to "install VirtualBox and run Ubuntu" — which, yeah, anything will run anywhere if you just run it in a VM, but that was already true.

<comment><USER4> That's just our docs being unclear :) You can run docker on debian wheezy, no problem.

Docker _is_ currently easier to run on certain distros than others. But it's not because it's distro-specific. It's because it has _kernel_ requirements which are more easily met on certain distros than others. Those requirements are described at [http://docs.docker.io/en/latest/installation/kernel/](http://docs.docker.io/en/latest/installation/kernel/) (short version: aufs + lxc + (<=2.6 OR >=3.8))

<comment> tech-dragon Clean up the docs please.

Even just a list of software and kernel deps, then instructions on how to compile the rest of the software by hand would suffice.

For now I've had to muck around reading the Ubuntu packaging files to get a proper idea what/how you install this thing. Which isn't cool. :-(

</comment></comment></comment></comment></comment><comment><USER7> I'm glad that dotCloud is contributing money to the Linux Foundation. I'm curious how involved they are with linux kernel and plumbing development. It seems like the changes coming to cgroups, for example, could be a big deal for Docker.

[https://lwn.net/Articles/555920/](https://lwn.net/Articles/555920/)

</comment><comment><USER8> sweet! does this mean that AUFS will be included in tree?

<comment><USER4> That would be fantastic. Unfortunately I don't have the answer right now.

<comment><USER9> Have you considered using OverlayFS in a future version of Docker, instead of AUFS? It comes bundled with Ubuntu 12.04 and higher, and my understanding is that it could possibly get merged w/ kernel 3.10

<comment><USER4> Overlayfs has a static limit of 1 ro layer, which makes it useless out of the box for docker. It's also less proven in production than aufs. Aufs works great and has no decent alternative.

Merging aufs into mainline feels like the logical thing to do, but clearly someone in the chain disagrees. It's disappointing but it is what it is.

Btrfs seems like a more likely alternative for docker.</comment></comment></comment></comment>


The President Doesn't Care to Understand Global Warming - <AUTHOR> https://www.theatlantic.com/science/archive/2017/12/the-president-doesnt-care-to-understand-global-warming/549377/?single_page=true <comment><USER2> True, but it's up to all of us to force the point. The US president is powerful but not against a large number of like-minded people. It's up to us to change things.</comment>


NeatShow.js : A jQuery plugin to fade in images beautifully on your website - <AUTHOR> http://stevepapa.com/neatshowjs/

<comment><USER2>
      DOWNLOAD
      neatshow.js 1,335 bytes

Could you find it in your heart to add two more bytes somewhere?

<comment><USER3> Sure, just slap two more bytes on it for the sake of meta.

<comment><USER2> It's not like you couldn't ensure that it got minified away or anything...

<comment><USER3> Then why bother? Do you have OCD?

</comment></comment></comment></comment><comment><USER4> img { opacity: 0; transition: opacity .2s; }; img.loaded { opacity: 1; };

$(function(){ $('img').load(function(){this.addClass('loaded')}) });

<comment><USER5> It works with $(this).addClass instead of this.addClass: $('img').load(function(){ $(this).addClass('loaded')});

</comment></comment><comment><USER6> Why no CSS transitions?

</comment><comment><USER7> The fade is lagging for me (Macbook Pro, Chrome).

</comment><comment><USER8> Does this load in only when they are visible in the viewable area, or do they fade in everywhere?

</comment><comment><USER9> jQuery lazy load does the same thing and has been around for long.

[http://jquery.eisbehr.de/lazy/index.php?c=effects](http://jquery.eisbehr.de/lazy/index.php?c=effects)

<comment><USER10> Lazy load waits until the images are visible (or just about to be) in the viewport before loading the actual image, this doesn't appear to do that.

<comment><USER8> In that case Lazy load is better IMO.

</comment></comment></comment><comment><USER11> Nice work :)

</comment><comment><USER12> Why not just use CSS3 animation?</comment>


Google workers lived for months at campus - <AUTHOR> http://www.bbc.com/news/technology-29146961

<comment><USER2> Gee, maybe it's because there's very little housing in Mountain View compared to the number of people who work there and the city refuses to allow more housing to be built? That makes rent there very expensive. People in their 20s are looking at rents that eat up half their salaries - and we're talking Google salaries here. [http://sf.streetsblog.org/2014/09/08/mountain-view- city-cand...](http://sf.streetsblog.org/2014/09/08/mountain-view-city- candidates-split-on-housing-in-north-bayshore/)</comment>


Ask HN: What are some small business IT security options? - <AUTHOR>

We're trying to find an intrusion detection and vulnerability scanning service that isn't enterprise priced for our small business.  Something that runs in the background and jumps all over us if there's an issue.  Any suggestions ? <comment><USER2> Suricata : [http://suricata-ids.org/](http://suricata-ids.org/)</comment>


With a 50 Friends Limit, Path Is the Opposite of Twitter - <AUTHOR> http://mashable.com/2010/11/15/path-launches/ <comment><AUTHOR> read more at <http://blog.path.com/></comment>


Ask HN: How do you get past pre launch jitters? - <AUTHOR>

We are coming out with a new Software Products shortly. I do not want to make this a promotional post so will not get into the details. Just a few days before the launch I am not full of doubts and concerns about the product. We did a thorough market study to design and develop the product and statistically everything is fine but I still image things going that i would never have anticipated. Scenarios from no customers to a deluge of subscribers are really worrying me.<p>I am sure these are just pre launch jitters but I want to know how the members of the community cope with such events. <comment><USER2> Realise that regardless of what happens Everything Will Be Grand.

Let's take some scenarios here:

Scenario 1. The launch attracts a lot of subscribers and your infrastructure can't stand up to it or holes in your application are found.

Okay this is a pretty good problem to have - people want your product, nice. But the experience hasn't been A+, not nice. Guess what? People are (for the whole part) understanding and logical. They understand that software matures over time and, as an early adopter, they accept that they may have to put up with a bug or two. Software breaks, get it over it.

Scenario 2. You've thrown a party and no one shows up (aka few subcribers). Okay this sucks from a business POV but on the plus side you'll be able to pay your few early adopters some extra attention and find out why they chose your product. Use this information to improve your marketing.

Scenario 3. Middle of the road - an average number of subscribers, with some bugs discovered. This is a good sustainable start, keep it up (and crush those bugs you know about).

Regardless of what happens, things will be fine. Don't sweat it :)

<comment><AUTHOR> Thanks a lot man. I really liked the way you put it. I knew most of it already but to hear it from someone else is always reassuring.

</comment></comment><comment><USER3> Stress and anxiety are understandable. You legitimately don't know what's going to happen, it could be awesome or it could suck, you've got a lot invested in it, and it will affect your life and the lives of those around you. Paradoxically, I've found that acknowledging and accepting these things tends to decrease my level of stress and anxiety.

Also, commit to doing your best (sounds like you have no problems there), and then you can just remind yourself: "My best will be good enough." You may or may not succeed, but if you remember that you did your honest (and self- examined) best, then you will always be able to be comfortable with yourself.

And finally, a motto: "Clarify by action."

<comment><AUTHOR> I agree with you Geoff. Thanks for your help

</comment></comment><comment><USER4> Have you done a stress test on your system?

</comment><comment><USER5> How's your marketing doing?</comment>


Pluginbag - <AUTHOR> http://pluginbag.com

<comment><USER2> [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> Hi dang, Not sure what did i miss about the above guidelines. Can you please elaborate. Thanks :)

<comment><AUTHOR> Also, I added Show HN in the title. Seems like it is edited now.

<comment><USER2> "For example, landing pages, email signups, and fundraisers aren't ready to be tried out yet, so they don't count as Show HNs. Once it's ready, come back and share it then."

We take Show HN out of the title when posts don't fit the criteria for Show HN.

Edit: Oops, I quoted an earlier version of the guidelines. Will probably put that bit back.</comment></comment></comment></comment>


Firefox 57 delays requests to tracking domains - <AUTHOR> https://www.janbambas.cz/firefox-57-delays-requests-tracking-domains/ <comment><USER3> I work for an analytics company, this will affect my snippet – I don't think it is a big deal, but I'm going to benchmark it on a few sites. From what is described here, it may actually help us. When folks throw tons of tags into their site, we're all competing against each-other as well as the site's own loading – it makes sense to prioritize the site's rendering.

I think of this as no more invasive than pre-caching stuff in a page when you see links that are likely to be clicked, or any other browser optimization.

I may be pounding my fist later if the results don't look great, but ultimately, I think Mozilla's heart is in the right place.

I can think of tons of ways to work around this if I thought it was a real issue, I don't. People who want to block analytics, trackers, ad networks, etc... know how, and this doesn't feel like it is targeted at those people, or even squarely at the tracking pixels.

HN-pre-emptive-defend-myself: My company doesn't share or sell data with third parties (it's in our TOS – and could obviously change in some Orwellian future, but we'd have to update the TOS), it's the customer's data, they can use it in the same way they'd use any other data they collect. We don't do cross-domain tracking, or aggregate behavioral information across customers, and the way we've built it, it makes it pretty hard to tie any two visitors together across sites if you were to hypothetically acquire our dataset. We're also working on building tools to comply with GDPR and wipe out data per- request. Anyways, I think a lot of very bad actors have made the space have a bad reputation and I don't blame anyone for blocking everything, or even for hating my company, or generally all analytics.

<comment><USER4> It's a grey area. But I am interested, do your ToS forbid your customers from on-sharing the data with cross-site aggregators?

<comment><USER5> "on-sharing the data with cross-site aggregators"?

The ToS and Privacy Policy of an analytics company discloses what the that company may do with their client's users' data, not what the client can do with their own users' data.

There's another Privacy Policy between the client and the user where the client discloses what they may and may not do with user data and the user decides whether to become / remain a user.

There are also laws which dictate the data handling further on behalf of large groups of users, e.g. GDRP for EU citizens and, on this side of the pond, interesting Supreme Court cases being decided about what kind of data users could have property rights to: [https://en.wikipedia.org/wiki/Carpenter_v._United_States](https://en.wikipedia.org/wiki/Carpenter_v._United_States)

</comment></comment></comment><comment> marten-de-vries Interesting approach. I hope more browser vendors will adopt it. It comes with an additional advantage: if a website still needs to function when tracking domains are delayed a second or so, they likely will function too with said domain completely disabled (e.g. using extensions). Sounds like a win from a user perspective.

<comment><USER6> Do you mean that browsers implementing this will force website owners to make their sites work with tracking domains delayed? This does seem like a nice side benefit.

<comment> marten-de-vries Yes, that's my hope. For the income of website owners it is better if they all collectively block their site until the trackers are fully loaded. But if only a few do so, users might avoid their site, so individuals are still encouraged to support delayed loading.

I imagine Mozilla is in a similar situation: if too many websites block, they will have to disable the delay or start whitelisting trackers if they do not want to loose users. That is, unless other browsers follow their lead here.

Prisoner's dilemmas all around. It's going to be fun to see what we'll end up with, although I'm optimistic as I haven't heard complaints about this yet, but then again I wouldn't notice any difference myself as I'm already using NoScript.

<comment> yjftsjthsd-h I think it's not quite a normal prisoner's dilemma, because it's not boolean. The browser can be less aggressive initially, pushing against only the worst cases, then become more aggressive over time to make site behave better.

</comment></comment></comment></comment><comment><USER7> While I like the idea, a potential problem comes to mind. A list of what domains are tracking domains will need to be maintained. The need to maintain that list will possibly move the cat-and-mouse game of ads vs ad-blockers to the tracking list as well. I could totally see Alphabet paying Mozilla to remove analytics.google.com from the tracking domain list (because "it's just analytics; it doesn't track you or infringe on your privacy at all") similar to advertisers paying to be on Adblock Plus' "Acceptable Ads" list.

<comment><USER8> > using data of the Tracking Protection database

This database is already being maintained and used for private browsing. I find it unlikely that an analytics CDN will play cat and mouse with Mozilla just so it's script will load a few milliseconds sooner.

<comment><USER9> Where can we find this list?

<comment><USER10> The list is supplied by Disconnect.me

</comment></comment></comment></comment><comment><USER11> > Google's A/B testing initially hides the whole web page with opacity: 0

Sounds like a violation of Google's own policies.

<comment><USER12> Now try Google's sweetheart project [https://www.ampproject.org/](https://www.ampproject.org/) or any amp-powered site. They contain this gem of a boilerplate hiding page content for 8 seconds or until whatever script is finally loaded that overrides it:

        body {
          animation: -amp-start 8s steps(1,end) 0s 1 normal both;
        }
        @keyframes -amp-start {
          from { visibility: hidden; }
          to { visibility: visible; }
        }

</comment></comment><comment><USER13> Isn't it anti-net-neutrality? Is it ok to build it into a major browser? I actually block all the tracking, malware, ads, social networks, fraud, gambling, porn (except a couple of porn sites I like :-)) etc domains I could find information about but this is my personal conscious choice, I have manually installed extensions for this and built the lists. Shouldn't other people do the same themselves too if they choose to or leave everything as is if they don't actually feel they need to change anything?

<comment><USER14> For me, using Firefox _is_ the personal conscious choice you refer to. Their brand is that the browser is on your side, I'm happy to have the defaults set accordingly.

(Edit: I should add that I think you're asking a very valid philosophical question that my opinion as a user of Firefox doesn't fully address)

<comment><USER13> From the practical point of view, I am afraid the trackers will respond a way if such a move is made on such a global level. Nobody was fighting AdBlock+ when it was only used by geeks and now as is it has gained so much attention there are a lot of sites that won't work if you use AdBlock+. Introducing te "do-not-track" header was a great idea but it has been completely ruined by major browsers turning it on by default so the trackers have legitimately chosen to ignore it.

<comment><USER15> > Introducing te "do-not-track" header was a great idea but it has been > completely ruined by major browsers turning it on by default so the trackers > have legitimately chosen to ignore it.

This seems to imply that doNotTrack would have been successful for its intended purpose had it not been a default setting at one point, which feels like wishful thinking.

Sure, that aspect made it impractical for uncharacteristically privacy-minded companies in the space to support the header, but the vast majority of companies in the business of tracking and advertising would have ignored it anyways, because there's zero consequence for not doing so.

</comment></comment></comment></comment><comment><USER16> Much of this discussion is missing the point that the stated goal of this change is actually to _help_ sites that use lots of tracking scripts, not to penalize them.

It has become common to use so many tracking scripts that the perceived page load time (time to display/interactivity) is actually significantly slowed down. I actually first installed an ad-blocker myself when I realized some sites were taking like 5+ seconds to load, and loaded quicker with the ad- blocker. (But this change isn't a _blocker_ of scripts, it's trying to change order and timing of execution to speed up page load while _keeping_ the scripts).

The intent of this change is to delay load of those scripts (which are already being loaded with code that loads them async, that is, without spec guarantees of load order or timing) until after the page UI is loaded and operative, to _improve_ perceived load time.

I'm not sure if people are missing this point, or don't believe the stated goal and think it's secretly a plan to hurt these sites instead. I believe the stated goal. (whether they like or hate that idea!) As the OP says though, there are certain pages that _may_ be unintentionally harmed by the change, if they were relying on quick load of scripts that they should not have been relying on because they were already being loaded async (that is, with no guarantees of load order or timing, already).

If this ends up being a non-trivial number of pages, and those pages/tracking frameworks don't fix themselves to accomodate, then I predict the change will be considered unsuccessful and unfortunately rolled back.

It is meant to _help_ pages that use a lot of tracking scripts, not hurt them. Although I guess the assumption is that actual load time of interactivity is prioritized over making sure your tracking scripts are in immediately. If site owners actually prefer to slow down their pages non-trivially in order to guarantee tracking scripts immediately, then I guess they wouldn't see it as help. shrug.

I think the OP author is probably regretting his post title. It maybe should have been "Firefox 57 speeds up load time to interactivity of pages with lots of tracking scripts", heh.

</comment><comment><USER17> Does anyone know where I can find the list of sites that are affected?

EDIT: Seems to be here: [https://github.com/mozilla-services/shavar-prod- lists](https://github.com/mozilla-services/shavar-prod-lists)

<comment><USER5> Here it is newline-separated in case you want to import it into the Adblock DNS filter for iOS: [https://gist.githubusercontent.com/anfedorov/1fa7dc8871b20da...](https://gist.githubusercontent.com/anfedorov/1fa7dc8871b20dab92f856f1e8bddaff/raw/9dd5f81068cac4c90129c8c2ebb218a6df03fa5b/gistfile1.txt)

<comment><USER17> Thanks! I wasn't but I'm sure others will find it useful.

<comment><USER5> Just realized the list contains facebook.com as well as mail.google.com, so perhaps a little overly broad there.

</comment></comment></comment></comment><comment><USER18> I love to see software that is actually acting on behalf of the users running the code rather than companies serving it.

This does point to some problematic directions though.

If web standards were simpler and it were easier to build competing browsers (and/or if we could trust plugins more), then it wouldn't be much of a concern if some browsers choose to experiment with these kinds of protections.

</comment><comment><USER19> This raises the question: Why delay instead of block?

Assumption is that user wants page to load faster _but does not object to tracking_.

What if user wants page to load faster _and_ objects to tracking?

Source of Firefox tracking protection is list at disconnect.me?

credit: eco [https://news.ycombinator.com/item?id=15964393](https://news.ycombinator.com/item?id=15964393)

Basic gethostbyname()->HOSTS file blocking:

       #!/bin/sh
       exec curl https://disconnect.me/trackerprotection/blocked \
       |sed -n '/<\/br>/!{/\./s/^/255.255.255.255 /;};/\./p' >> /etc/hosts;

       User may want to add these too:
       https://disconnect.me/trackerprotection/unblocked

Beyond HOSTS file, authoritative DNS gives more flexibility, e.g. logging all requests, using wildcards, etc. For example, tinydns:

       #!/bin/sh
       curl https://disconnect.me/trackerprotection/blocked \
       |sed -n '/<\/br>/!{/\./s/.*/.&\
       =&:255.255.255.255:1/;};/\./p' >> _root.zone/root/data;
       if cd _root.zone/root/data;then exec tinydns-data;fi

Or dnscache:

       #!/bin/sh
       curl https://disconnect.me/trackerprotection/blocked \
       |sed -n '/<\/br>/!{
       /\./s/.*/echo 255.255.255.255 > _dnscache\/root\/servers\/& /;};
       /\./p' > block.sh;
       if sh -c ./block.sh;then exec rm block.sh;fi

Note I am not recommending this particular block list. Compared to the one I use, it seems incomplete. I prefer to create own list from DNS logs from own network traffic. Use of wildcards can shorten a long list like this substantially.

<comment><USER20> Blocking is already supported: [https://support.mozilla.org/kb/tracking- protection#w_how-to-...](https://support.mozilla.org/kb/tracking- protection#w_how-to-turn-tracking-protection-on)

Mozilla doesn't want to enable it by default because it is the funding model of the web, and no viable alternative funding model for most of the web's content has arrived yet. (At least, that's the public statement. I don't know if e.g. potential lawsuits, etc. also play a role.)

<comment><USER21> Tracking is the funding model of online advertising and investor storytime but it's not the funding model of the web. I think there's no such thing as a funding model of the web.

the web was exclusively non commercial and later was opened to commercial activity and later advertising which added tracking because their business model was broken and they needed something to show their customers and investors to gein/keep their trust that online advertising was not a total scam as physical world mostly is.

The unexpected side effect is the creation of a global totalitarian surveillance state just to show ads: [https://www.hooktube.com/watch?v=iFTWM7HV2UI](https://www.hooktube.com/watch?v=iFTWM7HV2UI)

</comment></comment></comment><comment><USER22> Ive wondered if it would be possible to tumble the requests via P2P network. Completely destroy the analytics

<comment> yjftsjthsd-h Use TOR?

<comment><USER22> That doesn't accomplish my goal,. I don't want to hide, I want to ruin the data collected by making it innacurate and useless

EDIT: Judging from the low quality of online marketing, it isn't hard to do.

<comment><USER21> Something like adnauseam ?

[https://adnauseam.io/](https://adnauseam.io/)

</comment></comment></comment></comment><comment><USER23> I'd prefer to be paid to be tracked. Eg the browser should send my wallet address as a signed header, and upon payment verification the delay (or any other penalty) lifted for 60 minutes

</comment><comment><USER24> I just block tracking domains. And ad domains. My browser, my rules. The sites that can't handle it aren't worth the bother.

</comment><comment><USER25> Tracking scripts should be blocked by default, not just delayed. If a user has some strange desire to be watched, give them the option to opt-in to their browser unblocking tracking scripts/domains.

<comment><AUTHOR> > Tracking scripts should be blocked by default, not just delayed.

There is in fact a preference to do that: Settings -> Privacy -> Tracking Protection, set to always.

It breaks some reasonably popular sites, which is why it's not on by default across the board right now.

<comment><USER25> Yes, there's an option to enable blocking. I think it should be the other way around, which was kind of my whole point. That's the only way to encourage site owners to stop designing sites that break when they can't spy on users.

<comment><AUTHOR> If the tracking protection thing were being created before the sites, I agree.

As things stand, it's a hard sell to have a browser do something that breaks sites that used to work. Most users tend to not be happy about it. This is definitely an area worth pushing on; the question is how best to do it.

</comment></comment></comment></comment><comment><USER26> > To conclude on how useful the tailing feature is – unfortunately, at the > moment I don't have enough data to provide (it's on its way, though.)

I wonder if this post was rushed to publication, to manage Mozilla's public image and reestablish it as a friend to user privacy, after the 'Looking Glass' fiasco a few days ago.

(I'm not exactly opposed to such PR efforts, as long as they're accompanied by actual internal change in the company.)

<comment><USER21> Much of mozilla communication is PR and marketing.

Maybe this is damage control, but somehow I think they are not well organized enough to have this kind of thing happen.

Besides how is this helping with privacy ? Trackers are still loaded and tracking.

<comment><USER27> "By Deeds, Not Words", Mozilla. They've had a few too many strikes lately. Their actions seem particularly greedy and tone-deaf given their supporters, and no longer aligned with what I want out of a company. Despite their constant words and apologies, they keep pulling this stuff; as a 10+ year user of Firefox I'm pulling the plug on it, just can't be trusted any longer.

Silently installing a plugin and doing an end-run around any policies in place etc. is just clown-school level.

</comment></comment></comment><comment><USER28> Any idea if a detailed notice from Mozilla will be issued about this at [https://developer.mozilla.org/en- US/Firefox/Releases/57](https://developer.mozilla.org/en- US/Firefox/Releases/57) or similar?

</comment><comment><USER29> This is not something new as I use chains of local proxy and cache proxy (Privoxy and Squid) on my PC with Firefox to block ads and tracker. The problem is Firefox has memory leak issue as it consumes ~2GB RAM while browsing Facebook or using addons like Ghostery or Adblock.

<comment><USER21> Why would you use ghostery which was a tool to study people who want to black ads so they can be better served ads ?

Why would you use adblock which is outdated when ublock origin has been available for a while ?

It's strange that you take extra steps to block ads and tracker but peruse facebook whose sole purpose is tracking and profiling you and your family, friends, acquaintances through you.

<comment><USER29> I don't use Ghostery and AdBlock. I see my friends using it and how Firefox consume tons of his PC memory.

I use different browser to access different category websites. Brave browser for social media and Firefox for news reading or researching. Both of that browsers using the same local proxy connection in my PC. I installed Privoxy and Squid on the same PC with that browsers and so they are appear as the same user agents (e.g. Chrome).

When I access [http://www.janbambas.cz](http://www.janbambas.cz), of course my browser loading faster as my Privoxy allow/block these domains:

      2017-12-21 00:55:32.780 00000f04 Request: www.janbambas.cz:443/

      2017-12-21 00:55:34.632 00001194 Crunch: Blocked: fonts.googleapis.com:443

      2017-12-21 00:55:34.670 00000e3c Crunch: Blocked: secure.gravatar.com:443

      2017-12-21 00:55:34.697 00000e8c Crunch: Blocked: www.google.com:443

      2017-12-21 00:55:34.711 000013e8 Crunch: Blocked: secure.gravatar.com:443

      2017-12-21 00:55:34.741 000012cc Crunch: Blocked: secure.gravatar.com:443

      2017-12-21 00:55:35.680 00000ce4 Crunch: Blocked: secure.gravatar.com:443

      2017-12-21 00:55:35.721 00000978 Crunch: Blocked: secure.gravatar.com:443

      2017-12-21 00:55:35.736 000010e0 Crunch: Blocked: www.google.com:443

      2017-12-21 00:55:35.759 00000104 Crunch: Blocked: secure.gravatar.com:443

You see that, my Privoxy blocked 9 connections and 3 domains.

What makes me sick is this person #Honza Bambas# doesn't give a real solution to our browsing problems. _He only makes us die slowly._

<comment><USER30> Can you explain why you think gravatar is a problem?

Or google fonts?

<comment><USER29> By blocking both of domains we reduce page load time. The browser doesn't have to wait _forever_ for both of connections complete as it already blocked. Moreover, I need only the article and not picture of his avatar or fancy fonts. Remember, Google fonts are files in Google's web server, every request to a web server will be written in its log file (e.g. browser's user agent, http referer, IP address). Like suspicious OCSP requests (in disguise), it's a kind of tracker, right?

</comment></comment></comment></comment></comment><comment><USER31> Is there a config setting for the delay period in double precision units? :)

<comment> TD-Linux If you're alluding to setting the delay to infinitely large, you can do that by going to Settings -> Privacy -> Tracking Protection and setting it to "always".

</comment></comment><comment><USER32> Google search pages are taking a lot to load on Firefox sometimes, they fail altogether a lot also after some time.

Does that happen with anyone else?

</comment><comment><USER33> Unfortunately this can give ammunition to the anti-neutrality lobbyists. "See, everyone is doing it anyway."

</comment><comment><USER34> Well, love them or hate them but tailing them is not Net Neutrality ;)

</comment><comment><USER35> Is this net neutrality compliant ?

<comment><USER36> Net neutrality is in regards to the internet carrier, not the browser (or client). The browser is irrelevant to net neutrality.

<comment><USER37> >The browser is irrelevant to net neutrality. //

It's not the currently spoken of Net Neutrality, but it's relevant to the neutral carriage of data over the internet. If browser companies pick and choose whose data to delay (or otherwise alter) then they have the power to bias the web - Firefox _could_ always delay scripts from other companies than Google, for example, in order to preference their business associate. They presumably aren't informing users, or requiring users to enable the function.

In short it seems highly pertinent in the net neutrality debate, to me, despite perhaps not having reached problematic levels and despite not being the specific form of neutrality that has erstwhile been grabbing the headlines.

<comment><USER38> it's an issue with similar consequences to net neutrality, but it's very much not the same issue. The network is one layer, the client is a different layer. Let's not start forcing clients to conform to network rules, or vice versa.

additionally, the reason net neutrality is so important is because there is no consumer choice in the ISP market for many users. Even when one browser is dominant, there's a lot more choice among browser vendors, so pushing out regulation to them is less important.

But let's not muddy the waters of net neutrality by injecting separate issues into the debate. Yes, browsers should treat all traffic equally, but that isn't net neutrality.

<comment><USER39> I think the anti-net-neutrality people are running out of fresh, not yet discredited arguments.

In OSI model IIRC:

Application (software) is layer 7.

Physical connection is layer 1.

I am sure somebody will correct me.

<comment><USER37> Not sure who you're claiming is anti Net Neutrality, but if that's levelled at me it's quite wrong.

See my other comment in thread, but in short I don't think a user cares really that action is at a different level of the conceptual OSI model, they care if they can consume given media, if NN legislation shifts things so that the browser blocks the media from a particular server instead of that servers upstream ISP I don't think users are going to be applauding too much.

<comment><USER40> They should be applauding though. We can always fork Firefox if it's not acting in our best interest. We cannot fork Comcast.

<comment><USER41> Sure we can: [https://en.wikipedia.org/wiki/Breakup_of_the_Bell_System](https://en.wikipedia.org/wiki/Breakup_of_the_Bell_System)

<comment><USER40> Well "cant" v. "wont" is sometimes hard to distinguish. There's little practical differences here though.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER42> This doesn't seem like it should be built in at the browser level. The brower's job should be to process requests and render webpages as quickly as possible. If a user wants to intervene in that process, that is their prerogative, but it definitely should remain at the plugin level.

<comment><AUTHOR> I agree the browser's job should be to process requests as quickly as possible.

If the web page asks for 150 scripts to be loaded (e.g. that's what [https://www.nytimes.com](https://www.nytimes.com) does right now), what is the fastest way to load them? "All in parallel" is not the right answer, so you end up prioritizing. At that point, maybe you want to prioritize the 40 non-tracking scripts (how many get loaded if I enable tracking protection in Firefox on that site) over the 110 tracking ones.

</comment></comment><comment><USER43> Problem here is Firefox is making big and sometimes wrong assumptions about what these so-called "tracking domains" do. That's not in any W3C spec -- that's Mozilla attaching specific assumptions to specific parts of the Internet. Case in point:

 _> One example is Google's Page-Hiding Snippet, which may cause a web page to be blank for whole 4 seconds... Both the analytics.js and the test script are loaded from www.google-analytics.com, a tracking domain, for which we engage the tailing delay._

Clearly if a domain is serving up an A/B test script then it is doing more than tracking.

 _> Simply said some sites may need to be fixed to be able to adopt this change in scheduling._

I have a problem with the term "fixed" here. Seems like Firefox's assumptions are what's broken here.

</comment><comment><USER44> I built PrivacyWall to block all Firefox telemetry urls. It may make your browsing even faster since it blocks all unwanted data collection that happens in the background at the OS level. That means it is more effective than an extension running on top of Firefox, and Firefox cannot surreptitiously send data without your knowledge anymore. If you are working on sensitive projects and this is something you are worried about, I am making it available for free for non-commercial users at [http://www.privacywall.org](http://www.privacywall.org)

I received alot of emails from loyal Firefox users telling me they are worried about their privacy when using Firefox 57 after the Looking Glass debacle, so I decided to make it available for free. If there are tracking domains sites you you think should be blocked due to suspicious behavior, tell me the urls and I will evaluate for inclusion. Please feel free to submit it as a comment to this thread or submit it using the form submission field on the PrivacyWall homepage.

<comment><USER20> Fun fact: you can turn off telemetry yourself in Firefox. And it's open source, so you (or someone else) can check that it's actually off.

<comment><USER44> For the sake of Firefox users, I hope you are right. There's been complaints it flips back on after Firefox updates, so your privacy is at the whims of Firefox.

Fun fact: Firefox just pushed out the Looking Glass add-on to users without notice or consent this past weekend.

<comment><USER20> In the case of it flipping back on, you're at the whims of bugs - just like with all software. If there's any organisation I'd trust, it's Mozilla - <USER2> only because if they make mistakes, there is a lot of pressure for them to correct this (case in point: Looking Glass).

Note that Mozilla pushes code without explicit consent for all parts of it all the time - they're called software updates. The problem in this case was that it was for a potential feature that very few people cared for, and that it showed up as a scary extension in the extension list. That definitely should not have happened, but it's not a privacy violation.

</comment></comment></comment></comment><comment><USER45> This is the ground on which the war against Google, Facebook, et al is fought, but open-source solutions like Firefox are going to need to find a better way to monetize if they want to win. All this does is firm up the resolve of user identity resellers like FB and Google to see that Firefox gets destroyed, and it demonstrates why tech eventually all boils down to platform control.

With Facebook code intruding into every nook and cranny of the web via React and Google's position as digital Sauron, monitoring and parsing out your search history, watch history, all phone activity, emails, SMSes, and more, user identity resellers are a formidable foe, and Mozilla is in its familiar position as the David of noble, non-moneyed interests challenging the user- hostile Goliath.

Firefox may find unlikely allies in Microsoft and Apple, since these two companies still make at least _some_ money selling an actual product instead of just slurping up information about their users and repackaging it. The best thing Mozilla could do is convince Apple and Microsoft to give up their independent lackluster browser implementations and ship Firefox as the default instead.

<comment> marten-de-vries I agree it would be great if other browsers implemented this as well, but you lose me at:

> The best thing Mozilla could do is convince Apple and Microsoft to give up > their independent lackluster browser implementations and ship Firefox as the > default instead.

Multiple independent implementations are of vital importance to the web. We've seen it with IE6 before, and having two browsers is cutting it too close.

<comment><USER45> The "independent implementations" aren't worth much if nobody uses them. Chrome already has a majority of the market share at ~60%, with Safari, its nearest competitor, trailing far behind at ~15%. Firefox is sitting at 9.3%. [0]

Combining IE/Edge, Safari, and Firefox still leaves Firefox at half of the market share of Google, and that's still a distinct disadvantage, but it's a much stronger fighting position than single-digit market share. Google and Facebook are not naive upstarts and it won't be easy to quash them, especially not when little old Mozilla is running on comparative fumes compared to a couple of the best-capitalized companies on the planet.

Google and Facebook's interests are aligned as both base their business model on profiling and reselling data derived from user behavior, so it's unlikely that Google will feel inclined to implement desired user protections against that business model.

It's very important that we have strong competition representing a diversity of interests, especially when the dominant player's business model is just "slick spyware". Without a competitor in the same league, consumers don't really have an option.

[0] [https://www.w3counter.com/globalstats.php?year=2017&month=11](https://www.w3counter.com/globalstats.php?year=2017&month=11)

</comment></comment></comment><comment><USER46> Well, <expletive>. Looks like I can't rely on either Chrome or Firefox not to <expletive> with websites.

I would really love to just stop using the web entirely and go back to Gopher.

<comment> marten-de-vries From the article:

> Scripts are delayed only when added dynamically or as async. Tracking images > are always delayed. _This is legal according all HTML specifications_ and > it's assumed that well built sites will not be affected regarding > functionality.

(emphasis mine)

<comment><USER46> I don't know about you, but I don't browse the World Wide Implements-The- Specification-Perfectly Web.

<comment><USER47> If you aren't complaining because it violates the spec, what are you complaining about? Is any change to any detail about how a browser works necessarily bad?

<comment><USER17> I understand the complaint. Let me put it this way: how would you feel if your ISP was delaying your connections to a subset of websites for a few seconds? It wouldn't violate any specs, as far as I know. But a _lot_ of people have expressed the sentiment that they don't want middlemen messing with websites. It's not clear to me that Firefox qualifies as an exception to the rule, especially if this becomes something other browsers adopt.

<comment><USER46> It's not even a NN-type middlemen issue for me, though that is exactly what's going on here. The bigger problem for me is causing regressions for users. On top of that they're causing regressions just because they don't like X traffic, and they're not even exclusively affecting X traffic - they're affecting unrelated traffic too. It's just an incredibly arrogant, annoying, bad thing to do to users who never requested this to begin with.

<comment> yjftsjthsd-h Should only affect pre-broken code. Like complaining that a compiler is doing something with undefined behavior than you wanted: I get that it's annoying, but maybe fix your code so it's not a problem?

<comment><USER46> This isn't even a broken code issue. This is a totally unnecessary functionality regression issue. Instead of just loading a page, they're waiting four seconds to load the page, because the page uses an asset on a domain they flag as a tracking domain.

This is like if the compiler generated loops with 4000ms sleeps because the app links a library the compiler thinks is annoying.

Technically the compiler never said it _wouldn 't_ add random sleeps into loops. _It 's totally in spec! What's the big deal?_

Meanwhile, my app is slow now. Or in the case of some apps, actually broken for active use cases where it used to work fine. Which, again, is totally regression by any QA standard.

<comment><AUTHOR> > they're waiting four seconds to load the page

You make it sound like Firefox is just adding a wait for no reason.

The reality is that the page is asking Firefox to download dozens or hundreds of scripts [1]. Firefox needs to prioritize those loads somehow, because it generally doesn't want to open that many connections to the server in parallel. So it prioritizes the non-tracking bits over the tracking ones. If all the non-tracking bits are done loading, the trackers start loading at that point.

> This is like if the compiler generated loops with 4000ms sleeps

No, it's more like if your OS scheduler decided to prioritize some applications over others based on how much it thinks you care about them (e.g. based on whether they're showing any UI, or based on whether they're being detected as viruses by the virus scanner).

[1] For example, [http://www.cnn.com/](http://www.cnn.com/) shows 93 requests for scripts in the network panel in Firefox. If I enable tracking protection, that drops to 37 requests.

Or for another example, [http://www.bbc.co.uk/news](http://www.bbc.co.uk/news) has 67 script requests and only 20 with tracking protection enabled.

Or for another example, [https://www.nytimes.com/](https://www.nytimes.com/) has 150 script requests and only 40 with tracking protection enabled.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER48> :[ I'm afraid this might be a "too-little-too-late" attempt to stave-off the downfall of net-neutrality.

Net-Neutrality means that the finance of the internet is driven by site-owners receiving funds from advertisers (or from subscriptions...but that seems comparatively negligible)

Getting rid of net-neutrality will mean ISPs (despite their common-carrier designation) will control this whole model^...meaning they will control the internet.

The largest argument in support of repealing net-neutrality involves taking power away from advertisers...so does this Mozilla policy.

<comment><USER49> I'm not sure what article you read, but this change in Firefox is simply a change in the timing of requests to certain domains that are known to be for tracking/analytics in an attempt to improve the load time of websites.

If anything this move is anti-Net Neutrality since it's prioritizing non- tracking domains over tracking domains as opposed to treating all domains equally.

<comment><USER50> It cannot possibly be anti-net-neutrality, because it is an action being taken by the user agent, not a transport.

<comment><USER48> @Rudism actually convinced me you're correct (in spirit) unless there is some other portion of information we're missing. However a client-application is not the same thing as a user-agent. Just because their software is on my laptop does not mean I'm in control...What makes you think client-side requests preclude this being about net-neutrality?

Latency is additive...regardless of what layer we're talking about. increases in transport latency can be compensated for at the physical or application layer...time is time, the OSI model isn't involved.</comment></comment></comment></comment>


Ask HN: When vendoring for an OSS project, how do you handle licenses? - <AUTHOR> This question seems almost too simplistic to ask, but I wanted to check with HN what the current best practice was.
The context: I'm considering vendoring a couple of dependencies, both under the MIT License, in a project I intend to also publish under the MIT License.
One of the requirements of the MIT License is that the original licenses must be preserved and accompany all copies. Is it sufficient if I preserve them within the src/vendor/ folder? Or do I need to concatenate both their licenses to the LICENSE file in the root folder of my project?
I intend to deliver this project as a source download only, if that makes a difference.
Finally, how do people who vendor projects with different (and perhaps incompatible) licenses deal with it? <comment><AUTHOR> To add further information to my own question: it would appear that the kubernetes project performs this a third way.

The top-level license file is their own Apache license, but their GODEPS folder contains a file, LICENSES, that is very long, and built up by concatenating all the licenses of their source projects.

[https://raw.githubusercontent.com/kubernetes/kubernetes/mast...](https://raw.githubusercontent.com/kubernetes/kubernetes/master/Godeps/LICENSES)

<comment><AUTHOR> One last comment and I'll stop talking to myself[0]. But that LICENSES file is so long, it just scrolls and scrolls!

[0] Not a promise.

</comment></comment><comment><USER2> Just AAron Swartz it: don't follow the license at all and do what you want.</comment>