Chris Hughes Says It's Time to Break Up Facebook - <AUTHOR> https://www.nytimes.com/2019/05/09/opinion/sunday/chris-hughes-facebook-zuckerberg.html <comment><USER2> Better than breaking up social networks would be to force them to interoperate on an open protocol. When I first signed up for Facebook I was disappointed that only other Facebook users could see my account. Then when Google+ came on the scene I thought they'd worked out a way to interoperate with Facebook, but instead Google just wanted their own silo.

What we really need is for social networks to interoperate the way email from different providers does. Same goes for chat and audio/video communication. Rather than breaking up Facebook, mandate that they must provide access to other social networks. Use an open protocol, say, Mastadon.

<comment><USER3> Are you suggesting that there be an API to access social network information?

That is _literally_ what Facebook had, and what people excoriate them over thanks to Cambridge Analytica. The Facebook haters are driving social network data into a silo; how else are you going to "keep control of your data"?

You can have privacy (or at least the illusion of privacy), or you can have access. You cannot have both.

<comment><USER4> This sounds to me like a backwards argument. The Cambridge Analytica scandal revolved around _unsanctioned_ access to data. I don't think the premise of having an API was the problem, it was the lack of transparency and control offered to Facebook's users.

<comment><USER3> _unsanctioned access to data_

You misunderstand what happened. 1) Users installed a quiz app, 2) _Users explicitly accepted a permission dialog that included "information about your friends"_, 3) The quiz app saved this data, 4) Cambridge Analytica bought the app (and data).

If CA got your data, it's because one of your friends sanctioned the critical link in this chain.

Facebook at least provided this level of security, however illusory it may have been. In a decentralized system, anyone who touches a piece of data can pass it on to whoever they want. There is no way to enforce "my friends can look at my data but it's my data and they aren't allowed to pass it on".

Privacy advocates and decentralization advocates are mortal enemies; their only common cause is that it's popular to hate on Facebook these days.

<comment><USER5> How is that not unsanctioned access? I can't get a mortgage in your name just because we're friends.

<comment><USER6> Correct, but your friends are more than capable of backing up their log of emails with you and handing it over to someone else. How is it not your friend's fault?

And CA "leak" was way more tame than this, just the information displayed on your profile for all of your friends.

</comment></comment></comment></comment></comment></comment><comment><USER7> I disagree. But I'm not on any, nor use any, of Facebook's services. "It's Time to Break Up _with_ Facebook" is a better title.

> We already have the tools we need to check the domination of Facebook. We > just seem to have forgotten about them.

That evokes different ideas with me and I'm sure it does for many users of this site. We have the tools and capability to employ them to make alternatives. We're so focused on the dominance that we ignore the possibility.

> Mark Zuckerberg cannot fix Facebook, but our government can.

This is incredibly naive. I haven't gone down the logical path to play this scenario out but my gut tells me that the hand that the government will force will be short-sighted and attack the symptom. The results may be worse.

<comment><USER8> You may not be on Facebook but you can bet your friends or family have shared your contact info with them. And even if that exposure is limited, you can bet they've got a shadow profile of you.

<comment><USER9> Facebook's shadow profile of me does not even begin to hold a candle to Google's shadow profile of me.

And Google has been monetizing that profile for a lot longer than Facebook has.

<comment><USER10> So while we're at it we should look at breaking up Google as well.

<comment><USER11> I only use google for youtube and cloud print. I'd like to break up with the latter but I haven't figured out how (history says google will force this in the near future). YouTube has a lot of great content (mixed in with even more worthless garbage) that isn't elsewhere, so I can't figure out how I'd break up with it.

<comment><USER12> On the other side, Google is tracking you on a lot of sites unless you use measures to counter it.

<comment><USER11> True. I wish there was a good way to stop that.

<comment><USER13> A custom router can do this for all devices on your network. That is what I use.

<comment><USER12> Do you carry your router with you all the time to provide a bridge to mobile networks?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Why just facebook? Why not Amazon, Google, JPM, Disney, etc?

"Chris Hughes, a co-founder of Facebook, says the company is so big and powerful that it threatens our democracy."

"threatens our democracy". I've heard this talking point so much that it has no meaning any longer. It's just another of the oft-repeated talking point created by PR firms as part of a propaganda campaign.

If facebook is truly that powerful that it "threatens our democracy", then it doesn't say much of our democracy does it? I'd say the people attacking the constitution and our rights are the real "threats to our democracy". Facebook is far down on the list of "threats to our democracy". I consider censorship, money in politics, the congressional-industrial-military complex, the israeli/saudi/chinese/etc influence in our economic, media and government institutions, globalism, etc to be far greater threats to democracy than facebook. If facebook was truly as powerful as he says, the establishment and their media wouldn't be attacking facebook as vigorously as they have been. Lets be honest.

If Chris Hughes, "co-founder" of Facebook truly feels this way, why doesn't he just created a competitor to facebook. It isn't that difficult to create a social media platform. Though it may be difficult to get users.

<comment><USER15> Google in particular. What makes a monopoly dangerous is when they control multiple links in the supply chain to push out competitors.

If Google owns Search, Gmail, Android, Analytics, Chat, Google Fi, Google Fiber, Chrome, GPay, etc... then they are able leverage one monopoly to establish monopolies elsewhere.

...and that is ultimately what is most destructive to Competition and consumer value. All of the above could be separate companies. Facebook gets a lot of bad press, but Google is the big danger.

<comment><USER16> > If Google owns Search, Gmail, Android, Analytics, Chat, Google Fi, Google > Fiber, Chrome, GPay, etc... then they are able leverage one monopoly to > establish monopolies elsewhere.

