Google's Chief Legal Officer on Microsoft's acquisition of Yahoo - <AUTHOR> http://googleblog.blogspot.com/2008/02/yahoo-and-future-of-internet.html

<comment><USER2> I find it ironical that Google, who bowed to the totalitarian control of China, is concerned about a MS/Yahoo! monopoly. To me, Google would have more credibility if they chose to not do business in China.

"It's about preserving the underlying principles of the Internet: openness and innovation."

Actually I think to Google it's about making a buck, and making sure the buck stops at Mountain View, not Redmond.

</comment><comment><USER3> Given that most folks think that the merger would be a failure, it's strange that Google would put out something that sounds positively scared.

Google's reaction should be a confident, _"Bring it on"_

<comment><USER4> maybe this is what they want them to think, that they are scared so that they do this merger.

It's useless to read/analyse something you don't know who wrote it because it's impossible to understand the motives.

</comment></comment><comment><USER4> if Microsoft acquires Yahoo and ignores the users interest, then this is only going to benefit innovation.

and complaining who? Google who has almost a monopoly on search.</comment>


New York's Elevators Define the City (2016) - <AUTHOR> https://fivethirtyeight.com/features/new-yorks-elevators-define-the-city <comment><USER2> >There are only about 30 elevator and escalator deaths in this country each year. About 1,900 people die taking the stairs.

This is a great example of a useless statistic. There's no point in having it, it does nothing at best and misleads at worst.

In order for it to be useful, at the very least it should be deaths per some value that represents the relative frequency by which elevators and escalators are used. Elevators and escalators are pretty much never covered in snow or ice and it's a lot harder to fall down an escalator since you don't need to move while on it. I'm sure if you replaced every small flight of stairs in front of a building with an escalator a lot more people would die on escalators.

>Some of the outlying entries in the data set are indeed legitimate. The Barclays Center, home to the Brooklyn Nets and New York Islanders, has not one but two freight elevators that each have a capacity of 80,000 pounds (13 or so elephants).

The citation on this ([http://www.meielevatorsolutions.com/wp- content/uploads/2015/...](http://www.meielevatorsolutions.com/wp- content/uploads/2015/04/BARCLAYS-CENTER.pdf)) was a far more interesting read than the author waxing poetic about boxes that go up and down so I guess that makes up for the abuse of statistics.

<comment><USER3> I suspect Americans travel approximately as many if not more floors in elevators than stairs, making a direct comparison more meaningful. Sure, you can slice it by trips or time, but stairs still kill a lot of people each year.

EX: NYC has 8.5 million people who probably average 50+ flights a day in elevators. People may travel up and down stairs more frequently, but few people are traveling anywhere near that far.

<comment><USER4> > NYC has 8.5 million people who probably average 50+ flights a day in > elevators

This is hard to believe

<comment><USER3> NYC Average Floor Count = 38 above ground. People are going to go up ~1/2 of them on average.

If they enter and leave 1 building once per day that's ~38 floors, double again for leaving home to get to work ~= 76 floors. Many people like the homeless or shut ins average less, but someone that is doing delivery's could easily average 1,000+ floors per day.

I could see the overall average easily being 100+ floors, but 50 seems like a very safe bet.

<comment><USER5> Where did you get that average floor count stat? That sounds very high except in parts of Manhattan.

<comment><USER3> Random post online.

While it seemed high, if you have a 1 floor building, and a 10 floor building you have floors ((1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10) + (1)) / 11 = 5 floor average height.

Not: Average the building heights (10 + 1) / 2 = 5.5 and then cut that in half = 2.75 average floor height.

PS: Put another way a 1 story building has 1 floor of people a 100 floor building has 100 floors of people so the average person is not evenly split between both buildings. So, 100 1 story buildings and 1 100 story building average to 50 floors. (+/\- and off by 1 errors as you go up 99 floors to reach 100th floor, but people also go to basements.)

<comment><USER5> That random post is way off. I was curious and even if you only include buildings 10 stories and up, the average is under 20. And if you have ever been to the boroughs, you would know that there are many houses and buildings under 10 stories.

[https://fivethirtyeight.com/features/the-tall-apple- number-o...](https://fivethirtyeight.com/features/the-tall-apple-number-of- stories-in-nyc-skyscrapers-might-floor-you/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> A great elevator related programming game: [https://news.ycombinator.com/item?id=8929314](https://news.ycombinator.com/item?id=8929314)

</comment><comment><USER7> This is a great example of crafting a compelling narrative from a publicly available dataset.

</comment><comment><USER8> > Maybe Willy Wonka's Great Glass Elevator exists, after all

In all seriousness, is there something that prevents us from building Roald Dahl's ingenuity? Like if you had a corporate campus with a few towers, and when you climbed into an elevator, you input not just a floor number but a building letter too, and if the building letter was for a different building, the elevator would go to a subterranean level, disengage from that building's elevation mechanism, travel to the other building (maglev? subway style?), and re-engage with the elevation mechanism in the other building.

<comment><USER9> As anyone who's been asked to write an elevator emulator, it hard to optimize even when just going up and down. The extra mechanicals to go building to building would be non-trivial.

You'd have to use destination dispatch, which you tell the elevator console outside which floor, and it tells you which elevator to get on. You can't control the elevator destination from inside the elevator. I encountered one of these systems on my last trip to NY.

[https://en.wikipedia.org/wiki/Destination_dispatch](https://en.wikipedia.org/wiki/Destination_dispatch)

<comment><USER10> Recently I worked at a company that used the destination dispatch concept. It was terrible and during peak times huge groups of people would be waiting for their elevator. Not to mention you would easily miss your elevator in certain situations. Elevators would also become overpacked if only one person in a group selected a floor but this is more user error than anything.

I much prefer the approach where certain elevators go to certain floors. My building was only 20 stories but I'd imagine it would be even more of a headache in NYC.

Cross building destination dispatch would be terrible IMHO.

<comment><USER11> I stayed in a hotel using destination dispatch and it was pretty comical to watch. They actually had someone standing outside of the elevator part of the day explaining to guests how it worked.

A lot of people also seemed to think you could only make one floor request at a time. A large group of people was waiting at the elevator and after the elevator came for one of their floors, only one person came up to enter their floor. The look of surprise on their face when I walked over and pressed my floor and almost immediately got an elevator was pretty great.

I think the real problem with destination dispatch is that people just don't know how to use it yet.

</comment></comment></comment></comment><comment><USER12> (2016)</comment>


Is Serverless Computing Any Different from Heroku, OpenShift, and Other PaaSes? - <AUTHOR> https://medium.com/@osipov/composable-architecture-patterns-for-serverless-computing-applications-part-4-ca363f2581ab#.tcv0ltwno <comment><USER2> Correct me if i'm wrong, but for "serverless" to work, does there still not need to be a "long running" daemon somewhere that runs the containers on demand? Who pays for that? Is it just extra capacity that AWS just takes the hit on for the cost of the service? And if so, can this extra capacity burst if needed when millions of requests come in at the drop of a hat?

<comment><AUTHOR> You're right, the "long running daemon" is the serverless platform, i.e. the process that hosts the serverless applications (microflows). In case of public cloud providers like AWS, there is ample spare capacity, so hosting (and charging for) microflows in addition to other workloads makes economic sense.

With respect to the extra burst capacity -- in theory there should be excess capacity available, in practice it varies depending on your cloud provider.

The lack of the excess capacity is usually a financial, not an engineering problem. The cloud provider may offer SLAs that ensure that a customer gets credit in case if some requests haven't been serviced as expected.

<comment><USER2> That makes sense, it just seems wasteful on aws's end to have thousands of machines running "for free" waiting on requests that may or may not come. Provisioning more capacity also can't be instant. For a large scale enterprise system it seems like it could be unpredictable.</comment></comment></comment>


Don't Believe the Hype - <AUTHOR> http://blogs.wsj.com/accelerators/2012/12/20/ignore-trends-and-predictions/

<comment><USER2> "I don't care about trends and my only prediction is that one day I will die."

I think that says a lot. Predictions can give us tunnel vision. Sometimes the biggest opportunities are in the most unexpected places. I really respect Brad's opinion on this.

<comment><USER3> At the same time, I imagine he could make a lot of accurate guesses on where the industry is moving. People are not expecting him to be exact so, to me, his response reads like someone who just doesn't want to be wrong. Even if Brad doesn't invest in the short term, he is perfectly capable of giving generalized short term predictions. There are superior less evasive answers from other investors for anyone who is looking.

<comment><USER4> If I was in the business of investing other people's money, I would like very much to be perceived as a shrewed individual who tries very hard not to be wrong, favoring long bets and coming up right.

Nothing wrong with that.

</comment></comment></comment><comment><USER5> I know doing exercise and eating healthy every single day is good but I can't follow that all the time because I am human. I skip when I am tired and stressed out. VCs are humans too and even though their "idealistic" stand is to only invest long-term we see them all the time investing in the short-term trends. If that wasn't true, this socio-loco-mobile trend would have died already.</comment>


Inline Commenting with JavaScript. Looking for feedback - <AUTHOR> http://ggreiner.com/comment.html

<comment><USER2> I couldn't get it to work in Chrome ("keyCode of undefined" errors). This is similar to something I wrote for Automattic recently.

I was pretty pleased with how I tackled annotations across block level elements. Essentially you find your range's start and end containers, and if they match you can just range.surroundContents on them, but otherwise you surroundContents multiple times, once for the start container to its end, once for the end container, from its start until the end of the range, and then for every block element in the middle. Fun stuff.

<comment><AUTHOR> Thanks for the feedback! At what point in the process did you get those errors? I tested it almost exclusively in chrome and its worked great for me and the friends I sent it to.

I decided not to allow commenting across line breaks because they way I highlight commented text looked weird across line breaks. However I thought my way of allowing commenting over HTML tags (links and such) was pretty cool. I found all HTML tags with a regex and then started removing them one at a time from the bottom of the page until I could find the selected text. This gives me the starting index in the raw HTML of the selection and then I just step through the selection (skipping html tags) to find the ending index. Probably not the most efficient method but it works well!</comment></comment>


Hacker Eva Galperin Has a Plan to Eradicate Stalkerware - <AUTHOR> https://www.wired.com/story/eva-galperin-stalkerware-kaspersky-antivirus/ <comment><USER2> As long as law enforcement has access to these tools, so too will the tech savvy public. The only protections are enforced universal human privacy rights, for everyone.</comment>


Misleading statistics about household incomes in USA - <AUTHOR> https://www.conservativereview.com/commentary/2016/09/misleading-statistics <comment><USER2> As per usual for Thomas Sowell, he pretends to offer insight when he actually attempts to confuse the issue. He relies on outliers and misunderstandings to make his point. For example, he says that someone who earns $200K from the sale of their home will show up as an equal statistic as someone that earned income of $200K yearly. No. No. No. That's not how it works. Money made from homes where the _profit_ less than $500K is not counted at all as income for your own residence because it is understood that this money will likely go right back into the next home you buy in that same year. Now, if you are buying and selling homes for profit as a business, then that _IS_ a business, and counts as income from that business.

His conclusion? "This means that statistics on income inequalities are often comparing high multi-year earnings with lower single-year earnings -- that is, comparing apples and oranges." He is taking an extreme minority of cases (which he calls "high multi-year earnings") and comparing that to the most common cases of normal yearly income (which he calls "lower single-year earnings") and saying these two are happening in such parity that the statistic about household incomes is "comparing apples and oranges". No, Mr. Sowell, it is you who are comparing apples and oranges.</comment>


Chrome Widevine DRM can no longer be disabled - <AUTHOR> https://bugs.chromium.org/p/chromium/issues/detail?id=686430 <comment><USER2> This + moving SSL certificate details dialog hidden away into devtools + no way to disable NaCl + chrome 56 auto-re-enabling flash and widevine on every launch (which shows a click-to-enable-flash everywhere chrome55 would just use a html5 video player) + the upcoming background tab throttling means I'll be seriously reconsidering firefox or safari before the next Chrome release :-/

<comment><USER3> I have actually started using firefox again recently, chrome has lost me due to how hard they (and Google as a company) are trying to push things on to people.

Anyways, I am in love with the nightly build of ff and everyone should honestly give it atleast a week of their time to try it.

The developer edition and the nightly build have some really interesting features for development out of the box and honestly helps make work easier. You do run in to the occasional error or two but for pre-release versions they are seriously stable.

p.s [https://news.ycombinator.com/item?id=12579163](https://news.ycombinator.com/item?id=12579163) (Choose Firefox Now, or Later You Won't Get a Choice (2014))

<comment><USER4> Hi all.

Just wanted to tell you that a lot of people working on Firefox are here and we really appreciate your word of mouth support and feedback.

This year is going to be huge for us as we're wrapping up the part about reducing technical debt and start gearing toward using our new superpowers to innovate.

We need your help to stay relevant (market share), improve quality (report bugs, write test cases), and improve (lots of code in Firefox is easy to hack on as we move a lot of UI to HTML/JS - like devtools).

<comment><USER5> This is great to read/hear. I'll put my vote in for two things. 1) Performance, performance, performance; this is what originally caused me to use Chrome a lot more, the perception of quick-to-open tabs and snappy responsiveness. 2) Privacy; this is something Google almost by definition can't compete on, because their business model depends on providing something free in exchange for user data (the opposite of privacy). A third important consideration of course is "not crashing" or at least if there is a crash, containing it to the offending tab - this is why I'm very happy to read about the progress of multi-process Firefox! Keep up the great work guys.

<comment><USER4> Hey, thank you for your input.

We are aware of the importance of those three things. They're all not-trivial problems to solve, but we're working on all three:

1) Performance is an insanely complex problem. We can't easily measure the "real" performance, in a scientific way. We can measure performance of so called "microbenchmarks" which can tell you that, for example, our JavaScript engine can perform X million regular expression computations per second. The X may be higher or lower than what Chakra or V8 can, but how it translates to real world experience is insanely complicated. What we know by now is that JS engine performance is not the problem. At this point all modern engines are fast. What we need to advance are things like performance of DOM, CSS, layout, painting and prioritization (ability to ensure that UI performance cannot be blocked by website's JS computations). We're working hard on several projects this year, under the umbrella of codename "quantum" that is aiming at making Firefox blazingly fast. We're taking lessons and code from Servo and applying it in Firefox. The end result, if we succeed, is that we'll have ability to perform DOM, layout, CSS and painting orders of magnitude faster (even if it's 2x it's still huge!). The other piece of performance, is what's called perceived performance. That one is even more tricky because it's all about what your brain tells you. In cognitive psychology and HCI there are tons of studies that prove that depending on how we use tricks like animation, colors, shapes and gimmicks like focus, we can trick your eye to think that things are faster or slower. Chrome is really good at that and kudos to them! I love watching their UI painting order in 120fps slow-mo just to see all the things they employed. Together with Quantum we're going to look into ways to improve the perceived performance of Firefox. I hope we'll get it right :)

2) On the privacy front we're working with Tor browser and we're also working on several projects aiming at disrupting the current way of browsing the Internet. Read about Firefox+Tor browser and Activity Streams if you're interested.

3) On the QA front, we've made major progress over the last year. That's a huge part of the technical debt that we had to remodel in 2016. We now have much better fuzzers, tests and APIs that makes it easier to write code that will not break. On top of that, multi-process helps us make sure that painting crash doesn't crash your browser, that plugins can't crash your browser and finally that content can't crash your browser. We also designed a whole new language that is significantly better suited to write security critical code than C++ is. It's called Rust and we just started moving pieces of our engine to it. If we can succeed with this, we should end up with a codebase of the unprecedented stability for a project this size and facing third-party code. If you're interested, read about Mozilla Oxidation project.

It is a major bet. We're betting on JS, we're betting on Rust. We're betting on Gecko and our ability to "change the engine mid-flight". I'm excited about the opportunity, but it's going to be a huge effort to pull it off.

If any of this is interesting for you, help us! We're a small team (compared to all other browser engines), but we have a culture that fosters community participation and I believe that we can compete and shape the Web together: [https://whatcanidoformozilla.org/](https://whatcanidoformozilla.org/)

<comment><USER6> On desktop firefox for linux I notice that chrome makes vastly better use of gpu acceleration given nvidia card + official nvidia drivers are there plans for improvements on this front. This is literally the only reason to run anything but firefox on any device I have and would love to see improvements on that front. Without tweaking in about config my wifes computer which is anything but blazing fast with a dual core 3 ghz full screen 1080p video was like a slide show. Even after its noticably laggy to the point where I've had to install chrome.

I'm not sure if it makes any difference whether its flash or html5 video.

<comment><USER4> did you report bug on bugzilla.mozilla.org ? If not, please do and include all the details you can about your platform.

Graphic driver bugs are nasty :)

Hope we'll be able to address it and remove the one and only reason you can't use Firefox!