You're right that Google leverages its portfolio of services to get a foothold in other ventures, but not one of those listed above is a monopoly. There are solid and well-performing alternatives/competitors to nearly all of Google's services. Their (and Facebook's) online advertising business is another story.

</comment></comment></comment><comment><USER17> It's time to outlaw stalking-based business models. If you just break up Facebook but don't outlaw the underlying scummy business model something else will just take its place.

<comment><USER18> I don't think it's possible to outlaw what Facebook does without unforeseen consequences. Facebook is fast-food for the mind. You know it's bad for you, you know you shouldn't do it, you know there are healthier alternatives, the fact that corporations profit off of making people fat and sick is outrageous, but you can't very well outlaw the concept of beef in a bun.

<comment><USER19> People aren't mad because Facebook runs a social network or presents users with a newsfeed or provides a messaging service or stores users photos. Lots of companies do those things without complaint. People are mad at Facebook because the company constantly lies about privacy issues, makes one agreement with its users about their privacy and then does something else, and just generally treats the privacy of its users with complete contempt.

<comment><USER18> People aren't mad because MacDonalds runs a chain of restaurants or presents consumers with food or provides a easy way to get a meal. Lots of companies do those things without complaint. People are mad at McDonalds because the company constantly lies about health issues, makes one statement about the origins of their food when really it comes from somewhere else, and just generally treats the concerns of its consumers with complete contempt.

<comment><USER19> have never been more on board with breaking up McDonald's. ;)

</comment></comment></comment></comment></comment><comment><USER20> FB is the sacrificial lamb, popular scapegoat and effective distraction in this new era of SV policies shaping public opinion, ideas and as a result global politics. It seems misplaced, the amount of vitriol and negative press directed at facebook when from my perspective Google/Twitter/Amazon and even Reddit are far, far worse in terms of aggressively monopolistic behavior and negative effects on society and democracy. The fallout and effects of these platforms unparalleled power and influence is not well-researched yet. The key part that strikes me as disingenuous if these outlets and politicians who fling so much mud towards FB cared so much about privacy violations where were the billion dollar fines and string of hit pieces on Equifax (Who also collect and store your info without your consent)? The answer is there weren't any because they don't, and this is just a distraction from the real shit.

<comment><USER21> If you believe it, say it from your real account.

This ubiquitous practice of commenting on contentious topics using throwaways reveals much of that's wrong with HN culture.

<comment><USER22> The grandparent comment was insightful to me.

At the same time, there is a large (20%-80%), vocal, and powerful fraction of tech employees that strongly and idealistically oppose that "SV policies [are] shaping public opinion", or that it's a potentially bad thing and not something we should strive for.

I see why someone would hesitate making that comment from their primary account.

</comment></comment></comment><comment><USER23> One one hand side, I agree that Facebook/Amazon/Apple etc. but also many telcoms are way too big which in turn stifles fair competition and leads to monopolies (and subsequently abuse of power, lobbying etc). On the other, there has not been one good solution proposed to this so far.

Let's run through the options (accumulated over months or years of discussions): 1) Split FB into the FB-Instagram-WhatsApp trio that we used to have in the past. Neat but the main culprit remains the same. 2) Remove Zuck or at least reduce his voting power s.t. the board has more. This would work if we assume that Zuck is the main issue with FB, which I doubt he is. Investors would always push for more money and if it means more of the same privacy-violating, advertising-driven social media, I doubt they would change it - money hardly ever has a moral compass of any kind. 3) Kind of like 2 but on top of this, you fix some members of the board with community/government selected representatives which would be supposed to balance out things and/or at least raise concerns. 4) Introduce point 3 as a general rule - if a company reaches X% of the given industry's estimated total market value, it has to give up some board seats. In theory, forces companies to stay focused instead of spreading into every single adjacent industry.

Now, all of these have problems of their own (corruption in case of 3-4, anyone?) but the sooner the discussion starts the better. Google/Amazon/Microsoft/Apple/chip makers are next in line but also, as another commenter pointed out - we do want to see people build strong and prosperous companies that truly innovate.

Damn, it's a non-trivial topic, just writing this down brings more questions than answers

<comment><USER24> Agreed that the solutions proposed thus far do nothing to address the problems. Even if we tore the company apart brick by brick there are no guarantees that we wouldn't have the exact same problems resurface in 5 years under a different company. Prehaps we should focus about ways to increase the transparency and accountability of any Media/Telecom platform.

</comment></comment><comment><USER25> I agree to breaking up Facebook. But the message falls flat when the suggestion is to spin off WhatsApp and Instagram into separate companies. This doesn't really do anything.

When standard oil or Bell telephone broke up, they were broken across geographic lines or "horizontally" in situations where the business was vertically integrated (separating extraction, refining or transport in the case of standard oil)

FB, IG and WhatsApp are all separate companies with arguably very different business models, so separating them up has little impact.

<comment><USER26> I disagree. Many people have moved away from FB to IG after all the bad publicity FB has had. If IG was an independent company that consumer choice would mean something. As it is, any privacy conscious social network that mounts any threat to FB will simply be bought as happened with WhatsApp.

<comment><USER27> IG was like a 13 person company, do you think they would have successfully scaled without FB? Thats a pretty pretty big if. Had they not sold, its possible FB would have just murdered them.

<comment><USER28> Before being acquired by Facebook they already had over 30 million users

</comment></comment></comment></comment><comment><USER29> Chris Hughes noticeably pulled a few punches regarding his old friend Zuck's character:

1\. "I don't blame Mark for his quest for domination. He has demonstrated nothing more nefarious than the virtuous hustle of a talented entrepreneur."

2\. "I don't think these proposals [Zuck finally asking for regulation] were made in bad faith."

It's pretty naïve at this point to say that Zuckerberg has done nothing more than a "virtuous hustle".

And Zuck asking for weak regulation is such an obvious ploy to stave off stronger action like a breakup that would threaten dominance.

Having made those nitpicks, this is a fairly bombshell article for someone so early at FB to come out swinging.

You can expect more power players to take up this cause in the next quarter or two as early execs start waking up from what basically amounts to Facebook brainwashing.

<comment><USER30> >And Zuck asking for weak regulation is such an obvious ploy to stave off stronger action like a breakup that would threaten dominance.

Regulation can often help incumbent businesses by raising the barrier to entry for competition, which allows higher monopoly rents.

<comment><USER29> Fair point.

Also I just LOLed after reading the NYT editorial board reaction to this piece - apparently we disagree on whether any punches were pulled. The first line:

"Chris Hughes, a co-founder of Facebook, pulls no punches in his essay for The Times Privacy Project..."

[https://www.nytimes.com/2019/05/09/opinion/chris-hughes- face...](https://www.nytimes.com/2019/05/09/opinion/chris-hughes- facebook.html)

</comment></comment></comment><comment><USER19> The whole business model of Silicon Valley is finding companies that can grow to become abusive monopolies, and then growing them into that. Cut off one head and two will take its place.

<comment><USER31> In fact, Facebook's first investor wrote the book on this idea.

<comment><USER32> What's the name of the book?

<comment><USER33> Zero to One

</comment></comment></comment></comment><comment><USER34> >But there is no constitutional right to harass others or live-stream violence.

Pretty sure the Supreme Court would disagree with you on that one, bud. They aren't fond of adding new categories of unprotected speech. See Trope #3 in this article: [https://www.popehat.com/2015/05/19/how-to-spot-and- critique-...](https://www.popehat.com/2015/05/19/how-to-spot-and-critique- censorship-tropes-in-the-medias-coverage-of-free-speech-controversies/)

<comment><USER35> The trope "But there is no constitutional right to [blah]" is blatantly ignoring the 9th amendment. [1]

[1]: [https://www.law.cornell.edu/constitution- conan/amendment-9](https://www.law.cornell.edu/constitution-conan/amendment-9)

</comment></comment><comment><USER36> Maybe we should have a sticky article at the top of HN for NYTimes' weekly Facebook bashing opinion piece?

<comment><USER37> If we do that for every company/person bashing topic, we'll quickly run out of room on the front page.

</comment></comment><comment><USER38> I have trouble understanding why we should break up Facebook but not google. Is it because we think google is less evil than Facebook?

<comment><USER39> > I have trouble understanding why we should break up Facebook but not google. > Is it because we think google is less evil than Facebook?

The article _does not_ argue against breaking up Google, in fact it says:

> Finally, an aggressive case against Facebook would persuade other behemoths > like Google and Amazon to think twice about stifling competition in their > own sectors, out of fear that they could be next.

It's basically saying _Google 's next_ if it doesn't mend its ways.

<comment><USER40> > It's basically saying Google's next

I don't think that answers GP's question though,

why is facebook first?

Why is facebook the chosen one. Surely it wasn't chosen using random number generator.

<comment><USER39> > why is facebook first?

> Why is facebook the chosen one. Surely it wasn't chosen using random number > generator.

It's it obvious? It's been _far_ more _transparently_ shameless.

> I don't think that answers GP's question though,

It does. The op was asking a why/why not question. He didn't even mention the concept of sequence.

<comment><USER38> I was musing philosophically. I know why Facebook is first and google isn't on the chopping block. It's because people don't have the same relationship with google. No one is accusing google of colluding with foreign powers to sabotage democracy. It's funny, right? If google had the best ad targeting during 2016, they would be on the crucifix right now just like Facebook, but they didn't (maybe you can argue google ads aren't as useful or as visceral as fb ads, but I think it's complicated). You might argue that google wouldn't work with the Russians, but that's not obvious to me that Facebook did that intentionally either.

There but for fortune.

</comment></comment></comment></comment></comment><comment><USER41> Funny, what do you have to break up something that you are not even forced to use, and that is not even remotely necessary for benefiting from the internet? I must be missing something.

<comment><USER42> Well, increasingly, you _are_ forced to use Facebook.

I went through the arduous process of deleting my Facebook account about 8 years ago. 2 years ago, I started doing freelance software development, and at some point almost every one of my clients has wanted me to implement a Facebook login. I could say no, but then I'm likely losing my livelihood. And in order to implement Facebook logins, you need a Facebook account (to administrate and view documentation).

My girlfriend cleans up estates, meaning that when someone dies, she helps the family of the deceased clean up the deceased's house. A lot of that involves selling their stuff, for which she splits the profits with the heirs. It used to be that Craigslist was the best place to sell stuff, but increasingly it's much harder to sell stuff on Craigslist, and easier to sell on Facebook marketplace. And again, to buy/sell there, you really need a Facebook account. She also does other odd jobs, and again, most of these are found through Facebook.

Maybe Facebook isn't necessary for the ways _you_ benefit from the internet, but your experience isn't everyone's.

<comment><USER43> How is marketplace better than craigslist?

<comment><USER42> More people using it, more of those people willing to buy.

</comment></comment></comment></comment><comment><USER8> "If we don't have public servants shaping these policies, corporations will."

I fear that in the current environment where money largely drives politics that corporations will just shift from directly making policy to funding the politicians who will do-so on their behalf.

<comment><USER44> Well... this is how they currently make policy. There aren't literally corporations writing law.

<comment><USER45> In some cases corporations literally do write the law:

[https://eu.usatoday.com/story/news/investigations/2019/04/03...](https://eu.usatoday.com/story/news/investigations/2019/04/03/public- right-know-model-bill-alec-school-vouchers-lobbyists/3332772002/)

[https://www.alecexposed.org/wiki/ALEC_Exposed](https://www.alecexposed.org/wiki/ALEC_Exposed)

</comment></comment></comment><comment><USER46> Chris Hughes is right on a lot of things.

But to create a new Federal Agency that can write blank-check laws is not a good idea.

What ever happened to the Schoolhouse rock song "I'm just a bill?" What happened to laws being written through approval of house and congress?

We are pushing for laws to be written by people who do not have the citizen in mind (FCC killed Net Neutrality ring a bell?). Why is it so crazy to expect the House and Congress to do their diligence and vet all laws? Why must we create federal entities to do the heavy lifting for us at the cost of removing representation?

</comment><comment><USER47> I found this piece very unconvincing. Where is the articulate and data supported argument that our democracy is under threat? Are people no longer voting? No, they are voting in droves. People of all ages are more politically charged than ever before. I'm seeing 10 year olds engaging in our democracy.

To me it is becoming increasingly apparent that the issue here is that people aren't voting for the issues the NYT and Chris want people to vote on. That doesn't qualify as a threat to democracy. They don't understand these voters or their values and the assumption at NYT is that they are morons who are clicking on fake news links on Facebook. An entire case is being made without data to support it.

I get that Trump got elected and nobody at the NYT is happy about it. Time to move on imo.

<comment><USER48> >To me it is becoming increasingly apparent that the issue here is that people aren't voting for the issues the NYT and Chris want people to vote on.

While you're getting downvoted, there is likely an element of truth to this. The "old" media has seen entities like Twitter and Facebook as a threat to their business model, as well as their ability to be influencers. There are legitimate gripes that we should all have with Facebook and their ilk, but I am sure the NYT is motivated by more than just concern for the public good.

<comment><USER47> I've spent 12 years on HN and have read countless threads from users I've followed for many years.

This up/down voting mechanism is just another system of censorship and it has gotten worse on HN and you see the restraint exercised in comments. Anyone can spot articles that are "safe" to comment on and articles that are not (from the perspective of sharing views that do not jive with the HN majority and being downvoted into oblivion). I made a conscience decision not to let that bother or deter me. I try to balance that with my attempt to not troll and try to be constructive if a choose to post.

The bias that NYT has here to destroy Facebook is evident to anyone who takes a moment to think about it. Their entire business model has been upended because they no longer control distribution, FB does. How can we form thoughtful / well balanced opinions based on these one-sided pieces? We can't. Alas, who cares.

<comment><USER49> I couldn't have stated it better myself. It's especially ridiculous considering everyone claims they hate censorship so much and yet I see people abusing flags nowadays to auto-hide perfectly constructive comments just because they don't like what the other person said.

</comment></comment></comment></comment><comment><USER50> While you're at it, do the same for GOOG, AMZN and MSFT to avoid unbalancing the market and strengthening other tech behemoths. They could easily step in FB role.

</comment><comment><USER51> "Mark Zuckerberg is a good guy. But his company is a threat to our economy and democracy."

"Mark is a good, kind person. But I'm angry that his focus on growth led him to sacrifice security and civility for clicks."

I always find it difficult to take an argument seriously when someone is defined simply as "good". It glosses over a lot of things, like what motivates a person and how we define "good". For example, if we can agree that Facebook's privacy issues are bad, and that Mark was directly responsible for them, then it seems that either

a) Mark selfishly disregards privacy for the growth of the company. (bad)

b) Mark does care about privacy, but if he doesn't grow the company, he'll be forced out and someone less good will take the helm. (good)

c) Mark thinks that all the good Facebook does outweighs the negatives, and therefore the sacrifice of privacy is a net positive. (good)

For reference, that first quote is taken from the NYT front page summary, and the second from the body of the editorial.

<comment><USER52> "X is a good person, but ..." is simply something that a lot of people have been taught to do when they want to criticize someone but don't want to appear to be entirely negative (without necessarily having anything nice to say about the person). It's a common strategy to try to come off as more polite, especially when your statement is written or will be quoted.

A common aphorism that approximates this is "you catch more flies with sugar."

<comment><USER53> Right, it's less a serious moral evaluation and more a rhetorical device to appease his supporters long enough to continue reading his argument.

</comment></comment></comment><comment><USER54> While I agree with most of what Chris has said in the video (& the article), it's hard for me to consider his intentions as purely objective.

Chris Hughes has always been a democrat and has been part of Obama campaign and endorsed Hillary. Democrat leaders blame Facebook for how much it has contributed to their loss in the 2016 elections. To me, all of this makes sense. But, Chris being on the side of the democrats and coming up with these points, IMHO, makes it less objective. This also seems like a good time to come up with something like this, especially, when the candidates from both the wings have begun campaigning for 2020.

</comment><comment><USER55> Ironic and hilarious how many ex-Facebook employees call for changes while greatly enjoying the wealth they've received from it. Talk is cheap. When are they going to do anything other than write op-eds?

</comment><comment><USER56> > I don't blame Mark for his quest for domination. He has demonstrated nothing > more nefarious than the virtuous hustle of a talented entrepreneur.

What a strange juxtaposition. It would be a shame if "entrepreneur" now only refers to the VC dream of either domination or flaming death. There are many trajectories in between.

Zuckerberg's focus on "domination" in the company's early days, added to his famous "dumb f __*s " comment, makes me even more certain that Facebook was rotten from the beginning.

</comment><comment><USER57> The real problem is that too many people who didn't have a voice before can leverage centralized platforms to spread their views to too many people (according to the NYT).

The internet has accelerated winner-take-all dynamics for good and bad.

The day will come when there will be no local news covering high school sports events or community activities. People will rely on viewing participant posts on social media. What's lost here is that it is so easy to game the system and spread BS...

</comment><comment><USER58> This is Chris Hughes trading on the only credibility he has left, which is that he participated in Facebook as an undergad and Harvard (but never quit school to pursue it full-time), amd by virtue of luck and his early contributions gets the status as "Facebook cofounder." His real ambition has been to become a figure in liberal politics. He bought _The New Republic_ as a vanity project and drove it into the ground in two years. He and his husband moved to NY so that his husband could run for office in a purple district, he lost in a landslide (in a winnable district, too).

It's popular in liberal circles to blame Facebook for Trump, and so punishing them has become a cause celebre, but it will pass.

</comment><comment><USER59> I got 2 words for you: regulatory capture. There's literally no chance that a guy who got invited to Bilderberg is going to have his company broken up (unless that were to somehow work to his advantage). He's made deals with the people that run the world. They won't touch him or his company.

</comment><comment><USER60> "Chris Hughes, a co-founder of Facebook, says the company is so big and powerful that it threatens our democracy."

considering how flawed democracies are, i say let democracy die. adopt democracy 2.0 (no parties, no president/pm, no cabinet ministers, elected speaker, continuous citizen participation) and that's that.

<comment><USER61> I'm against direct democracy because I don't have the expertise or the time to make informed decisions about everything my government is currently doing for me. Direct democracy will likely devolve into a reign of demagogues imho.

<comment><USER62> The Swiss might have something to say on this, living in one of the most stable and prosperous countries in the world which happens to be governed under something _resembling_ direct democracy.

<comment><USER63> It's also fairly homogenous in terms of ethnic and socioeconomic demographics. It's a lot easier to have direct democracy when factors like this are limiting the presence of non-overlapping interest and ideologies.

</comment></comment></comment></comment><comment><USER64> Useless idea. Social networks esp FB should come with a statutory warning: Excessive vanity can cause permanent brain damage leading to a dysfunctional real life with real friends/family who may actually give 2 fux about you.

</comment><comment><USER65> Deleted Facebook a month ago. Didnt seem to miss anything. Still share pictures and memes and statuses on iMessage with friends relatives. And those that are not on ios using whatsapp by holding the nose. Didnt miss a thing.

</comment><comment><USER66> The problem with breaking up Facebook or any big US tech companies, is giving China tech companies a huge advantage. Tech is global market/competitive space.

</comment><comment><USER67> It is time to tear the Face Book down.

</comment><comment><USER68> Common rich person move. Something only becomes unethical and awful _after_ you get rich off it.

</comment><comment><USER69> advertisers and web masters wanting analytics can get together and share cookies on users they want to track weather Facebook or google enable them or not.

</comment><comment><USER70> While we're discussing Facebook and anticompetitive practices, I'd like to bring the effects of FANG/Unicorns and their current compensation.

I think we are seeing a drop in people leaving established tech to startups, but I think most of this is due to the _ludicrous_ amount of money an engineer/PM can make being a 9-5er at one FB/G. Engineers who meet expectations and get promoted at the minimum allowed rate can be an E5 engineer at facebook within 5 years of graduation where there's a median income of ~$300k. Engineers who are good can get promoted much faster/further than that and make absurd amounts of money. With Level 1 directors at FB making over a $1M a year.

It really doesn't make sense for an individual engineer to ever join a small startup nowadays. Being the founder of a successful startup now still makes sense, but considering that much of the low-hanging fruit of the mobile/internet era has been picked, I think being a founder requires more domain/technological expertise than it did in the era when our current unicorns were born.

I like the state of things as someone making good money relatively stress free at a FANG, but I hope a new fundamental technology wave comes soon and creates opportunity for a whole new set of companies, reigniting the startup scene's energy.

<comment><USER71> It's not clear that many of the people you are describing would have joined a startup anyway. There's big difference in the personalities who thrive in startups and those that thrive in large bureaucracies. An alternative view is that Silicon Valley and other tech centers are increasing dominated by the latter type of person.

<comment><USER72> I'd go further and note that online software discussions in general seem increasingly dominated by complete beginners who couldn't care less about code except as a stepping stone to money and fame.

How this is all going to lead anywhere worth going is anyone's guess...

<comment><USER70> I think the change will have two effects. The first is the cynical one, where tons of unqualified people come into the field just for the money, write poor software, and probably don't actually enjoy their lives that much because they're not good at what they do and lack that internal satisfaction.

But, a more positive change is that there will be some high-impact multitalented genius individuals that choose to pursue tech instead of high finance or politics or something like that. Jeff Bezos left a hedge fund to start Amazon. Now he may be a ruthless son-of-a-bitch when it comes to competing, but for consumers the positive impact has been enormous. He's likely done far more good than he would have being a lifer at D.E. Shaw.

</comment></comment></comment></comment><comment><USER73> No, Google first. NYTimes is throwing the sacrificial Facebook under the bus to save the real systemic surveillance menace to the future generations.

<comment><USER41> Even if you break Google up it won't really change anything (i.e. it won't stop wide tracking of users online).

</comment></comment><comment><USER74> Why is this article not being upvoted more? It's probably the most important piece that has ever been posted to HN; especially considering who the author is.

<comment><USER75> I don't know for others but personally, I think it's pure hysteria and scapegoating. If you don't like Facebook, don't use it. I don't think private property should be forcibly removed away because it is the current news cycle ennemy-of-the-day. The standards for overruling consent should be extremely high - if they should exist at all.

I got fed up with Facebook a while ago and deleted my account. No problem. If Facebook has influence it is because people voluntarily chose to give it to them.

<comment><USER76> You are really not missing the forest for the trees. Facebook has grown so large that it's no longer an individual's decision to be there or not.

Your data is there whatever you do, growing as a phantom profile based on data you give to advertisers or what your friends share. It's become such a huge power that it's a huge part of social life. It influences our society in ways we coulndt even imagine before.

<comment><USER58> This is insane. No, you don't have to use it. You can reset cookies and device identifiers whenever you want if you don't want "phantom profiles."

<comment><USER76> We're at a point where you are massively crippled from the rest of society if you do not use it.

There are so many uses that I just cannot afford to not be on the platform.

</comment></comment></comment></comment></comment><comment><USER77> I think it would be enough to ban Zuckerberg from running any public corp in his lifetime.

The Facebook problems are all Mark Zuckerberg problems, it starts with the people he pics for management the priority he sets for a business which provides an important part of american infrastructure.

Zuckerberg as CEO of Facebook is the same for the USA as putting a teenager in control of the United States Department of Energy.

<comment><USER78> I think I'd rather have a teenager than a guy who couldn't even remember its name when he tried to list it as one of three agencies he'd demolish. [https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...](https://www.google.com/url?sa=t&source=web&rct=j&url=https://m.youtube.com/watch%3Fv%3DYN8uFJz9gTk&ved=2ahUKEwjQ-Z7Rp47iAhXJhFQKHX_YA18QwqsBMAB6BAgHEAU&usg=AOvVaw1janTSlmUJgw03tSF1C_27)</comment></comment>


Making The Jump From Side Project To Full-Time Job - <AUTHOR> http://jimlastinger.com/2011/03/making-the-jump-from-side-project-to-full-time-job/ <comment><USER2> What if you believe in your side project but do not have the money or resources to leave the full time job yet?. Does anyone have experience with running your project in full steam while keeping a full-time job for few months?</comment>


The JavaScript Misdirection Contest - <AUTHOR> http://misdirect.ion.land/ <comment><USER2> Just some analytics...

[http://jsfiddle.net/278eznsr/2](http://jsfiddle.net/278eznsr/2)

</comment><comment><USER3> Maybe somehow put the key in the url (via pushState) and then hotlink an offsite <img> logo, grabbing the key via the referer header at the offsite httpd?

Or somehow trigger a DNS lookup with the key as part of the domain, and grab it at the offsite DNS server?

Or maybe something with RTCPeerConnection, wasn't there some drama about how that's leaking IP adresses without showing up in the devtools?

</comment><comment><USER4> I like the idea of an underhanded JS content, but I'm not sure if this is a good way to do it. It's hard to see how to build a short snippet of code that sends data off somewhere when it isn't supposed to use any network access at all. Not to mention that you apparently need to write a "good" key generation algorithm for an undefined purpose.

To really do something like this, I think you'd want to pull in a big, complex JS library where the average developer isn't as familiar with the normal usage patterns. Speaking of which, you could probably provide a modified version of some major library that does something sneaky - who ever really checks that the copy of JQuery loaded on a particular page is actually identical to the official one?

It's going to be a lot harder to hide from the dev tools network tab too. You'd have to already be sending back and forth some pile of data that you can hide stuff in somehow.

Maybe something better would be that they provide a JS function that returns a public and private key, and the intention of the site is to send the username and public key to the server and let the user write down or copy out the private key. Then you have to write JS for the page that looks like it just sends the public key, but actually somehow sends the private key in a way that isn't obvious from reading the code or watching the network traffic.

<comment><USER5> _" You'd have to already be sending back and forth some pile of data"_

I would probably attempt to do it by only loading data. Use some bits of your locally generated pseudorandom bits to select a set of random bits from an external site to supposedly increase the randomness of the data (yes, that's nonsense, but less obvious then uploading the key directly), but though the sequence of requested URLs leak the locally generated pseudorandom bits and thus the key.

</comment></comment><comment><USER6> This contest does not make a lot of sense. Keys for cryptocurrencies are always asymmetric but it is implied that a symetric key is supposed to be produced, in addition to that there is pretty much no way to send data from a page without it being easily detectable via DevTools. A much better challenge would be to generate compromised asymmetric keys that could be easily cracked.

<comment><USER7> I think you're missing the point of the contest. This is not about cryptography. The key generation is just an excuse. The fact that you can detect a connection with DevTools is irrelevant. The idea is too write code that is clean, readable, and innocent looking, but does something "malicious". It's just about having fun obfuscating code, not to write the next exploit.

<comment><USER6> Then it would have been far better to ask people to code a subtle XSS exploit.

</comment></comment></comment><comment><USER8> What an awesome contest. After 5 minutes of reading, you can dive right into it! And it's fun too. I'm still thinking about a good way to hide the malicious code though.

</comment><comment><USER9> Here's my entry. Code doesn't work because the offsite resource is not accepting connections from jsfiddle, but otherwise, I think it's a good proof of concept.

[http://jsfiddle.net/gedhry5o/2/](http://jsfiddle.net/gedhry5o/2/)</comment>


Lolbench: automagically and empirically discovering Rust performance regressions - <AUTHOR> https://blog.anp.lol/rust/2018/09/29/lolbench/ <comment><USER2> Do you do have any plans to better distinguish between noise and regressions? I run a similar performance testing infrastructure for Chakra, and found that comparing against the previous run makes the results noisy. That means more manual review of results, which gets old fast.

What I do now is run a script that averages results from the preceding 10 runs and compares that to the average of the following 5 runs to see if the regression is consistent or anomalous. If the regression is consistent, then the script automatically files a bug in our tracker.

There is still some noise in the results, but it cuts down on those one-off issues.

<comment><USER3> Do you mean 10 preceding versions, or 10 repeated timings of the same version? If you repeat the timing for the each version many times, why is that not enough to smooth out the noise?

<comment><USER4> Instead of averaging, I can recommend my go-to L-estimator for this sort of thing: the midsummary. Take the average of the 40% and 60% percentile as your measure of central tendency of performance.

</comment></comment></comment><comment><USER5> For those wanting to do similar tracking of benchmarks across commits, I've found Airspeed Velocity to be quite nice ( [https://readthedocs.org/projects/asv](https://readthedocs.org/projects/asv) ). It allows (but doesn't require) benchmarks to be kept separate to the project's repo, can track different configurations separately (e.g. using alternative compilers, dependencies, flags, etc.), keeps results from different machines separated, generates JSON data and HTML reports, performs step detection to find regressions, etc.

It was intended for use with Python (virtualenv or anaconda), but I created a plugin ( [http://chriswarbo.net/projects/nixos/asv_benchmarking.html](http://chriswarbo.net/projects/nixos/asv_benchmarking.html) ) which allows using Nix instead, so we can provide any commands/tools/build- products we like in the benchmarking environment (so far I've used it successfully with projects written in Racket and Haskell).

</comment><comment><AUTHOR> hi! author here if you want to ask questions or (nicely pls) let me know where I've made mistakes!

</comment><comment><USER6> How do you determine baseline load of the test machine in order to qualify the correctness of the benchmark?

Assuming the compiling, and testing is done in the cloud how do you ensure the target platform (processor) doesn't change, and that you aren't being subjected to neighbors who are stealing RAM bandwidth, or CPU cache resources from your VM and impacting the results?

<comment><AUTHOR> Each benchmark result is only compared against values from running on literally the same machine, actually. I agree that good results here would be extremely difficult to produce on virtualized infra, so I rented a few cheap dedicated servers from Hetzner. I'm glad that I decided to pin results to a single machine, because even between these identically binned machines from Hetzner I saw 2-4% variance between them when I ran some phoronix benches to compare.

I go into a little bit of detail on this in the talk I link to towards the bottom of the post, here's a direct link for convenience: [https://www.youtube.com/watch?v=gSFTbJKScU0](https://www.youtube.com/watch?v=gSFTbJKScU0).

<comment><USER7> A suggestion: consider using callgrind to measure performance (instructions retired, cache misses, branch mispredictions, whatever) instead of wall clock time. It will be much slower per run, but since it will also be precise you shouldn't need to do multiple runs, and you should be able to run a bunch of different benchmarks concurrently without them interfering with each other or having anything else interfere with them.

<comment><AUTHOR> I currently do something pretty similar by using the perf subsystem in the Linux kernel to track the behavior of each benchmark function. In my early measurements I found concurrent benchmarking to introduce unacceptable noise even with this measurement tool and with cgroups/cpusets used to pin the different processes to their own cores. Instead of trying to tune the system to account for this, I chose to build tooling for managing a single runner per small cheap machine.

<comment><USER7> No such 'noise' is possible with callgrind, as it's basically simulating the hardware. If you're using a VM it seems like you could still get variation between different runs due to other activity on the host system.

<comment><USER8> The problem with callgrind is ([http://valgrind.org/docs/manual/cg- manual.html#branch-sim](http://valgrind.org/docs/manual/cg-manual.html#branch- sim)):

> Cachegrind simulates branch predictors intended to be typical of mainstream > desktop/server processors of around 2004.

In other words, the data produced by Callgrind may be suitable to find obvious regressions, but there still may be more regressions which are only relevant on more modern CPUs.

</comment></comment></comment></comment></comment></comment><comment><USER9> The "More Like Rocket Science Rule of Software Engineering" has been WebKit policy for a while: [https://web.archive.org/web/20061011203328/http://webkit.org...](https://web.archive.org/web/20061011203328/http://webkit.org/projects/performance/index.html) (now at [https://webkit.org/performance/](https://webkit.org/performance/)).

<comment><USER10> > Common excuses people give when they regress performance are, "But the new > way is cleaner!" or "The new way is more correct." We don't care. No > performance regressions are allowed, regardless of the reason. There is no > justification for regressing performance. None.

This seems a bit extreme. Would they accept a regression to fix a critical security vulnerability? Code can be infinitely fast if it need not be correct.

<comment><USER11> A better version...

Common excuses people give when introducing security vulnerabilities are, "but the new way is faster" or "the new way is more clever". We don't care. No security vulnerabilities are allowed, regardless of the reason. There is no justification for security vulnerabilities. None.

I love that "correct" is a "justification" in the original. I would be embarrassed to be associated with such a juvenile page. Move fast with broken things...

</comment></comment></comment><comment><USER12> This project looks awesome, but as a complete aside:

How long do we expect it to take before "automagically" completely replaces "automatically" in English?

I am guessing less than a decade to go now

<comment><AUTHOR> I use this word the way we did when I worked as a PC technician and help desker, where there's a lot of automation but then we sneak a bit of manual labor in to make it actually useful. Like how user accounts would be maintained in the correct state automagically.

<comment><USER13> automagically: /aw·toh·maj´i·klee/, adv. Automatically, but in a way that, for some reason (typically because it is too complicated, or too ugly, or perhaps even too trivial), the speaker doesn't feel like explaining to you.

[http://www.catb.org/jargon/html/A/automagically.html](http://www.catb.org/jargon/html/A/automagically.html)

<comment><AUTHOR> Well this interpretation certainly explains some of the reactions that word has gotten in my use of it!

</comment></comment></comment></comment><comment><USER14> Very nice!

Do you track opt_level=2 (the Firefox Rust opt level) in addition to the default opt_level=3?

<comment><AUTHOR> Thanks!

Not yet, but I am tracking this as a desired feature: [https://github.com/anp/lolbench/issues/9](https://github.com/anp/lolbench/issues/9). The benchmark plan generation, storage keys, and results presentation will at a minimum need to be extended to support a matrix of inputs to each benchmark function. Right now there are a number of implicit assumptions that each benchmark function is tracked as a single series of results.

</comment></comment><comment><USER15> This is really cool, love the project and the writeup! I regularly use nightly (I work with Rocket) and I had always wondered about this. Thank you!

</comment><comment><USER16> Can I suggest you consider putting [https://github.com/anp/lolbench/issues/1](https://github.com/anp/lolbench/issues/1) in to the README.md file, so people can easily see where to look for some TODO items?

<comment><USER17> great idea!

</comment></comment><comment><USER18> Is there any equivalent project for java.

<comment><USER19> Java has a JIT, right? Seems more difficult to get consistent results.

<comment><USER20> You can benchmark reliably by warming up the JVM and disabling garbage collection.

[https://www.ibm.com/developerworks/java/library/j-benchmark1...](https://www.ibm.com/developerworks/java/library/j-benchmark1/index.html)

[https://www.ibm.com/developerworks/library/j-benchmark2/inde...](https://www.ibm.com/developerworks/library/j-benchmark2/index.html)

[http://www.ellipticgroup.com/html/benchmarkingArticle.html](http://www.ellipticgroup.com/html/benchmarkingArticle.html)

Java now ships with microbenchmarking helpers:

[http://openjdk.java.net/projects/code- tools/jmh/](http://openjdk.java.net/projects/code-tools/jmh/)

<comment><USER13> [https://tratt.net/laurie/blog/entries/why_arent_more_users_m...](https://tratt.net/laurie/blog/entries/why_arent_more_users_more_happy_with_our_vms_part_1.html)</comment></comment></comment></comment>


Ask HN: How to create textbook-like PDFs? - <AUTHOR>

Currently I'm reading one of the books available on http://inventwithpython.com/. How Al is able to produce such beautiful PDFs? What free and open-source software you can recommend (I use windows)? <comment><USER2> It's definitely LaTex. You can find some very nice LaTex templates in: [http://www.latextemplates.com/](http://www.latextemplates.com/). See this template for example: [http://www.latextemplates.com/templates/books/2/book_2.pdf](http://www.latextemplates.com/templates/books/2/book_2.pdf)

</comment><comment><USER3> I don't know what the author used, but the typical solution to this is LaTeX: [http://www.latex-project.org/](http://www.latex-project.org/)

</comment><comment><USER4> That reminds me of using Docbook to write the book, then using the various transformation engines to turn the docbook into PDF. I setup some docbook documentation that just used xsltproc to generate HTML and PDF from the same source. [http://stackoverflow.com/questions/2615002/how-to- generate-p...](http://stackoverflow.com/questions/2615002/how-to-generate-pdf- from-docbook-5-0) has some notes about the process.

For my part, I enjoyed the semantic markup it gave for something as big as a book, with auto-generating index and glossary as well. It's a lot of work, but the output reflects it. Looking at the HTML in the first chapter there, the spans with "term" and "menuitem" make me think something like docbook is going on behind this too.

<comment><USER5> The docbook tool chain is a nightmare to setup though.

</comment></comment><comment><USER6> I've seen much more beautifully crafted books in Latex, compared to that.

Another (free-software) solution, embraced by people like Andrew Tanenbaum, is GNU Troff ([http://www.gnu.org/software/groff/](http://www.gnu.org/software/groff/)).

</comment><comment><USER7> Http://PressBooks.com</comment>


Meet YC This Fall - <AUTHOR> https://blog.ycombinator.com/meet-yc-this-fall/ <comment><USER2> Can someone please elaborate on how (and how much) value attending this event adds? Is it geared more for helping you apply to YC, answer generic startup related questions etc?

Specifically, I am selected in YC Startup school and will have to spend at least a day to travel to attend the session. Is it worth the extra time and money?

<comment><USER3> Went to a similar event at Harvard some years ago. Was interesting but if you are a HN regular you probably get as much out of blog posts following happenings online as at the event.

YMMV if you are a better net-worker than I am.

<comment><USER4> > get as much out of blog posts following happenings

Curious, what are some of the best blog posts/sites to follow?

</comment></comment></comment><comment><USER5> NYC is conspicuously missing...

<comment><USER6> Much as I love NYC, we can't be everywhere at the same time.

Also, we were in NYC a month or so ago for FFC and want to make sure we get to visit as many locations over time as we can.

<comment><USER7> I see your point, but I'm not sure how that justifies having 3 and 4 events in the Bay Area and Boston respectively when Seattle and NYC are left out.

It just feels like you are trying to meet people inside your bubble instead of trying to branch out and get more people interested in YC.

</comment></comment></comment><comment><USER8> The Chicago event is a block from our office, if anyone wants to meet up, drink our whiskey, that sort of thing.

<comment><USER9> What kind of whiskey?

<comment><USER10> Inoffensive and sockless.

<comment><USER8> Oh for fuck's sake.

</comment></comment></comment></comment><comment><USER11> Glad to see you guys are skipping some of the usual destinations and throwing in some new places. Even if it means my alma mater misses out.

</comment><comment><USER12> Please come to Australia - specifically Canberra. I'd kill to make that happen. People from Sydney and Melbourne would both make the trip and it'd be huge help to the small (but passionate) Canberra startup community!

</comment><comment><USER13> Really glad to see the two "tour stops" in Japan, but no love for Kansai?

<comment><USER14> As much as I love Kansai, it's prudent not to include it in this list, imho. At least not on the first go-around...

The potential scope and scale of what can happen in Tokyo, especially regarding startups, is much larger than anything Kansai can currently deliver.

Any of the creative business/economic activity that Kansai is famous for will probably find its way to Tokyo if it wants to scale to maximum potential... at least for the time being.

I have a feeling that Tokyo-level scale will be what VCs are looking for. Maybe once the Tokyo market is more established, Kansai will get a serious look, but I don't think the VC-level Japanese startup scene is developed well enough to warrant that at this time.

That's just my 2 cents...

</comment></comment><comment><USER15> Hopefully we see a visit to Australia/New Zealand in the future.

</comment><comment><USER16> how about something in Miami to cater for those of us in Latin America and the Caribbean?

</comment><comment><USER17> Come to Denver/Boulder :)

</comment><comment><USER18> Oakland never gets any love.</comment>


Using implicit operator overloads to keep your C# API discoverable and open - <AUTHOR> http://danielwertheim.se/2014/05/02/c-using-implicit-operator-overloads-to-keep-your-api-discoverable-and-open/

<comment><USER3> Do not do this. There's no reason to not use an enum here -- requiring a cast is not a bad thing.

There are very few cases where you should have implicit conversions. Implicit conversions basically imply that the two types are so similar that no possible semantic difference can be observed after the conversion. For example, int is implicitly convertible to long because there can be no possible information loss and almost every case where long is allowed, an int would also be allowed in that place. Even overload resolution works correctly because the overload is first tried without the implicit conversion.

Enums (or other structs), on the other hand, can easily have different semantics. For example, if the enum values are auto-assigned and you add a value into the middle of the enum, all subsequent values are now offset- increased by 1. If you then switch on the int values, but not the enum values, your semantics will change.

Here an explicit cast is a good thing -- it's saying to the compiler that I'm doing something potentially dangerous, but just trust me on this one.

</comment><comment><USER4> Not sure what the point of the implicit operator overloads was. Why not just have:

      public class CreateBooking {
        public int TypeId { get; private set; }
        ...
        public CreateBooking(BookingTypeId typeId, ..., ...) {
            TypeId = typeId.Value;
            ...
        }
      }

      public struct BookingTypeId {
        private readonly int _value;

        private BookingTypeId (int value) {
            //...some simple validation logic...
            _value = value;
        }

        public int Value { get { return _value; } }

        public static BookingTypeId Custom(int value) {
            return new BookingTypeId(value);
        }

        public static BookingTypeId Gold() {
            return new BookingTypeId(3);
        }

        public static BookingTypeId Silver() {
            return new BookingTypeId(2);
        }

        public static BookingTypeId Bronze() {
            return new BookingTypeId(1);
        }
      }

With the added bonus that you're using less fancy stuff, so you don't need to explain to the junior dev that gets to maintain it what's going on.

<comment><USER5> I would prefer static read-only properties over methods and always return the same instance.

        private static readonly BookingTypeId gold = new BookingTypeId(3);

        public static BookingTypeId Gold
        {
           get { return BookingTypeId.gold; }
        }

It becomes a bit inconsistent because of the method for the custom case but I would accept that for less noise in the common case.

<comment><USER6> If the field is readonly why did you make the property in the first place? Just do public static readonly BookingTypeId Gold. It's equivalent.

<comment><USER3> If this is public surface area, the change from field to property is a binary break.

<comment><USER5> ...and you never know when you might have to add something to the getter. It's the same reason why you usually prefer properties over public fields even if there is no logic in the accessors. Similarly you usually want to expose constants by wrapping them in a read-only property because otherwise the compiler will inline the constant and you can not change it without recompiling all dependencies.

</comment></comment></comment></comment></comment><comment><USER7> I like where his head is at, he's trying to make code easier to write in a type safe way i guess. But this is a bit over zealous.

An enum IS the right solution here. Its more maintainable because everyone who touches the code base will implicitly know how the code works. With the solution he used, as i'm reading the code... i'm going to go "oh hey, huh i wonder how that works", then i'll spend 10 minutes trying to understand the code, added to the extra 10 minutes probably spent writing this code, I think its a bad idea.

if you're worried about passing a bad value in still, i think its fine to add a range check in the constructor, and to throw an exception. Exceptions are not something to be afraid of.

Also, i don't know what library he's using... but i feel somewhat strongly like i've done something like this in the past where i've serialized JSON, and enums have serialized as integers (as long as entry assigned a numeric value?). So it wouldn't be an issue to pass it in as a enum anyways.

</comment><comment><USER8> So, this pretty much works like an enum that can extended with additional numeric values on the fly.

But doesn't this implementation kind of defy the purpose of having an enum- like functionality in the first place?

<comment><USER9> It still provides some of the same ergonomics. You can put away the mental cheat-sheet ("1: gold, 2: silver...."). Your IDE can find all uses of BookTypeId.Gold(), rather than textual occurrences of "1". Etc.

The static quality of enums is only one of their features, and sometimes a hindrance, and it good to have other options.

<comment><USER8> sure, but I can't see how this is supposed to increase discoverability of the API...

I see "here is something that looks like an enum, and its possible values are gold, silver and bronze. But you can also give 10, 42 or any number as a value and it will still work".

I don't mean to be overly critical (clearly this approach has worked well for the author), but I am a bit unsure about the perceived benefits.

<comment><USER9> Yeah, I'm not sure how much it increase discoverability, plus users pay the cognitive cost of quirky patterns.

I might have used an enum plus a second constructor to wrap the explicit conversation. I guess it depends on what's going on in the rest of the API.

</comment></comment></comment></comment><comment><USER10> "Enums would demand an explicit cast and they are static. Also, any logic to them, would have to be added as extension methods, and in the case I had, logic tied to the BookingTypeId was arround the corner."

Can someone help me understand what he means here? Thanks

<comment><USER11> > Enums would demand an explicit cast

        enum Test
        {
            A,B,C
        }

        int x = Test.A;  // This won't assign

        int x = (int)Test.A;  // This will

> and they are static

Not sure why that's important.

> Also, any logic to them, would have to be added as extension methods

You can extend enums using extension methods, just like you can with classes or structs (you can also extend delegates FYI).

> and in the case I had, logic tied to the BookingTypeId was arround the > corner.

No idea.

<comment><USER12> >> Enums would demand an explicit cast > > enum Test > { > A,B,C > } > > int x = Test.A; // This won't assign > > int x = (int)Test.A; // This will

The OP wants the first one to work (that requires an implicit cast). The second one is an explicit cast. You explicitly demand a conversion to int.

> > and they are static > > Not sure why that's important. You cannot add more > values to the enum without modifying the enum. If you don't own code to the > Assembly that defines the enum, you're out of luck. With the OP's solution, > a third-party dev could add more 'constants' to "TypeId", simply by > providing more factory methods.

Sure those factory methods would not be located on the "TypeId" type, but that's acceptable.

>> Also, any logic to them, would have to be added as extension methods

> You can extend enums using extension methods, just like you can with classes > or structs (you can also extend delegates FYI).

Yes, but you can't add properties, for instance. Also extension methods are a C# and VB compiler feature. Other .NET languages (especially dynamic ones) will not discover these methods. Same goes for uses of 'dynamic' and reflection.

<comment><USER11> You seem to be shooting the messenger here? I'm not advocating any method, I was merely trying to help decipher the original message.

</comment></comment></comment></comment><comment><USER13> Doesn't this come off a bit as overkill? Especially adding the comparison interfaces. In F# you'd do something like:

      type TypeId = TypeId of int
        with
          static member Gold = TypeId 1

Custom is now just "TypeId 123". Otherwise, TypeId.Gold. (This is assuming you don't want to specify the cases directly as union cases).

You can also abstract this to a general phantom type like "type Id<'a> = Id of int". Now functions can ask for an Id<'a> for arbitrary types. Sort of like a poor version of the units-of-measurement.

This article's kind of boilerplate OO stuff seems like it's out of control. Over the past week, I've been using open source clients in .NET to connect to social media services. And a common thread is to write oh-so-much code and provide tons of types just to get a simple job done.

One Twitter client lib requires _7_ binaries. Types are split across around 50 namespaces. And of course, every type has its own file.

</comment><comment><USER14> I think I see where you're coming from. Correct me if I am wrong.

If I were solving the same problem:

public void CreateBooking( int chosenBookingType,... ){ ...

\- and -

public string[] GetAvailableBookingTypes(){ ...

or something similar.

Your implementer can call GetAvailableBookingTypes at run-time to populate whatever interface lets you select one, then pop the index of the selection back into CreateBooking. I have it returning an array of strings as a very simple solution; you can just as easily return an array of objects that better represent your booking types (containing descriptions, and URIs to icon images or colors or whatever). The methods are named in such a way as to lend to the fact that they are related. No enums, no wonkiness and you can add new booking types at will without having to let your implementer know something changed. If your implementers are not catching on that the two methods are related, you can solve that problem with easy to read documentation.

</comment><comment><USER15> The only justification for not using fixed static values here (ala enums - <USER2> enumeration of possible values) is the potential case of having values that are dynamic at run-time, rather than design-time.

Being as that the article consistently refers to these being fixed values, and that they're optimising for 3rd party use of their library, that doesn't seem to be the case.

This seems to be the classic case of a solution looking for a problem.

</comment><comment><AUTHOR> Thanks for all the feedback. Sweet. Tried to answer some Q I have been getting from various directions here: [http://danielwertheim.se/2014/05/12/reply-to-c- using-implici...](http://danielwertheim.se/2014/05/12/reply-to-c-using- implicit-operator-overloads-to-keep-your-api-discoverable-and-open/)

Thanks,

//Dan

</comment><comment><USER16> this is a stupid idea. you're not ready to publish an API - let alone be concerned with discoverability if you have no idea what you're publishing.</comment>


Scribd in HTML - <AUTHOR> http://www.scribd.com/documents/30964170/Scribd-in-HTML5 <comment><USER3> These folks just went from my list of websites I dread visiting to "damn, that is some sweet technology".

<comment><USER4> It may be "sweet" technology. I just haven't found out yet what the purpose of this or the previous technology is.

<comment><USER5> This is more than a 'sweet' technology. It is a big step forward for the web, because it means that all the documents uploaded to Scribd are now fully indexable!

They're now all accessible by crawlers, and will start showing up in search engine results. I believe the vision they craft (all the world's documents living online as part of the fabric of the web) is a very powerful one.

<comment><USER4> It's a big step forward only in comparison to what Scribd did before. The Web has always been perfectly capable of showing indexable documents, even PDF documents.

</comment></comment></comment></comment><comment><AUTHOR> For a more standard document example, with complex math, charts etc. see:

<http://www.scribd.com/documents/5/Paper-5>

<comment><USER6> Wouah, that one was really awesome. And in full screen mode, it's as good as reading a real pdf. Awesome work scribd. Performance wise, Firefox seems to have a little bit of a hard time.

<comment><USER7> My Firefox died for a while on this one as well (3.6.3).

</comment></comment></comment><comment><USER8> Awesome.

One note: is there a way to pin the bottom toolbar as hidden? It's kind of annoying to read a document with it popping in and out every 30 seconds...

<comment><USER9> We're probably going to do something to improve the toolbar hiding interaction. Thanks for the feedback.

<comment><USER10> Also, using the arrows on the keyboard to move to another page would be awesome.

<comment><USER11> If you change the View Mode to Slideshow, this allows you to change slides via the left and right arrow keys.

</comment></comment></comment></comment><comment><USER12> This is a major coup for Scribd. I think it's a service that people begrudgingly and painstakingly used. But now it's just joyful, and kind of sexy. But as someone points out - Scribd is a bridge and if the things that they bridge to ever contain the ability to embed or convert to HTML5, what will they do?

<comment><USER13> Their employees will retire, to live forever on the free pizza and beer which every geek will gratefully buy them in exchange for compelling every single popular proprietary document format to support effort-free export to standard HTML.

Or, you know, they'll invent something else. It's a lot to ask of a business plan that it be good for twenty years.

</comment></comment><comment><USER14> Reminds me of the Google Chrome cartoon: <http://www.google.com/googlebooks/chrome/> Even the colors, characters and "objects with faces". Not necessarily a bad thing, just curious.

<comment><USER15> I was thinking the same thing. However, it made me respect them just a little bit more. They could have just written a blog post and said... "We're no longer using Flash," but instead, they took the time to build something that a) illustrated very well their new technology, and 2) actually entertained some of us. Valiant effort.

</comment></comment><comment><USER16> This is really nice work guys. It's slightly disorienting to see HTML5 in real use. I kept looking for a scollbar until I realized it was just a regular web page; the scrollbar is my browser's scrollbar. (Though I think part of it was the positioning of the toolbar at the bottom; it looks like the page is split by the toolbar and it's not really.) The rendering in-browser is beautiful, and much more usable than a pdf viewer on my system.

</comment><comment><USER17> I applaud their effort, but when I look at real documents in both formats (e.g. <http://www.scribd.com/documents/5/Paper-5> like ZeroGravitas posted here), the HTML5 version looks very noticeably worse than Flash (tested in Chrome 5, Safari 4, FF 3.6). Fonts are rough or missing, kerning is shot to hell, and layout looks like it was performed on a shake table. It resembles the output of a poor PDF viewer.

I wonder if this was the right time to roll out the HTML5 format.

<comment><USER18> Also super laggy when scrolling fast over the content. I never see that kind of scroll lag and it was quite apparent while viewing your provided ZeroGravitas link.

I have to say going from a "viewer" to having all the content on the same page is a huge improvement.

<comment><USER19> In order to get that level of display control, they're doing some insane things under the hood with the HTML. It's a tag fiesta in there (understandably -- there's no other way to do it), and complex HTML can put some real demands on the processor -- but nothing compared to the same content in Flash.

In Safari scrolling that document is very smooth. So much better than the Flash Scribd. Kudos.

</comment></comment></comment><comment><USER20> Fine Job, both technically and graphically. Smooth on Chrome. The only aesthetic change I'd make is that the up/down buttons could jump, or scroll faster - at first I was unsure what they were doing different from my window scroll bar.

I did find one bug...On slide 14 (well actually all of them, but it's most noticeable there) you can indeed highlight and copy the text...but not the last character in a block. If you try to select the last character you'll invert the selection to be from the start of the slide to your highlight point (sometimes this includes the page frame so it looks like you've selected the whole page). I suspect (based on my own bad habits) that it's a boundary error, counting the length of the highlight from 1 when the string length is counted from 0.

Rendering more complex documents isn't as perfect as pdf, eg column-spacing or margins can look a little bit off, but that's a minor cosmetic flaw that I'm sure will be fixed.

<comment><USER21> I've noticed Chrome itself has some highlighting issues. Another example: Put some text in on <http://www.eeemo.net/> , which is the Zalgo text generator, which works by putting lots of Unicode character decorations on your base text. Chrome demonstrates some very strange highlighting/copy/paste interactions on that page if you try to copy the Zalgo-ed text out.

My guess is that it's not a Scribd bug, and I also suspect there's probably not much they can do to fix it.

<comment><USER20> Hmm, seems fine for me with Chrome beta 5, but you might be right. I don't have FF installed right now to compare.

</comment></comment></comment><comment><USER22> That is extremely cool. I always found Scribd really frustrating to use - <USER2> disconnect between my normal browser use and the embedded Flash reader felt about the same as the disconnect caused by viewing the same file in Acrobat Reader, so I didn't really see the point of it.

If browsers take this onboard as a common HTML5 scenario to be optimised, and it becomes a viable, quick and plugin-free way of reading any document online, I will be very happy :)

Kudos to the Scribd team for the mighty effort this must have taken to implement.

</comment><comment><USER23> As somebody who dreads scribd links (I won't install flash), this really looks like a good step forward. PDFs are still better viewed in okular, but I could see this being useful for viewing MS formats. Really slick interface, too.

<comment><USER24> Likewise, I won't install okular. Evince is the only game in town.

</comment></comment><comment><USER25> Tried it on my iPhone, only the first three frames show some text (no images) and the rest of the sheets are blank. I believe it is the future though, anyone with an iPad who can try this out?

<comment><USER26> I have no iPad, but Opera 10.52 (Windows) has a similar behaviour: The first three frames are there (with images), the rest of the sheets are blank.

<comment><USER27> Opera 10.53 on Mac OS X Tiger and the same thing happens.

</comment></comment></comment><comment><USER28> Comparison of HTML5 display and Flash on chrome + win7: <http://dl.dropbox.com/u/2601554/comparison.png>

</comment><comment><USER29> Initially I was expecting the purchase of opinion through the long-played Flash vs. HTML5 gang/mob, "Down with Flash" signs high in the air, binary opinionated nonsense that is so common.

Respect paid to Flash for its use when it was needed.

<comment><USER30> Was it really needed? Most of the stuff I've seen on Scribd was basically pdfs in an iFrame, except replace iFrame with Flash.

</comment></comment><comment><USER31> How will this change affect API users or those who have embedded Scribd content on their sites?

<comment><USER32> We are working on a migration path that will switch people over to the HTML versions (unless they don't want it). Are you one of those people? If so ping me directly - jared at scribd.

<comment><USER33> I was wondering about this too. I often get document conversion errors (using the JavaScript API), especially with UTF-8 documents. Think HTML5 will help?

<comment><USER32> Honestly, I'm not sure. Send me your Scribd username and I'll take a look.

</comment></comment></comment></comment><comment><USER34> Much better than their Flash interface. But completely broken in Firefox 3.0.x (under Red Hat; can't advance past the first page and there are no pictures) and the fonts are too big under Iceweasel 3.5.9 (under Debian). Until they stop requiring a log-in to download the original PDF so I can view the content in a decent viewer, I'm going to continue cursing every time I accidentally follow a link to scribd.

<comment><USER35> Would you mind emailing me screenshots of the issues you are seeing? We are trying to document all inconsistencies, and your help is much appreciated.

quin -at- scribd.com

</comment></comment><comment><USER36> Nice. I have hated scribd for years, because their flash app sucked enormously and I just wanted a PDF.

But this is better than that - now scibd is actually useable.

</comment><comment><USER37> When viewing flash slides, the scrolling is annoying. I prefer to hit right and get the next page. Can't this be simulated in HTML5?

<comment><USER35> Sure thing; the view mode switcher is in the middle of the toolbar at the bottom. Select slideshow mode from there and you're set.

</comment></comment><comment><USER38> I wonder how Scribd pulled this off wrt HR. I mean, they must have had a sizable investment in Flash engineering. Did those people leave? Did they just start doing HTML stuff instead?

Back in the day when I was doing webdev, there was a pretty serious schism between webdevs and flash devs, and never the twain met. Maybe this is less true now.

<comment><USER39> I dont think Scribd made too much investment in Flash developers. On server side they were using "PDF2SWF" released under GPL by Swftools.org. My understanding is that, initially they were using 'FlashPaper' to display documents in front end.

</comment></comment><comment><USER40> I feel like the real accomplishment here is that they are converting documents to websites on the fly - complete with font-faces and image positioning. How do you do that? If that's possible, will we need front-end layout developers in a few years (we'll probably still need animation/transition development, right?)?

</comment><comment><USER41> I'm totally in that "this is great" camp.

That said, can someone familiar with HTML5 explain, or provide a link, for the seemingly crazy source? Is this a result of the work-in-progress framework that creates these? Or is this really what it takes? Kinda looks like the source out of .doc --> .html conversion.

</comment><comment><USER42> Nice! But scrolling that page makes my cpu cry in Firefox...

<comment><USER43> No problem in Chrome.

<comment><USER42> Slightly less load in Chrome for me but it's still significant.

What probably matters is I am using Windows XP with integrated graphics on the motherboard.

Are you using Windows 7 with discreet?

I am betting a Flash version would have the same or more load so the issue is probably moot.

<comment><USER43> _Are you using Windows 7 with discreet?_

No I'm running 64-bit Ubuntu 10.04. I do have integrated graphics though. I agree that Flash wouldn't likely be any better.

</comment></comment></comment></comment><comment><USER44> Looks nice, but it suffers from the typical "page with too much JavaScript + fancy features" sluggish scrolling issue (I'm only talking 8-10fps vs a more regular 20-30fps here, but I'm sensitive ;-)). This problem is reduced, but still present, in Chrome, even. Good start though.

<comment><USER35> It's really quite atypical, but all things considered, that problem is quite difficult to get around in this case. We do, however, plan to put significant effort into optimizations.

<comment><USER44> Considering you are almost emulating what Flash does natively, it is an awesome effort already. I dare say that with Chrome's continuing improvements, it'll be barely noticeable soon. That said, people running slow machines might have more issues.

</comment></comment></comment><comment><USER45> Wow. I would love to see a technical write-up about how they generate these documents. (I assume they're programmatically generated...?) How do they get around issues of font licensing? (Where do the font file themselves come from?) Really, really cool.

<comment><USER32> Awesome! I am psyched for the interest ... we'll publish an explanation of the tech details next week.

</comment></comment><comment><USER46> I know it's been said here a couple times, but positive reinforcement is good: I used to get annoyed every time a document was linked to on scribd, and only went there grudgingly. In my mind, this is a complete 180 and a very welcome upgrade.

<comment><USER35> As an engineer on the project, things like this are amazing to hear. Thanks so much for the feedback!

</comment></comment><comment><USER47> Great work! My browser doesn't come to a halt when I click a link to visit scribd! Huuuuuge PLUS. I would avoid your site because of this experience, but will no longer fear.

</comment><comment><USER42> By the way, I like how they used a semi-geeky woman to present this (well at least in 'toon form).

Are there actually female coders at Scribd by any chance or was this just a marketing concept?

<comment><USER35> No female coders here presently - but we are hiring and welcome any candidates! All of marketing is female, though.

<comment><USER48> Haha. Seems to be the norm in tech firms. I know it is where I work.

</comment></comment></comment><comment><USER49> Wonderful! I honestly never liked the flash choice. I always wished for something like google's _view as html_ , but done right. And this may be it!

</comment><comment><USER50> Wow. Sweet.

Quick quesiton, is there a way to enable this by default on the main site? I notice that if you go to /doc/, it shows Flash, and if you got to document, it's HTML.

So, from the front page, I click on Scribd in HTML link, and it takes me to <http://www.scribd.com/doc/30964170/Scribd-in-HTML5>

Edit: NM, I see the light blue box on the right side there. >_<

</comment><comment><USER51> What's unclear to me is if they're gonna keep showing Flash to those browsers that dont have HTML5 capability. I haven't seen this noted anywhere.

<comment><USER9> Believe it or not, it supports IE6, 7 and8 out of the box. Was not easy either.

<comment><USER52> That's an understatement.

</comment></comment></comment><comment><USER53> Finally! I've always wondered why Scribd went Flash; it made their usability _less_ than the documents they were copying, most of the time.

</comment><comment><USER54> Works well overall, but the damn toolbar is fixed width, so it gets clipped when the browser window is smaller than 1024 wide, which is lame.

<comment><USER35> Yeah, we need to fix that. I imagine we will take care of that soon.

</comment></comment><comment><USER55> The illustrations are kick ass - gave me a feeling i was reading a comic strip. +5 just for this document.

</comment><comment><USER56> It would be great to see Adobe products export to HTML5 like this.

</comment><comment><USER57> Wow, I might actually start clicking the [scribd] link now!

</comment><comment><USER58> What does this mean for their copy protection? How can they prevent people from downloading/printing works now?

</comment><comment><USER59> It's a shame that the link on the last page to Special Agent Productions takes you to a Flash splash screen.

</comment><comment><USER60> This is absolutely going to get scribd bought by Adobe. It's a no-brainer. Case closed. Amazing work, guys!

</comment><comment><USER61> Great technology, underwhelming choice of a font. g's that look like q's are rather distracting.

</comment><comment><USER62> I can't navigate with arrow keys

<comment><USER63> Try switching the 'view mode' in the bottom bar (just to the left of the search field) to 'Slideshow'. Arrow keys should work once you do that.

</comment></comment><comment><USER64> Didnt' we do this yesterday ?

<http://news.ycombinator.com/item?id=1326047>

And the day before yesterday ?

<http://news.ycombinator.com/item?id=1322768>

</comment><comment><USER65> keyboard support?

<comment><USER35> There is keyboard support in some of the view modes. We will be adding more in the near future.</comment></comment>


Ask HN: Why doesn't Google open up an API for Inbox? - <AUTHOR> I quite like Google Inbox, I really like the way there's the ability to create tasks (reminders) and sleep emails for a period of time.
It's the reminders functionality I'm most interested in though. I don't have a nice solution currently for managing a TO-DO list which works everywhere. I'm currently experimenting with Taskwarrior [1], but what I'd really like would be to interact with the Google Inbox reminders API, if such a thing existed.
So - my question - Why would Google not open up an API for this? Support & maintenance issues? Not that invested and it'll be another Google Reader at some point?  Shame, I'd love to build some integrations.
[1] https://taskwarrior.org/ <comment><USER2> Can you not integrate to your own next-cloud?

<comment><AUTHOR> I have used owncloud before (seems quite similar) but the thing is, I _like_ Google Inbox, I really like the mobile app on Android, and I'd like to just have one place to see tasks (i.e. in Google Inbox, but I want to be able to manage it from bash, anywhere else)

Moving to next-cloud would mean I'd have to open up a different app to see my tasks, which isn't what I want.</comment></comment>


A Python Dnd Proficiency Engine - <AUTHOR> http://www.earthvssoup.com/2007/12/14/a-python-dnd-proficiency-engine/ <comment><USER2> Interesting, but much more complicated than it has to be.

In Chaosium's BRP (<http://en.wikipedia.org/wiki/Basic_Role-Playing>) system, each skill is represented on a percentile scale. Whenever a player does (tries?) something with a given skill, he gets to make an "experience check" (usually at the end of a game session), and that skill's value increases a bit (usually one point, IIRC) if the player "fails" the check (i.e. rolls higher than the skill's value, whereas in normal gameplay, a successful action happens if the player rolls equal to or less than the skill's value).

This creates a learning curve that naturally levels off, only advances skills that are actually used, and can be calculated easily on pen-and-paper.

</comment><comment><AUTHOR> It's not spam. The first paragraph is typical blog babble... -m

</comment><comment><USER3> Spammer, i think -- read this first paragraph -- adlinks junked up in it, and submitted by a 2-hour-old account.

"What have I been doing all of these years... on a whim I picked up OK Computer and Amnesiac and am blown away -- great albums -- been listening to little else since purchasing them. I've always used simplified APIs built on SAX, so I felt it was time to learn the mechanics of it to expand the depth of my knowledge on that front. Must join <DELETED>.com and <DELETED>.com. Here is a Python class, using a generator object, that rolls n number of s sided dice:"</comment>


Tiny village in Nebraska hides world's largest rare earth mineral deposits - <AUTHOR> http://www.geek.com/articles/news/tiny-village-in-nebraska-hides-worlds-largest-rare-earth-mineral-deposits-2011085/

<comment><USER2> I could have sworn china only held 97% of the worlds current stock of processed rare earth minerals...rather than the actual deposits themselves. Not to mention the rarity of these processed minerals elsewhere is not due to the scarcity but rather due to the heavy processing & costs required to extract them...Which is why the mines that do so are rare in their own way.

<comment><USER3> > Not to mention the rarity of these processed minerals elsewhere is not due > to the scarcity but rather due to the heavy processing & costs required to > extract them.

This distinction is only important if we consider a future where technological advances significantly bring down the cost of extraction. Here and now, the only thing that is important is the amount that is extractable for a reasonable price. (Or, more specifically, the shape of the supply curve.) If there were a trillion trillion tons of the stuff behind an invisible force- field that we couldn't get past, that would nominally remove the scarcity but it wouldn't practically matter.

<comment><USER4> True, but the barriers can also be of several types, which would matter when looking at how persistent they're likely to be. For example, if China dominates because its reserves are significantly easier to extract technically (e.g. closer to the surface, higher concentration), that would be a different situation than if it's more due to environmental or regulatory policies, or to labor costs.

</comment></comment></comment><comment><USER5> This may vindicate what I've been saying for years: "we don't need to mine asteroids, there's more of whatever you want in some corner of Nebraska!"

</comment><comment><USER6> I was under the impression that the extraction and purification of rare earth elements was such an ecological catastrophe that environmental protection laws in the US had made the existing mines in the US so unprofitable that they shut down.

<comment><USER7> It's a little more complex than that, but I'd say that's what it boils down to. There's all sorts of horrible stuff that gets mined along with the rare earths, much of it exceedingly hazardous.

</comment></comment><comment><USER8> "largest _untapped_ deposit"

Emphasis mine. This is still an awesome find, but it would be better if these deposits were also large in absolute terms. Is there any chance someone has found better details?

<comment><USER9> It's a pretty sizable deposit, but it's underground. That means it'll be pricier to extract, and not all of the ore can be mined. Looks like lower grade than the Chinese deposits currently mined too, and it's a different mix of elements.

<http://www.quantumrareearth.com/projects.html>

[http://www.iamgold.com/English/Operations/Operating- Mines/Ni...](http://www.iamgold.com/English/Operations/Operating-Mines/Niobec- Niobium-Mine/Mining-Processing/default.aspx) \- a similar deposit in Quebec.

<http://pubs.usgs.gov/fs/2002/fs087-02/fs087-02.pdf> \- good summary of REEs

</comment></comment><comment><USER10> Elk Creek is a 30 mile drive from where I was born and raised.

<comment><USER11> Where is that at? I grew up in Peru outside of Auburn, went to school in Auburn.

<comment><USER10> Awesome! I was born in Auburn, grew up in Brock, took piano lessons at and skateboarded the hills of Peru, and went to high school in Johnson. Small world.

My first exposure to computation was in a basement room at Peru State College, where Stan McCaslin set me up to play Trek on a line printer terminal that was dialed into some machine in Omaha. A couple of years later, the TRS-80 Model I was released, so this was quite a while ago.

<comment><USER11> I think you're a lot older :). I graduated Auburn High School in 2007. My parents still live in Peru (I moved to Arkansas), my dad works at Cooper Nuclear Station.

<comment><USER10> Yeah, I was class of `86, so I could be your dad. ;-)

</comment></comment></comment></comment></comment><comment><USER12> Looks like a good opportunity to relegalize mining and do a responsible job of mining it out. This kind of wealth could really help repay our debts and help our economy improve. And possibly make things cheaper to make microcircuits here, rather than in China (where they'd love to sneak some malware into our government/intelligence agencies).

Nitpick: Sounds like they're "sitting on" rather than "hiding" the deposit.

</comment><comment><USER13> I wish articles about rare earth mineral use in high-tech devices would be more specific about which minerals are used in what components. They love to say that LCD monitors, cell phones, etc. use rare earth elements, but why, and how?

</comment><comment><USER14> For those of us who are unfamiliar, could somebody share some insight or background on these _rare earth minerals_?

<comment><USER15> They're a row of elements on the periodic table (lanthanides) which have a broad range of industrial uses (see the wiki). It is a misnomer, as many of them aren't particularly rare.

<http://en.wikipedia.org/wiki/Lanthanide>

<http://en.wikipedia.org/wiki/Rare_earth_element>

They occur all over the world. The US was once the leading producer, but (IMHO unreasonable) regulation forced its mines to close (they were in California). Currently China produces virtually all of them (97%-99%). There's a geopolitical stink about their protectionism: they're restricting exports, which (to my understanding) means they're intervening in favor of Chinese rare-earth consuming manufacturers (e.g. electronics industries). There's also human issues, in that the mines are a major pollution source and health hazard, and many (NYT estimates half) are operated illegally by crime syndicates.

<http://pubs.usgs.gov/fs/2002/fs087-02/>

[http://www.reuters.com/article/2011/03/22/us-china- rareearth...](http://www.reuters.com/article/2011/03/22/us-china-rareearth- idUSTRE72L10I20110322)

[http://www.reuters.com/article/2011/07/14/us-china- rareearth...](http://www.reuters.com/article/2011/07/14/us-china-rareearth-eu- idUSTRE76D3Q620110714)

[http://www.economist.com/blogs/babbage/2010/09/rare- earth_me...](http://www.economist.com/blogs/babbage/2010/09/rare-earth_metals)

[http://www.nytimes.com/2010/12/30/business/global/30smuggle....](http://www.nytimes.com/2010/12/30/business/global/30smuggle.html?pagewanted=all)

<comment><USER16> Yes, Your last link certainly bears reading...

The US was happy to allow China to produce the elements in hazardous conditions just as its happy to allow Chinese to "recycle" circuit boards in villages where they take them apart by bare hand.

But when China begins restricting the export of these elements, then it is a scandal.

And no, I am not any kind of fan of China...</comment></comment></comment>