<comment><USER6> I don't think per se its a bug. It just seems to be relying on the cpu vs gpu and the cpu isn't incredibly fast. Its dual core phenom II 3 Ghz

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm glad Mozilla provides EME-free version of Firefox: [https://ftp.mozilla.org/pub/firefox/releases/51.0/](https://ftp.mozilla.org/pub/firefox/releases/51.0/)

<comment><USER8> Normal Firefox builds also provide a checkbox under the Content settings to disable it. As far as I recall, I've never touched the setting, but it's disabled here.

<comment><USER7> I suppose EME-free builds prevent even the possibility of enabling it.

<comment><USER9> You can technically re-enable EME in the "EME-free" Firefox builds by setting the "media.eme.enabled" pref in about:config. The term "EME-free" is a bit of misnomer. The "EME-free" builds have two differences from regular Firefox builds: the Widevine CDM downloader is disabled and the "Play DRM content" setting checkbox is hidden.

<comment><USER7> I see, thanks. I hoped they actually disabled EME functionality at the build time. That would have made more sense.

<comment><USER10> Well, Firefox does not contain EME functionality itself – if it's needed, and activated, it just downloads the binary and runs it.

The EME-free builds just have that download code disabled, and the setting for it hidden.

<comment><USER7> It supports usage of EME related API which sits around the blob. Having no such support altogether (cut out at build time), would make the blob irrelevant to begin with.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Looks like the semi-official Google position is that Widevine should have been impossible to disable all along [1]. Go figure.

[1]: [https://bugs.chromium.org/p/chromium/issues/detail?id=615738...](https://bugs.chromium.org/p/chromium/issues/detail?id=615738#c31)

<comment><USER12> Honestly? It makes sense and I see nothing wrong with it.

Chrome is Google's opinionated version of Chromium, with the average user in mind.

Everyone else should be using Chromium. There's nothing wrong or lacking in it now that the PDF module has been open sourced. If one wants Flash or Widevine, those can be installed separately.

<comment><USER13> Is there a way to use a stable version of Chromium that automatically updates?

<comment><USER14> sudo pacman -S chromium. All decent distros ought to have it.

<comment><USER13> Thank you but I use Windows.

<comment><USER15> It's available in Chocolatey [https://chocolatey.org/packages/chromium](https://chocolatey.org/packages/chromium)

</comment></comment></comment></comment></comment></comment><comment><USER16> That's interesting, because Brave has Widevine off by default and includes this notice in the preference UX for enabling it:

\---

Google Widevine Support

Google Widevine is a piece of Digital Rights Management (DRM) code that we at Brave Software do not own and cannot inspect. The Google Widevine code is loaded from Google servers, not from our servers. It is loaded only when you enable this option. We discourage the use of DRM, but we respect user choice and acknowledge that some Brave users would like to use services that require it. [info link to [https://www.eff.org/issues/drm](https://www.eff.org/issues/drm)]

By installing this extension, you are agreeing to the Google Widevine Terms of Use. You agree that Brave is not responsible for any damages or losses in connection with your use of Google Widevine. [info link to [https://www.google.com/policies/terms/](https://www.google.com/policies/terms/)]

Enable Google Widevine support [button label]

\---

You can view this as a DRM mandate canary if you like. It's still in Brave 0.13.0. That's all I have to say for now.

<comment><USER16> We don't even load the DRM module (CDM) until that pref is enabled, note well.

</comment></comment><comment><USER17> TIL that Widevine DRM is the reason my HDMI monitor flashes whenever I start or stop viewing something on Netflix or Amazon Video.

Welp.

<comment><USER18> While I understand the content producers / owners stance on DRM, I've never once found a widevine or any other DRM'd show or movie that hasn't been available via piracy. All it seems to do is things like this - degrade the legal users' experience. Even though I have amazon prime and netflix accounts, I still download all of my shows. It's just a better experience.

One question I have is this: are there any examples of cases where DRM on widely distributed media has actually worked?

<comment><USER19> Every drm implementation has successfully sold engineering hours to big media. But no, if anything, annecdotally it drives me to piracy after being unable to use my purchase on my projector.

</comment></comment></comment><comment><USER20> We are all that boiling frog [1]. Google, and others, introduced a new business tactic that is even been followed by Microsoft (in reverse mode). They push all kind of open source and free stuff and slowly, very slowly, they move to old monopolies tactics. Most locked people will not change to another browser just because they added a new "tiny" portion of code which is not political correct.

[1] [https://en.wikipedia.org/wiki/Boiling_frog](https://en.wikipedia.org/wiki/Boiling_frog)

<comment><USER21> Yep. And if you don't like it they (Google/Mozilla) tell you to use the developer's version. As if using an alpha was an acceptable option.

<comment><USER22> Why include Mozilla in those parentheses?

<comment><USER23> Firefox' non-developer version is also getting more locked down. I had to change to it from the regular version when I couldn't use the extension I have written for myself anymore, because Mozilla removed the option to install unsigned extensions.

</comment></comment></comment></comment><comment><USER24> Google is turning the web into things it never should have become. It's very sad.

<comment><USER25> Sadly, I think it's popular demand that is changing the nature of the Web. Google is just taking advantage of the situation in ways that benefit themselves, as is almost everyone else in the modern Web ecosystem.

<comment><USER26> There is no such thing as popular demand, only what major web companies think will benefit their bottom line. They just supply what they want to supply and invent demand to justify it _post facto_.

Nobody outside of the MAFIAA demanded a flickering, crashy, proprietary DRM module for the web. But since that's what Google can supply at this time, they would like all of us to pretend that there's some sort of popular demand for it.

All these players add so many layers of deliberately misleading interpretation and assumptions on top of what ordinary users might actually want, it's impossible to figure out which "demands" are authentic and which ones are mere illusions anymore.

<comment><USER25> The popular demand isn't for DRM, it's for being able to watch movies and TV shows through online streaming instead of going out to the cinema or waiting for something to be on TV.

The people making those movies and TV shows are only willing to let services put them online if those services offer certain safeguards to prevent flagrant abuse.

Hence, we get DRM in online streaming systems. People who object for some reason can either disable it or use a different browser, but the price is that they don't get to stream the content. Meanwhile, most people don't know or care what DRM is or how it works, as long as they can binge-watch their favourite drama or enjoy a new movie with their family on a Saturday night.

<comment><USER27> >certain safeguards to prevent flagrant abuse

Except it doesn't do that _at all_.

<comment><USER25> Of course it does. DRM obviously doesn't prevent _every_ abuse, but the idea that a modern DRM system doesn't prevent any casual copying at all is as absurd as the idea that every copy is a lost sale when calculating damages.

<comment><USER28> Casual copying has become pretty much irrelevant, though. This isn't the 90s any more; now one person releases a torrent and thousands of people end up downloading it. When was the last time you copied some media or a piece of software from someone, even for things with no copy protection that are legal to copy? I don't even bother to copy stuff between my own computers, instead I just download it again...

To prevent piracy you'd need to stop the people who are experts at breaking copy protection (which has been a spectacular failure so far) because everyone else is just downloading their stuff and completely avoiding copy protection.

<comment><USER25> _Casual copying has become pretty much irrelevant, though._

This misconception seems to fuel a lot of the anti-DRM arguments, but I'm afraid it's a misconception all the same.

For one thing, modern online and hardware-based copy protection systems can actually be quite effective. Contrary to popular wisdom among geeks, they don't all get cracked automatically within five minutes. Illegal rips of films or TV shows mostly originate from other sources, not the online streaming services.

As for software, take a look at what is actually being copied in terms of, say, the latest games. If the copy protection even takes a few days to crack, for a new AAA title that is going to be the big thing for a month or two, that could be a _huge_ win for the publisher. Remember, we're talking about a target market who are irrational enough to pre-order big name titles, even though there is little if anything in it for them to commit their money before the game is even finished or reviewed. As far as these people are concerned, they must have their new shiny on day one or the world will end, and if they can't get it with a quick crack, a lot of them are going to pay for it.

Another factor that is often overlooked is that most creative content _isn 't_ Hollywood blockbusters or AAA games. A lot of creative content is aimed at much smaller, niche markets. There's far less incentive for crackers to spend a lot of time breaking any protections on that content, but the damage done through infringement can be worse because a lot of this stuff is created by individuals or small teams and usually it isn't super-profitable in the first place.

A second factor that often gets overlooked is that a lot of people simply don't realise when copying and sharing content is not permitted or legal. Most people aren't computer experts or IP lawyers. If you don't provide some sort of technical barrier, even if it's just a token effort that makes it clear that they're doing something they shouldn't be, plenty of people will copy and share and not even realise they're doing anything wrong. I've even seen messages sent to some of my businesses from people who literally told us (after being kicked for blatantly violating our terms) that if we didn't want that to happen we shouldn't offer content in the standard, DRM-free formats.

 _To prevent piracy..._

Most of the time, trying to prevent 100% of piracy is a futile gesture. But like any other form of security in technology, it's a sliding scale, and some is still better than none.

<comment><USER27> Copy protection on software like games can be useful. On Netflix? Not at all. It's easy to bypass, and even if it worked perfectly, you just need a cheap HDMI splitter and a capture card. The reason you don't see a lot of rips off Netflix is because Netflix doesn't get a lot of things first, not because the DRM is effective.

As far as technical barriers, recording a stream is tricky enough in the first place. You can't right click save on Netflix, even in the absence of DRM.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> I don't mind paying for content. In fact, I pay a lot for my content consumption as direct purchases and streaming services.

But I don't like having a huge pile of unverified third party code in a browser i never use for content consumption.

<comment><USER30> The CDM is a lot less of a huge pile of unverified third party code in the browser than was Flash and Silverlight before.

</comment></comment><comment><USER31> What a frustrating change. However it still is possible to disable (though you probably will need to do this every time chrome updates)

Simply deleting the folder that contains "widevinecdmadapter.plugin" will effectively disable the plugin.

So, for example, on OSX using homebrew to install chrome, it'd be:

        rm -rf /opt/homebrew-cask/Caskroom/google-chrome-canary/latest/Google\ Chrome\ Canary.app/Contents/Versions/58.0.2996.0/Google\ Chrome\ Framework.framework/Libraries/WidevineCdm

<comment><USER32> You can deny write permissions to the folder.

<comment><USER33> I wouldn't try that as it will likely break the auto-updater when it tries to update the Widevine files.

<comment><USER32> Is there something like an "overlay" FUSE fs which pretend to write what you give it but then just discards what you give it and returns the actual file when you attempt to read?

To defeat checks right after writes it could return what you wrote once( or a configurable number of times) but after that just give you the original file when you read it.

</comment></comment></comment></comment><comment><USER34> Is there a technical reason that this can't simply be disabled with a feature flag like many of Chrome's other features? It would avoid the whole issue.

Also reading this bug report makes me realize this is probably what was going on when I had similar strange issues happen with chrome and tabs and running stuff through HDMI splitters for KVM etc.

<comment><USER35> There isn't a technical reason it shouldn't be able to be implemented. Mostly it's a matter of getting the UI preference hooked up; it looks like they've already done something similar with the Flash plugin for users which wish to disable Flash, and this is a similar case.

The reality of the Flash situation is quite messy, with a ton of websites relying on nonstandard behavior and checks to see if Flash is even installed, and Google seems to have missed the use case for disabling the plugin entirely, rather than just blocking it. This seems like a similar oversight.

I'm torn here, as I see what Google is trying to accomplish with their settings spread. Mostly, the browser has chosen quite sensible defaults for the bulk of its users that needs the web to JustWork(tm) and they're hesitant to add extra checkboxes to avoid confusing folks. But with the politically charged nature of DRM, as well as the technical issues presented here (HDMI / HDCP is notoriously finnicky and the user should have more control over when it's enabled) I think a checkbox to disable the plugin entirely, similar to Flash, is the best solution.

<comment><USER36> Non-standard ways of embedding Flash are common because of Eolas patents:

[https://en.wikipedia.org/wiki/Eolas#Effects_on_other_browser...](https://en.wikipedia.org/wiki/Eolas#Effects_on_other_browsers)

[https://msdn.microsoft.com/en- us/library/ms537508.aspx](https://msdn.microsoft.com/en- us/library/ms537508.aspx)

</comment></comment></comment><comment><USER37> I've moved to Firefox on my MacBook. To make it a bit more macOS-like, there's two nice plugins:

[https://addons.mozilla.org/en-US/firefox/addon/pinch-to- zoom...](https://addons.mozilla.org/en-US/firefox/addon/pinch-to-zoom-firefox- osx/) for pinch-to-zoom

[https://addons.mozilla.org/en-US/firefox/addon/compact- theme...](https://addons.mozilla.org/en-US/firefox/addon/compact-theme/) for a theme that makes it look more Safari-like

</comment><comment><USER38> This might be the straw that finally pushed me to switch to some other browser. Any thoughts on Chromium vs Firefox?

<comment><USER39> Edge is getting there!

Surprised that this is the straw and it wasn't the hotwording binary that was pulled in to listen for "ok, google" without anyone's knowledge or permission.

<comment><USER40> Is it possible to disable DRM in Edge?

Did that binary ever listen to anything? And as far as I know, the hotwording binary outrage was about Chromium, not about Chrome.

</comment></comment></comment><comment><USER41> This is a useful link from there: chrome://flags/#prefer-html-over-flash

</comment><comment><USER42> Can someone explain this in a way that assumes no prior knowledge of Widevine or EME?

<comment><USER43> It's HTML DRM.

Most technical people are vocally opposed to it and don't want to leave a single trace in a single server log contributing to the idea that it is widely accepted and available.

A browser not only implementing DRM, but leaving you no way to disable it is seriously anti-user.

But this is Google, so go figure.

<comment><USER42> So I know what HTML is, and I know what DRM is, but I don't understand what you mean by "HTML DRM". And googling [widevine] is not helping.

<comment><USER43> HTML has always been an open standard. Every part has been open. Just by reading the spec, you could implement a fully functional web-browser. There were no secrets bits or black boxes.

So people went ahead did just that. They made new and exciting web-browsers, with new and novel features, on lots and lots of platforms. And that's why the web was a success: It was open to use by people. It was open for new clients. Nothing was locked down.

With DRM in the HTML spec comes a big, black box: You can no longer implement a fully compliant web browser from the spec alone. You'll need closed-source blobs from DRM vendors, if they are willing to provide them to you, and if they bother about compatibility with your browser, your OS, not to mention your HW architecture.

The web used to be 100% open and 100% cross-platform. The single move of adding DRM instead makes it a platform which now will only be 100% "compliant" in browsers blessed by DRM vendors, on OSes blessed by DRM vendors, on HW architectures which the DRM-vendors has bothered to implement DRM for.

It's a complete turn-around. A 100% FOSS web-browser can no longer be made.

It basically has put the 3 top DRM-vendors (Apple, Google, MS) in 100% control of which people, and on which operating systems, can get to have a full web experience.

I guess I don't need to argue why this is bad. You can take it from here, right?

<comment><USER44> No.

No one is required to ship a DRM module. You don't _need_ a DRM module if you don't want to watch Netflix.

The spec defines a standard interface to these modules. This is not worse than NPAPI.

<comment><USER45> From a technical and standards point of view, indeed it's not worse than NPAPI.You could argue that without Flash and other plugins you could not get the full web experience in the past. And therefore, in terms of browsers, OS's and HW platforms were at the mercy of Adobe, Microsoft, etc. .

But as I argued in my other response, EMEs are worse because they send the wrong message about DRM.

</comment></comment></comment></comment></comment></comment><comment><USER46> I strongly stand behind the complain vs DRM/forcing HDCP/etc, but:

What's the big deal with background throttling? On a day to day basis, how many scenarios are there where you need a background tab using CPU and doing page updates?

IMHO, it makes sense for background tabs to get throttled to save power, since 99.9% of the times, you don't need the updates (I'd say 100%, but I'm sure there'll be at least ONE counter-example).

</comment><comment><USER47> I currently use Firefox with JS disabled, for casual browsing, and Min for anything with video or JS [https://minbrowser.github.io/min/](https://minbrowser.github.io/min/) \- finally, after years, I can use a system with less than 8G of RAM.

This browser is based on Electron - does Electron also bundle this abomination of DRM plugin?

<comment><USER48> I use linux's control groups with very satisfactory results.

<comment><USER49> In what way do you use them?

<comment><USER48> I designate a separate memory control group for the browser, and set both `memory.limit_in_bytes` and `memory.memsw.limit_in_bytes` to 1.5 GB. Then the browser is launched within that group.

The tools are the standard cgcreate and cgexec.

When the browser depletes all its memory allowance, I use killall to kill the tab processes leaving only the chrome running. I refresh the tab I want and carry on.

Might seem convoluted, but works extremely well in practice.

edit: It should be noted that I currently use chromium. I intend to switch to firefox as soon as I can port this workflow to it or otherwise achieve a similar result.

</comment></comment></comment></comment><comment><USER50> It appears that DRM in Chrome might be disabled by disabling the "WidevineCDM" (binary) component update via group policy: [https://bugs.chromium.org/p/chromium/issues/detail?id=624128](https://bugs.chromium.org/p/chromium/issues/detail?id=624128)

<comment><USER51> I don't think that works. As per [https://bugs.chromium.org/p/chromium/issues/detail?id=624128...](https://bugs.chromium.org/p/chromium/issues/detail?id=624128#c8) Widevine is bundled and setting this policy just disables the updates. Also it seems that this setting disables updates for all components, most notably Flash. While I don't want Widevine (enabled) on my machine at all, I do want Flash updated automatically for the rare times I have to use it.

</comment></comment><comment><USER52> Funny enough in Firefox Widevine was default set to Always Activate on my machine. Not sure how long it's been that way. There was no "ask to activate" option. I was however able to set to "never activate". Let's see how long before this becomes annoying.

<comment><USER51> Surfing with Widevine disabled is no problem at all. Netflix and Amazon Prime Video do not work, though.

<comment><USER52> thanks... thinking about this more, I don't even recall installing Widevine at any point in the past. Perhaps bundled with FF? Fortunately, I never stream Netflix / AP to my computers.

</comment></comment></comment><comment><USER53> Sorry but can someone explain the problem. I'm very familiar with widevine, hls / hlse, and other various DRM type solutions. To me it appears a lot of uninformed answers or something that's completely blown out of proportion. So looking for someone to explain ?

<comment><USER51> What do you want to know about the problem?

I wrote the bug report that this thread is about. I think my reasons for arguing there should be a way to disable Widevine are very clear.

To sum it up again:

\- Widevine DRM has usability issues (mostly because of HDCP) ad well as stability issues, as outlined in the bug report.

\- I am politically opposed to HTML EME and I don't want it enabled in my browser. I would like it better if it was unavailable to begin with.

\- From a security perspective, allowing every web site that I allow Javascript on to talk to some dubious blob behind my back is the last thing I want.

</comment></comment><comment><USER54> Chrome similarly used to honor the /etc/hosts file, first by default, then via setting. Now it always uses Google's DNS, no workarounds. I cant create localhost aliases for dev VMs nor can I block distracting sites. I've switched back to firefox.

<comment><USER55> Ironically, this "feature" prevented me from getting good access to Google's own services. I was only getting routed to a saturated Google datacenter (the NUQ range, e.g. nuq04s01-in-f1.1e100.net). When I just blocked all those servers, it detected that and sent me to another range of servers (LAX) that worked much faster... but I used Firefox every time I wanted to open Google Maps because that trick didn't work from Chrome!

</comment></comment><comment><USER56> You know what they say - switch to Firefox now, or you won't have a choice later.

<comment><USER16> Robert O'Callahan said that, but then he left. I wish he had not said it, and so do many other heavy hitters who are or were at Mozilla.

It makes Firefox sound like a pity-f$#k, or a sin tax. At worst, a feel-good gesture that has unintended consequences.

If you like Firefox, use it! If you like Brave, either for the speed and safety of our 3rd party ad/tracker blocking that's on by default; or for the post-browser, user-data-sovereignty economics we're building to sustain; then use Brave. If you like Vivaldi, use it. And so on.

But don't make a cult out of one particular browser. Open source is not an issue. FYI, Brave is all open source.

<comment><USER57> Just please don't use IE unless its unavoidable

</comment></comment></comment><comment><USER58> so, it's kind of worrying. I hope this kind of change won't be common among browsers. I'd rather a killswitch and a moment of "ah crap, I have to enable that" than a slew of third-party code enabled at all times.

no thanks.

<comment><USER53> that's not how widevine works

</comment></comment><comment><USER59> Oh, thats why my hdmi splitter goes down every time on vimeo

</comment><comment><USER60> i switch from Firefox only if i want to watch video on non-HTML5 website.</comment>


MacBook Users: Turn off This Bluetooth Default Setting Now - <AUTHOR> http://www.wired.com/gadgetlab/2009/05/macbook-users-turn-off-this-bluetooth-default-setting-now/

<comment><AUTHOR> I just opened my backpack to find my macbook had been on and running for the last hour. The CPU temperature must have been pretty close to 90c, the laptop itself was too hot to hold. Somehow it still works, thanks to the giant unibody heatsink, I guess.

Today's lesson: Don't change your bluetooth mouse batteries after putting your laptop in your backpack, unless you want it to wake up and potentially start a fire.</comment>


Ask HN: Do you use Lua in Production? - <AUTHOR>

I've started using Lua for writing scripts and doing some data processing (stuff I've used Python for). I've wanted to refactor some of this code and put it in my production environment (I'm running an SOA so it'll likely be it's own Lua service). I haven't heard a ton about people using Lua this way, curious if anyone has experience with using Lua in production. <comment><USER2> I don't use it, but I'm curious to know why you're using it ?

<comment><AUTHOR> I got started because a friend introduced me to torch: [http://torch.ch/](http://torch.ch/). It's very quick and easy to work with. From there I started doing more with it for processing data. Now I'm considering using it in a web application.</comment></comment>


How to (Scientifically) Pick the Best Company Name - <AUTHOR> http://customerdevlabs.com/2013/03/05/test-company-domain-name-with-mturk-survey-data/

<comment><USER2> Very interesting approach. Choosing a company name is very important. I especially like the name-association part. I would just add 'meaning in foreign languages' because sometimes a company name can sound well in English but could mean something bad in a foreign language.

</comment><comment><USER3> Excellent posst in the wake of Paul Graham's new essay!

<comment><USER4> For an established company launching a new brand or product, this approach makes sense. For the sort of startup that historically had office hours with Graham, it's a distraction from working on the product. Early stage startups can't afford to waste time bike shedding in lieu of working. It's so much easier to play house picking a name than building a product and finding customers and that's why it's so dangerous.

</comment></comment><comment> rebekah-aimee I'm glad they went with ThingsWeStart. That was a much better name... I've already forgotten their other ones. Their previous favorite didn't sound as credible, either.

Plus, ThingsWeStart is probably not the Ukrainian word for an item of ladies' underwear or something.</comment>


Blockchain Tech Can Save Banks $20B a Year - <AUTHOR> http://www.coindesk.com/santander-blockchain-tech-can-save-banks-20-billion-a-year/?utm_content=buffere8f19&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

<comment><USER2> As someone who's worked in banking tech, I can assure you the banks know that the infrastructure and tech they have isn't cheap to run, and that it could be done cheaper. The problem is that the immense complexity that exists in these environments makes it so incredibly complex and costly to migrate that it's almost impossible to do. One of the biggest banks in Australia has spent _over $1 billion_ [1] on upgrading its core banking system and it's still not done.

It's not just the tech. It's not just the account data. It's complex business rules, it's reporting (internal and external), it's legislative requirements, it's integration with thousands (not exaggerating) of other systems internally, up to hundreds externally, it's about legacy products from 30 years ago which are still on the books, etc.

[1] [http://www.itnews.com.au/News/256341,cba-goes-real-time- as-p...](http://www.itnews.com.au/News/256341,cba-goes-real-time-as-part-of- core-banking-upgrade.aspx)

<comment><AUTHOR> Sounds like a startup opportunity to build what they need.

</comment></comment><comment><USER3> Being Bitcoin entusiast, IMO blockchains provide no benefits for banks. Blockchain is actually very ineffective protocol/data structure, and the reason Bitcoin uses it is because it provides pseudo-anonymous network that removes need for trust. Also Blockchain can be trusted only combined with underlying unit of motivation and currency: Bitcoin (or other coins). Banks don't need pseudo-anonymity and can provide some level of trust. Protocols like Stellar / Ripple / Open Transactions and other non-blockchain digital accounting technologies are much better suited for banks.

</comment><comment><USER4> Could someone on HN point me to a good article or vidoe on blockchain tech?</comment>


On Counter Offers - <AUTHOR> http://jasonpunyon.github.com/blog/2012/05/17/on-counter-offers/ <comment><USER3> I feel like the author has severely overreacted here.

Counteroffers are a fact of daily life with most corporations, there's nothing malicious nor personal about them. A ludicrous counter-offer means the company has severe managerial issues and has allowed someone to become absolutely, non-negotiably indispensable.

IMO perceiving the counteroffer as "buying off his dreams" is a huge overreaction, and in my various jobs has never been a malicious move. Your boss is trying to save his bacon, not destroy your dreams.

The author does nail one point, but for the wrong reasons:

> _"So some of these offers are just plain "keep them in the building while we > find a replacement who'll do the job at the price we were paying.""_

That's exactly what these counteroffers are. Very few counteroffers are serious counteroffers (serious as in they will keep you on indefinitely at the new salary). Management is going "oh fuck, how did we let this guy become so critical" right now, and as soon as the immediate crisis of you leaving is gone, they will attempt to replace you. You'll be out on your ass as soon as they find/train that someone.

I've had this exact thing confirmed by multiple HR folks I've known, all off the record of course. They admit that they explicitly get asked by management to organize a "manage-out". Hell, this sort of thing is bog-standard for most large HR departments.

> _" Companies don't just allow their managers to get slapped around and make > outrageous counter offers to people. Budgets and HR minions can't stand > that. The manager gets dinged by the higher ups because she's "lost > control"."_

This seems like where the author is off the mark. In my experience no HR person nor upper-management exec has to chase your boss down to push you out. Your boss already has every intention to manage you out as soon as he drops the counteroffer on the table. Especially when the offer is 2x your salary.

<comment><USER4> If you get a ludicrous counteroffer, it's probably the perfect time to also get a severance package if you don't have one or get an increase in severance if you do.

<comment><USER5> Wow, I never thought of that.

I'm heading for a situation that will most definitely result in a counter- offer and my thoughts were to ask for an employment contract to lock in my time and terms so I don't get backstabbed a few months later. But my problem was how to generate and finish the contract before losing one (or both) jobs.

Severance seems a lot easier to get in place and locked in. Does anyone else have experience with this?

</comment></comment></comment><comment><USER6> Congrats on your job and all, but I don't think a counter-offer with a raise should be taken as the action of a "skeezy jerk." It sounds like a reasonable reaction to losing a good employee.

Financial considerations are a significant part of a lot of peoples' reasons for working where they do. Some may even use job offers as bargaining tactics. If you were working at a hedge fund, obviously finances are at least part of your motive. So perhaps your boss merely sought to play to that.

<comment><USER7> I disagree that it's at all reasonable.

The only reason to make a counter offer is because at least one of the (major) reasons an employee is leaving is money (and that's basically never the reason). People leave because it's not a fit. Money isn't going to make it a fit, so as a manager giving a counter-offer, if you know what you're doing.. you're buying time. Hoping the employee will take the offer and you'll figure out how to make them less important to you over the next N months. That's skeezy. Otherwise you don't know any better. You're a shitty manager and you're out of touch. It doesn't occur to you that you already have a team where your best is leaving, and now you'll spend the next N months making your best even more bummed out and less productive (especially since they're suddenly in the position of realizing how much leverage they have with you).

The whole thing is sad and terrible. If you're a manager and this happens, let it. Then turn around and figure out what your remaining employees need to be happy and fulfilled.

<comment><USER3> > _"Money isn't going to make it a fit"_

But yet, for many people, it does. In the grand scheme of all programmers (or any profession, for that matter), only a minority are doing it for the sheer passion of it. Most people are in it for the paycheck, and if they can get a larger paycheck without taking a substantially worse job... That's a sweet deal.

<comment><USER7> I don't believe this at all. Put another way: you're exactly right, but I'd combine two concepts you separate.

Everyone is working for passion/happiness. There's the net awesome that you get out of solving problems and building value at worth, and there's the net awesome that you buy with the money they pay you.

One way to look at it is that it all goes in the same pool and plusses-and- minuses until you have some score of how awesome your days tend to be.

I think that's the only reasonable way to look at it, and I don't buy the 'some of us are just working stiffs' bit that gets dropped into these threads on HN. I think more accurately, it's just generally speaking really hard to find an awesome job and eating and sleeping (under drywall) is expensive... So for lots of folks salary dwarfs work environment in priority.

The sad thing is that the comparison is generally done in a speculative vacuum. It's very easy to imagine what would happen if we made less (or more) money. That's pretty simple math. It's much harder to evaluate the benefits or drawbacks of a different work environment on our lives. Challenging math.

Oh, and that was a total tangent... to the point, in my example the employee is leaving for reasons other than money. So the premise kind of is the conclusion there. I was just being redundant. It's just a logical redundancy that lots of people in this situation seem to miss. Dollars do that.

<comment><USER8> > Everyone is working for passion/happiness.

By "everyone" you clearly can't possibly mean "everyone."

<comment><USER9> No, everyone - either for the passion/happiness of the work, or the passion/happiness gained from the pay. Even having food to eat is a small happiness.

</comment></comment></comment></comment></comment></comment><comment><USER10> Counteroffers get made all the time - I've had at least 3 made to me in the past, including one for an interdepartmental transfer within the same company (!) Accepting a counteroffer is staggeringly stupid for a number of reasons, but I just can't comprehend why the author would get so offended that one was made in the first place. Answer "no" and move on, easy.

</comment><comment><USER11> As a manager, I will almost never make a counter offer. If somebody has gotten to the point of a job offer elsewhere, their head will be out of the game. While money may have started the job hunt, as time has gone on, they've found a dozen other things that are driving them crazy. Those don't go away with the counter offer and will eat away at them until they wind up leaving anyway (with poor performance in the meantime).

The only time I'll consider a counter offer is if 1) the engineer really is good and 2) they don't really want to leave. It's a judgement call and I've only chased somebody once (successfully, I might add).

<comment><USER12> If there really are so many things that drive employees crazy, then something's wrong anyway. There are many people who don't complain about stuff in the open, but get fed up more and more until they just quit - <USER2> without telling you the reasons at all. Apart from such peoples' quirks, culture often discourages criticism for all employees. There are many possibilities to avoid such situations, but the one I like best is described in Tony Hsieh's book about Zappos: a public culture book which is basically a report on what goes good and wrong in the company. It's foolish to believe that people most often leave for the money - I'm quite sure that 50-80% of quittings are due to crappy culture and its consequences (e.g., too small monitors :)).

<comment><USER11> There may really be something wrong culturally (I try hard to prevent that, but some things are out of my control), but, especially when there isn't, people feel the need to have a _reason_ to leave, a reason to bail on a project, potentially causing extra stress to people they like.

To assuage these feelings of guilt, people start identifying and magnifying things that would never have bothered them otherwise (such as "why does management only value me when I threaten to quit?"). Once those seeds are planted, it is a steady progression towards exit from the company. I'd rather the engineer take the new job and find somebody who is excited about my opportunity.

There are no absolutes in management, though. Like I said, I have chased somebody back into the company who was in his last days with an accepted offer elsewhere.

The real key is to make it so your toxic employees want to leave and your fertile employees have no desire to answer te headhunter call.

</comment></comment></comment><comment><USER13> > This counter offer reeked of skeeze. He was trying to buy my dreams from me. > When someone tells you "I've been given the opportunity to live my dreams, > I'm leaving" the decent human thing to do is to congratulate them and send > them on their way. (With a security escort out the building, of course. You > dont know what these dream heads are gonna do on the way out.) What you > don't do is tell them you think so little of them, their lives and their > goals that you think can buy them off.

Personally I don't feel that they meant any disrespect. They're just desperate to keep you longer. It is hard to find good developers.

<comment><USER14> It is a sign of disrespect. If they actually thought of the author as a good developer or good <whatever X> position is, they would have already paid him the 2X salary increase beforehand, or at the very least not gone to war over what the author calls a "pittance" of a raise relative to what he was earning.

While it's true that they're desperate to keep him longer, it's because they're trying to stall, not because they think its a good developer.

<comment><USER13> It depends on how large the company is. A big large corporation has a lot of protocol and rules for determining raises.

At some of the past places I've worked, the best raise you can get is 10%.

> While it's true that they're desperate to keep him longer, it's because > they're trying to stall

This is most likely true.

Based on the anger in his post, I'm guessing the real wrong was done in the past. It didn't seem like he was treated well. I still don't see the counter offer as bad. If anything it's flattering.

<comment><USER15> If an inadequate raise (thus inadequate compensation) is a sign of disrespect, then creating a rule which causes inadequate raises is institutionalizing disrespect. What I'm trying to say is, it isn't better, it's worse. By creating pre-commitment not to give raises in excess of a certain amount, if they make it more expensive for them to do so.

quoting: ``Here we find the manager striving to achieve his goal by eliminating opportunities, contracting his set of alternatives, although discussions of bargaining often rule this out axiomatically. [...] The resolution of the paradox is that the manager, by his tactic of "tying one hand behind him" hopes for a favorable effect on his employee's expectations.``

from The Theory and Practice of Blackmail by Daniel Ellsberg ([http://www.rand.org/content/dam/rand/pubs/papers/2005/P3883....](http://www.rand.org/content/dam/rand/pubs/papers/2005/P3883.pdf)), I swapped blackmailer/manager and victim/employee. The document is a really insightful take on negotiation I think except for the fact the it used the loaded terms blackmailer/victim.

There are plenty of organizations which are unable to recognize and/or reward high performance, and plenty of organizations which create compensation plans as if employees were fungible with infinite supply at their set salaries, and then depend on the psychological comfort of certainty and corresponding fear of the unknown to retain the workers, so although it isn't rare or even uncommon, that might be the sort of thing that made him angry.

</comment></comment></comment></comment><comment><USER16> I'm the proud recipient of getting that 2X raise, but not until I gave two weeks notice. (Former attempts to get a raise resulted in regular 0% increases.)

I agreed to stay for four months more. I knew a 2X raise couldn't win against my psyche forever. But it was nice to finally get that formal sign of acknowledgment.

(Former signs of acknowledgment - aka monetary bonuses - sat in my direct manager's desk. He never felt the need to pass it on until it became apparent to myself and the person who directed it that I had not yet received it.)

I don't know about the skeeziness of the writer's boss, but my mine sure was!

</comment><comment><USER17> It's possible the 2x offer wasn't really that ludicrous. Any time in my career when I have felt I was paid more than could be considered reasonable I have been proven very, very wrong. I think our culture of hidden salaries combined with savvy hiring and compensation practices make it very difficult for a person to understand how much value they provide and how much it costs to replace them.

Also consider that there are companies that are always hiring developers. They aren't filling roles, they are just looking to hire anyone capable that they can. Of course their demand is actually finite but reaching it in the current market is inconceivable. These companies can afford to pay whatever value you add, salary is dictated only by their demand for good engineers because it dwarfs the supply. Good engineers aren't actually replaceable for these companies, if they could find a replacement they would want to retain both.

</comment><comment><USER18> Counter offers are a way for the company to buy time while they find your replacement. Why not pay 2X if it means keeping things running smoothly? It's still a LOT less than the actual impact of your departure on the business.

Counter offers never work out in the long term. Now that you've put in your notice, you're no longer seen as loyal. Therefore, had you accepted (bad idea) they would not have kept you around any longer than absolutely necessary.

Even so, trashing your former employer after they offer you more money, however self-serving, is bad business.

I would not hire somebody if I saw them bad mouthing a former employer. What if they don't like my company? When they leave, they're going blast my business for not recognizing their genius/value/divinity earlier? Not good.

<comment><USER19> Nowhere in the article does he mention who his former employer is. He vaguely implies that it's a hedge fund, but there's more than one of those. This isn't an article lambasting a particular company; it's about counter-offers in general.

<comment><USER20> Maybe he doesn't say it directly in the article, but look at the page title to get his name (Jason Punyon) and then search for his LinkedIn profile (<http://www.linkedin.com/pub/jason-punyon/13/396/a89>) and you can be reasonably confident that he's talking about DKR. That's not very anonymous.

<comment><USER21> My anti-procrast settings kicked in after posting the comment above, but I wanted to add this update. He actually links directly to his CV from that page: <http://careers.stackoverflow.com/jasonpunyon>

According to that CV, the employer was Bigger Hedge Fund.

Kinda a funny coincidence that there's another person with the same name on LinkedIn who also recently quit a programming job at an investment management firm and lives in the NYC area. Anyways, the fact that he links directly to his CV makes it even less anonymous who he's talking about.

<comment><AUTHOR> Those company names are anonymized (except for my DBA and Stack Exchange). According to that CV I've worked at "A Management Consulting and Reinsurance Company", "Big Hedge Fund" and "Bigger Hedge Fund".

<comment><USER22> I always assumed that these kinds of anonymizations were to protect your former employer, but apparently it goes both ways. Thanks for the tip.

</comment></comment></comment></comment></comment></comment><comment><USER23> So here's a question. If one was satisfied/interested/liked/whatever their current job, but thought they were truly earning significantly more than their salary, is there any good tactic to start the discussion with management (or drop hints or whatever) without dropping the "I've taken another job" bomb, which as many point out is pretty much the end of the relationship right there?

In my own experience, I've gotten a large "retention bonus" after many of my peers quit. However, this was just dropped on me without any request or action on my part. It was a preemptive "oh God please stay at least until date X", but I didn't have anything to do with causing it directly. It was just smart/panicked managers buying insurance. And it worked. I happily stayed as I wasn't quite to the point of being ready to leave yet, so I stayed till that date and then through the next end of year bonus and then gave notice Jan 2.

<comment><USER24> Just being honest has worked for me.

I'm a freelancer, and over the last couple of years I've transitioned over several positions. It is much easier to negotiate a new salary when you have a job offer in hand, though I've never taken a counter offer.

It helps to know that there is usually a large-ish cost in acquiring a new hire that most folks want to avoid... and that just because you have a job offer from someone else you don't necessarily have to take it.

The last two clients I worked with were quite flattered when I asked for a counter offer, though because a) I'm still kind of new as a developer and b) it's my second career neither of these folks were paying half what my new offer was neither could really match the newer offer.

Perhaps it would be different if I were a w2 employee (and I believe that I only have one or two more transitions to make before I top out at what I can effectively earn, though I am quite good at what I do).... but having a job offer in hand doesn't mean that you can't or shouldn't specifically ask your current employers to make a counter offer.

</comment></comment><comment><USER25> Didn't read through the comments very thoroughly, but I saw someone mentioned that companies use counter offers to get employees to stay around just long enough for them to find the replacement and then fire them.

It sounds silly. It sounds paranoid. It sounds like something out of a cheap novel. But I have done research for an executive recruiter for over two years as a side job, and the statistic he quotes me is this: "Within 6 months the person who accepts a counter-offer is gone."

The reasons are many for why that is. It's not always the sleaze bag just trying to buy uninterrupted productivity. Often, the person is like the original writer said: absolutely miserable.

Regardless never accept counter offers. Ever.

</comment><comment><USER26> I agree with the author that getting a ridiculously generous counter offer is a red flag about the company's management, and this alone constitutes a reason to reject the proposal. However, his moral indignation at the thought of being paid more to defer work on an activity he cares more about is misplaced. It's silly to frame the negotiation as the company intentionally trying to "buy off his dreams." Most people have a variety of "dreams," many of which can be better achieved by having more money. As far as the company knows, doubling the author's salary could let him achieve the alternate dreams of getting out of debt or buying the house he's always wanted.

</comment><comment><USER27> I never thought about counter offers as "buying my dreams off". For your managers you are probably mainly a resource like the computer you are working on and the coffee machine in the kitchen. For them you are a machine that eats "benjamins" and spits out code. If the code you spit out is good they are willing to feed more "benjamins" and if it's not they throw you away. They don't care about the dreams their printer might have, why should they care about yours?

I think you should understand yourself in this way and you will see that there are also a lot of options for you.

I mean, if you are good enough, that Joel wants to hire you and your old boss offers you 2 times your old salary (I never even heard about such an offer), you must be good enough that most companies want you. So you can still work for Joel later on. You might also be able to work for Google or Facebook (applying would be worth find out about that, wouldn't it?). You can tell your old boss your requirements for your dreamjob and you can ask Joel for the same number on your first paycheck.

My point is, you don't have two options: "money" or "dream". You have a wide range between them and can find out how much you can get of both. Be more flexible, Jason!

</comment><comment><USER28> Offering to pay 2X is probably a bad sign. Because it means they think you'd be worth that. But they weren't already paying you that. Which means they were underpaying you before. Which is not nice.

<comment><USER29> Your market value is what someone will pay you. Before you had the offer, you were worth what your job was paying you. Now, after the offer, you're worth more. Simple economics.

<comment><USER30> "Simple economics" is an oxymoron. Theory of value goes far beyond the market price as the final judgement of value.

On even a higher level, economics just describes possible outcomes of a game under a set of rules. It does not prevent us from using our own judgement of fairness on the rules themselves.

<comment><USER31> I have always thought, your market value is what someone will pay you. Why do you think, it isn't that simple?

<comment><USER32> That's only half of the market.

If company A is willing to pay you $100k/year, and you won't work for less than $120k/year, what's your market value?

Maybe you wait a few weeks and get an offer from company B for $140k, and you negotiate it up to $160k. The manager was willing to pay $180. Meanwhile, company C wants you for $200k, but you never sent them your résumé.

What's your market value?

(You have poor liquidity, so it's hard to figure out what your actual market value is. Market value is the estimated salary you'd actually get after a negotiation, which is usually going to be above your minimum salary and below the maximum offer. Your actual salary is only one more piece of data you can use to figure out what your actual market value is.)

</comment></comment></comment></comment></comment><comment><USER33> On the one hand it's an ego boost to feel they want me to stay. "Okay, I must be doing something right."

On the other hand, I'd be more insulted that they think I'm actually worth 2x what they are paying me now, but weren't.

Ultimately, I think you did just fine following your dreams. Good luck! :-)

</comment><comment><USER34> It's interesting how money clouds people's judgements. I don't see the counter-offer as offensive, I would take it as a compliment that they really wanted to keep you(of course it stings to know that you were probably underpaying you while you were there, but that's how businesses work they pay you just as much as your worth).

Also, you should always negotiate when you get a job offer. Remember the employer has tons of expenses to have you there and a few thousand more per year is relatively little to them, but significant to you, the worst they can tell you is that's the best they can offer. Any employer that would take offense at an attempt to negotiate is not worth working for.

</comment><comment><USER35> Don't sell your dreams - OK. But really, your dream is some job at some company (even if it is touched by Joel)? I hope you are not in for some big disappointment a few years down the road.

</comment><comment><USER36> this happen all the time. if employee accepts more money to stay, the company is given time to backfill the position, and in the best case for the company, this employee can train their replacement... probably without knowing it.

if you accept such an offer to stay, the company knows it is about money, and that you are a flight risk because as soon as a better job comes along you will be gone. the funny thing is, most everyone would leave for a better job, but by going through this back and forth you will now have a target on you (company now realizes how critcal you are to the busness and will work harder to cross train)

I have seen this from both sides, and the author made the correct decision to walk in my opinion.

if some project needs finishing, negotiate a part time contractor stint, if you feel really really nice.

</comment><comment><USER37> I was chatting to a recruitment consultant a while back (we were hiring rather than my looking) and they were saying that something like 90% of people who accept a counter offer leave within a year. If you're unhappy somewhere unless money is the reason you're unhappy, a counter offer (assuming as most are it's just financial) isn't going to change that.

The only way you should consider a counter offer is if it really addresses the reasons you're looking to leave and you really believe that they'll deliver on it.

</comment><comment><USER38> The job of management is to get the job done at the least cost. It is a little drama queenish to call that sleazy - it's the way job is done.

I have moved in the past for more money - and I have never been worried about finding another job. I also have a huge history/legacy in the past company. I would have gladly stayed if they gave 2x. The catch was that they were already paying through their nose and they didn't have the headroom without promoting me levels. It happens.

</comment><comment><USER39> If I were Joel, I'd be proud someone rejected a 2x raise to work for me.

<comment><USER40> That 2x could be lower than what Joel would pay.

</comment></comment><comment><USER41> As long as offering counter offers provokes a mixed feelings (as shown in this very HN thread) it is a valid strategy to try in order to keep employee until they find/train a replacement.

</comment><comment><USER42> A good policy is to never take a counter offer for the reasons described in the article. However, there's no harm in coming back in a couple years at that 2x salary and a promotion.</comment>


Show HN: Mathlore, Your Math Knowledge Base - <AUTHOR> https://mathlore.org/ <comment><AUTHOR> I created Mathlore to help students, researchers, and hobbyists learn, explore, and discover mathematics by creating a place where they can collect math knowledge (either in a public collection or their own private collection) and easily discover it later when they need it.

This post is an update to post [https://news.ycombinator.com/item?id=22290812](https://news.ycombinator.com/item?id=22290812). I listened to your great feedback, and I improved the site. Thanks for the feedback, I really appreciate it.

New Features:

* Added the ability to have your own private collection of math knowledge.

* Repositioned the site as knowledge base where you can manually keep track of and store math knowledge either in the public collection or your own private collection. The original site made it seem like Mathlore was a math search engine.

* Added the ability to contribute to the public collection without needing to create an account.

* Added the ability to record and search for math resources such as books, articles, and online resources.

* Added the ability to record not only theorems, definitions, axioms, and conjectures but also record notes, exercises, and problems.

* Added a better landing page to describe how Mathlore can be used.

* Improved the look and feel of the site to make it easier to use.

* Added the ability to comment on items in the collection.

* Added the ability to search and tag information by topic. This is useful for looking tagging and searching for results in a particular area of mathematics.

* A tag can be anything you want and so in your private collection, you can use tagging of knowledge to mark things as hard, or interesting, or "On the final exam", or anything you like.

* Add the ability to export or delete your entire private collection with a click of a button.

* Fixed many rendering issues.</comment>


A Tale of Two Lambdas - <AUTHOR> http://dev.otto.de/2015/06/23/a-tale-of-two-lambdas-2/?utm_source=dlvr.it&utm_medium=twitter

<comment><USER2> Meanwhile: "Developers are calling it quits on polyglot programming," according to a 2014 TechRepublic article.

[http://www.techrepublic.com/article/developers-are- calling-i...](http://www.techrepublic.com/article/developers-are-calling-it- quits-on-polyglot-programming/)</comment>


Hackpad is teaming up with Dropbox - <AUTHOR> https://hackpad.com/Hackpad-is-teaming-up-with-Dropbox-m1Fne5A6Lzn <comment><USER2> Dear op, you're seriously late to the game [https://techcrunch.com/2014/04/17/dropbox-acquires-cloud- pho...](https://techcrunch.com/2014/04/17/dropbox-acquires-cloud-photos- startup-loom-service-to-be-shut-down-as-users-transferred-to-carousel/)</comment>


Transcrybr Is on the App Store - <AUTHOR> https://apps.apple.com/us/app/id1507780604 <comment><AUTHOR> Transcrybr is a transcription app for content creators • Speak clearer as your voice is transcribed in real-time • Speak at the right pace with pace meter • Review what you said and when you said it</comment>


Show HN: Colorffy – 3-colors gradients generator - <AUTHOR> https://www.colorffy.com/generator/mgradients <comment><USER2> Is there any particular reason why there is a generate button? I'd prefer it to be generated automatically as I change the values.

<comment><AUTHOR> Hi, the button its there, because i dont know yet, how to do generated automatically. But its a good feedback, thanks

</comment></comment><comment><USER3> Is there something special going on here (e.g. to "normalize" the gradient), or is it just an element with the linear-gradient CSS style applied it to it?

<comment><USER4> Looks to be the latter.

<comment><AUTHOR> It's just the element with the linear-gradient CSS style

</comment></comment></comment><comment><USER5> another option with more customization [https://mycolor.space/gradient3](https://mycolor.space/gradient3)

<comment><USER6> It almost looks like "colorffy" is a clone of this.

<comment><AUTHOR> Hi, and not is a clone of that page, I just want to create a simpler color gradient generator for designers or front end developers

</comment></comment></comment><comment><USER7> Its funny how gradients were cool in the 90's. Then became uncool and now they're cool again. Now everything is full of gradients - Stripe, Open AI, Apple's new iPhone promotions/wallpapers come to my mind.

I have a question - why are graphic designers all about trends? Whether it is brutalist design or back in 2010 it was all this material UI and flat design. Gradients are popular right now and everyone is jumping on it. In my view today's web designers are _decorators_ than actually understanding the purpose and utility of design. You can't produce timeless design when simultaneously you're chasing trends.

<comment><USER8> I've had a long unanswered question that I think about a lot: does design (fashion, architecture, app UI/UX) evolve or does it just change? Are the fashions we are wearing today better or simply different from 30 years ago? The fact that retro is cool seems to point to it being just different, versus better.

But I'm not really sure. A lot of architects almost have a morality about their designs: that a building shouldn't cover up structural columns or engineering structures. That beauty is honesty, and adding extraneous stuff in the name of design isn't honest, and in fact, immoral.

This is certainly different from the design of buildings 200 or 300 years ago, which often were excessive and baroque.

But it's hard to say one is better than the other.

</comment></comment><comment><USER9> This could be useful for generating cyclic color maps [0], of which there is a dearth in matplotlib. Cyclic color maps are great for coloring angles where one wants 2π periodicity.

[0] [https://matplotlib.org/gallery/color/colormap_reference.html](https://matplotlib.org/gallery/color/colormap_reference.html)

</comment><comment><USER10> How about you embiggen it to include polar on 1 unit circle and 3 points in 1x1x1 square (Pro version has more detail). Maybe even include shading and luminescence.

</comment><comment><USER11> Was expecting some dithering algorithms from the post title.

<comment><AUTHOR> I´m so sorry, for your expectings :/

</comment></comment><comment><USER12> Super cool but make it generate on selection or at least make it so the color picker doesn't cover the submit button after picking the color.

<comment><AUTHOR> Oh, I'm gonna check this, thank you for your feedback!

</comment></comment><comment><USER13> RGB values would be handy, eg. "rgb(200, 120, 20)"

<comment><AUTHOR> Thanks,I will consider it

</comment></comment><comment><USER14> Why is this here

<comment><AUTHOR> Cuz I just want some feedback of my side-project

</comment></comment><comment><AUTHOR> hello there!

<comment><USER15> Hey you're the creator! Welcome to HN. Normal rules are that posts have to say something, so 'hi' gets downmodded, but I think most of us didn't realise you were the person that made this.

<comment><AUTHOR> Oh hi! This is my first post, so i don't know so well something

</comment></comment></comment><comment><USER16> How did this get 35 upvotes?

Anyway, does the color interpolation take into account the fact that RGB values use gamma coding?

<comment><USER17> Front end developers and graphic designers.

<comment><AUTHOR> Yes, this website is for them</comment></comment></comment>


GitHub usage spam - <AUTHOR> Hi, just curious if anyone else has received anything like this, but I received an email from a company today stating that they saw i had contributed to an open source project on Github and they currently have a product that i might be interested in. Its currently in open beta but clearly going to be a commercial product.<p>This really rubbed me up the wrong way they are going about it. <comment><USER2> Hey Mark - Matt from GitHub here. I'm sorry that's happened to you! The good news is that you have some options to ensure that your publicly-facing information on GitHub is used for the purposes you intend.

Have a look over the updated privacy details at [https://help.github.com/articles/github-privacy- statement/#p...](https://help.github.com/articles/github-privacy- statement/#public-information-on-github). In particular, we ask any third- party groups to not use public information for commercial purposes if the user has made their email address public only for attribution and identification.

If you feel like this solicitation is out of bounds, then give our support team a holler (firstname.lastname@example.com) and we'll see what we can do to help.

<comment><AUTHOR> Thanks Matt, i shall take a look.

</comment></comment><comment><USER3> I've been getting all sorts of spam lately from people visiting my Github profile and copying and pasting and firing off emails.

So I just disabled making my email address public I hope it helps.</comment>


Cat *.c >tmp.c && gcc -O3 -fwhole-program $YOURFLAGS -o ohmygawditsfast tmp.c - <AUTHOR>

This will get you warp-speed if there're no clashes. -Os instead of -O3 makes another wet dream come true (guess which). <comment><USER2> Or, just use LLVM's link time optimization:

<http://llvm.org/docs/LinkTimeOptimization.html>

<comment><AUTHOR> GCC is going to have that, too.

<http://gcc.gnu.org/wiki/LinkTimeOptimization>

<comment><USER3> In fact, it already does have it: LTO is supported by GCC 4.5.0, which was released in April. (Although a bunch of LTO improvements will be included in the forthcoming GCC 4.6 release.)

</comment></comment></comment><comment><USER4> It's not a C compilers, but Mlton is an interesting SML whole program compiler. There's also JHC for Haskell which is nifty but can't quite compile all Haskell programs. I also found the Stalin Scheme compiler very interesting since it seems like a whole program compiler for a dynamically typed language like Scheme should be able to do a lot of interesting things.

</comment><comment><USER5> Why not just pass *.c to gcc ? Same thing isn't it?

<comment><AUTHOR> I'm afraid it's not. GCC still compiles them separately. It generates a bunch of object files in /tmp and links them as usual.

<comment><USER5> Thanks, didn't know that. I thought it would have been the same.</comment></comment></comment>


First Mac OS X botnet activated - <AUTHOR> http://www.macworld.co.uk/business/news/index.cfm?newsid=25756

<comment><USER2> It's worth noting that this article has a link to a detection and removal tool for the trojan: [http://macscan.securemac.com/files/iServicesTrojanRemovalToo...](http://macscan.securemac.com/files/iServicesTrojanRemovalTool.dmg)

</comment><comment><USER3> So how do you tell whether you have this trojan or not? Is there an easy way to check?

<comment><USER4> If you have torrented software (photoshop cs4 or iwork 09) then you need to download the checker and remover from securemac.com: [http://macscan.securemac.com/files/iServicesTrojanRemovalToo...](http://macscan.securemac.com/files/iServicesTrojanRemovalTool.dmg). If not you shouldn't have anything to worry about.</comment></comment>


Number barely go up–has Litecoin's halvening had the intended effect? - <AUTHOR> https://decrypt.co/8232/number-barely-go-up-has-litecoins-halvening-had-the-intended-effect <comment><USER2> _You can't simultaneously believe that markets are smart /efficient and also believe that events literally everyone can see coming at the same time actually matter_

This makes sense to me. The only motion I would expect is a slight boost as the risk of something going catastrophically wrong gets factored out.

</comment><comment><USER3> I'd still like to hear from the planb guy.</comment>


Always Online v.2: How CloudFlare Keeps Sites Online - <AUTHOR> http://blog.cloudflare.com/always-online-v2

<comment><USER2> I've seen an error on Cloudflare enabled sites way more than a cached version of a page when trying to access a down site, so hopefully these changes will mitigate that on static websites.

<comment><USER3> Yup. That's exactly why we made this update. We'll be monitoring the hit rate to see how successful we've been.

</comment></comment><comment><USER4> CloudFlare has saved me a number of times,but when RackSpace had a database error for about 22 hours,the database error wouldn't trigger the cache. I would love to see the ability to trigger on keyword or at least the ability to manually force cache mode!

</comment><comment><USER5> Does Always online work with SSL static sites?

<comment><USER3> Yes.</comment></comment>