The mental gymnastics involved in having a high security clearance. - <AUTHOR> http://m.motherjones.com/kevin-drum/2010/02/daniel-ellsberg-limitations-knowledge <comment><USER2> I used to be in the intelligence field, and I held a top secret SCI clearance for about five years.

What most people don't realize about classified information is that it's not the information itself that's so sensitive; it's the means via which such information is acquired that must be protected. If this were not so, targets could simply sidestep our intelligence collection vectors.

I rarely dealt with any classified information that was interesting or surprising. It's mostly stuff you would expect. The technologies and methods used to acquire a piece of intelligence were always more interesting than the intelligence itself.

<comment><USER3> I thought I read somewhere once that it was a violation of security procedures to reveal your security clearance level (unless it was in doing your job to access information). Is it ok to mention you used to hold a top secret SCI after the fact?

<comment><USER4> There is no formal guidance (that I'm aware of) about revealing a secret, top secret, Q, or L clearances, nor is there formal guidance on revealing that you are SCI eligible.

Each SCI compartment and SAP has its own unique rules about what you can and cannot reveal (some SCI compartments mere existence is classified at the SCI level itself, meaning you can't say you hold that clearance to anyone who doesn't hold that clearance, for example).

Each SCI compartment also comes with it's own unique rules about when you can or cannot talk about what you learned or were cleared to access (most are probably lifetime NDAs).

That said, it's pretty shitty opsec to tell someone, or the Interwebs, that you hold a specific clearance or do a specific job.

<comment><USER5> >you can't say you hold that clearance to anyone who doesn't hold that clearance

I assume that there's a secondary signal that _can_ be disclosed that everyone who has clearance can recognize?

<comment><USER4> I'm not aware of one. In some cases, the information will just be disclosed, and you'll be forced to sign the paperwork and be 'read in' after the fact. As long as you have a legitimate need to know, that's fine.

</comment></comment></comment></comment></comment><comment><USER6> There's a flip side to this as well: as a voter, I don't know what information my elected leaders have when making decisions.

In theory, with a small amount of secrecy needed to make diplomacy and security function, this makes sense. The problem is that it's not actually working in practice. There are so many un-elected people who have jobs for life and also the ability to classify broad swaths of information that the incentives are all set to increasing amounts of classified data. There's no correction mechanism. In theory, you'd have Congressmen aggressively using their oversight powers to correct the system. In practice, elected officials are mostly in for life (or as long as they choose) and are easily manipulated by the system. In fact, they don't want anything to do with making tough decisions. The more things are secret, the less they have to worry with those nagging voters giving their opinions about things. I read about intelligence oversight committees being told they don't have clearance to see things and it just blows my mind: our entire system of using force rests on civilian oversight. Thousands have died because civilians have made mistakes with information they've be given -- and that's the way it is supposed to work. Somehow we've forgotten all about this critical principle.

As an example, I'll pick a topic where you guys can all call me fuzzy-headed: UFOs. I pick this topic because of its ludicrous nature. Heaven help me if I were to pick something that was diplomatically sensitive and start hammering on it. I've been studying sightings and evidence as a hobby for many years, and based on credible eye-witness testimony I'm comfortably convinced that the United States government knows a lot more about intermittent atmospheric phenomenon than they are letting on. Why? I don't know. Why not a little more openness? I don't know. What part of this information is being used by my elected officials to make decisions? Again, I don't know.

This leaves the door open for all kinds of crazy speculation. It's an insane way for a democracy to treat its citizens. Yet this is just par for the course. All I did was pick a way-out example. Laugh off my UFO example if you wish, but for every thing like that there is a thousand other things that drive public policy -- and you and I will never know about them. Taken to this level, it is a very unstable way to maintain consent of the governed.

Not only does it make it impossible for an elected official to take advice, it makes it impossible for voters to make reasoned and educated judgments about the actions of officials. Secrecy corrupts everything it touches. That's why it must be aggressively minimized.

<comment><USER7> > In theory, with a small amount of secrecy needed to make diplomacy and > security function, this makes sense.

It does not make sense to me. Perhaps you could explain to me how you reached this conclusion?

<comment><USER8> More mundane than protecting secret codes and espionage, I think there's a strong argument for keeping the private conversations between the representatives of two governments confidential. Much as my conversations with my close friends would be very different if I knew the contents would be published in the New York Times today, to have functioning relationships governments need to know that some level of confidentiality will be kept when requested.

That said, over-classification is definitely a problem, particularly if done with domestic political considerations in mind. Even worse can be selective declassification, when the public is presented with a few bits of intelligence that present only part of the story and may lead to conclusions very different than had the full picture been presented (i.e. 2003 Iraq War run-up).

<comment><USER9> > to have functioning relationships governments need to know that some level > of confidentiality will be kept when requested.

To have relationships that function the exact same way they do now. It's clear that things would be different. It's probably true that things would be harder for people in those roles. It's not at all clear that things would be worse for those outside of government, which is the real question of whether it is desirable.

</comment></comment></comment></comment><comment><USER10> If anyone has seen the comedy series "Yes, Prime Minister", they'll often understand how a leader can be manipulated by his mandarins through selective disclosure of uncorroborated information, present consequences couched in politically unacceptable terms, force the hand by setting the agenda.

This is especially true if dissenting opinion is filtered before it gets handed to the President etc.

I apologize if the following sounds a little leftist. I only intend to make a point about how mistakes come to be made, and what governments may need to do to arrive at better decisions:

Over in Australia, an ASIO analyst chose to resign rather than see Australia join the Iraq war on the basis of WMD pretexts. (Andrew Wilke is now a Member of Parliament).

The trillion dollar mistake US made was due to influencers being able to feed super-classified information to the willingly gullible people.

It is not easy for a President to call bullshit. I believe the reason is because there isn't sufficient accountability that is built into the system. In days past, members of the royalty are expected to fight in wars. Even during Roman days, only landowners could join the army. The appearance of the professional soldiers lowered the personal risk of the people in power who rush into war.

The Chinese emperors surrounded themselves with eunuchs thinking that the absence of offspring give some assurance that these people will be less biased, but it didn't work out that well. Influence is still peddled, particularly because power itself is very addictive on its own.

Some cultures resort to shamans to try to get an outcome that is independent of any one person's viewpoint. The most interesting one that I came across is the use of ibogaine, where people have a "spiritual" moment, where they see the big picture instead of worrying about themselves.

For a complex society to survive and transcend humanity's limitations, we may need to create a supermind. Some elements of this already exist. One is the idea of "opensource intelligence" that can be used to corroborate otherwise secret accounts.

<comment><USER11> I have no opinion regarding your post itself, but I'd like to point out that a comedy series is not evidence of anything.

[http://lesswrong.com/lw/k9/the_logical_fallacy_of_generaliza...](http://lesswrong.com/lw/k9/the_logical_fallacy_of_generalization_from/)

<comment><USER10> I'm only trying to figure how Chalabi managed to fool the entire US intelligence machinery into invading Iraq, and the only logical conclusion is he couldn't. Facts were being created by the hawks and these people decides on who gets access to the President.

<comment><USER12> As far as I am aware, the decision making process started with a desire to invade Iraq and then once it was decided to do this any evidence that could justify this decision was collected and circulated (even if it came from someone who was known to be delusional).

Even worse, the UK government knew that there weren't good reasons to invade Iraq, but went along with it simply to keep in with the United States.

<comment><USER10> I didn't think GWB himself was a neocon, although he was surrounded by a few.

</comment></comment></comment></comment></comment><comment><USER13> I wonder if any game theorists have thought about whether a country with no secrets could be militarily stronger.

It's similar to the Linux vs Windows debate: at first glance it seems ludicrous that an open source OS could be more secure than a closed source OS. But with enough eyes and enthusiasts, all problems are quickly fixed.

A small inner-circle who have access to the inner workings may find it hard to compete when their competitor has the whole world helping debug and fix the system, including the goodwill associated with that.

<comment><USER14> Sure they have. IANA game theorist, but I think the conclusion is that some secrets are good, but the paramaters should generally be communicated.

You didn't want to let the USSR know how many nukes you had (or they could come up with a stronger first strike plan). But you wanted them to know roughly how many, so they knew not to overreact (and build a massive deterrent to an overstated threat), or under-react (and get too cocky).

There's also value in giving biased paramaters - the President is mad, and you have more nukes than they think (which will make them scared, and more likely to back down, because they think they are dealing with an irrational actor), but you don't want to sail too close too the wind here.

The thing is, game theorists don't deal well with stuff that's not part of game theory. Game theory tends to assume that actors are all very smart, and aren't hamstrung by some of their best advisors being out of the loop.

<comment><USER15> Isn't there some kind of game theory which takes irrational/drunken actors into account?

</comment></comment></comment><comment><USER16> When I first heard about the Bell-LaPadula model ( <http://en.wikipedia.org/wiki/Bell%E2%80%93LaPadula_model> ) in my security class, it was pretty eye opening, especially the notion that once you're given a certain level of access, you can no longer write at lower levels. I think it might explain in part the explosion in the amount of classified material generated each year.

<comment><USER17> Yeah, that model is more or less what's in use. Except the real-world version is a bit more complicated and messier (and more confusing). But the principle is all the same. Read goes down, write goes up.

You _can_ move information down only if the information is at the level you are moving it to and it's been properly signed off.

e.g. something that is marked Secret, but written to a Top Secret system, can be moved back down to the Secret system)

</comment></comment><comment><USER18> A side note to the content of the article, which was interesting, but I couldn't zoom the text.

I'm using Chrome, and when I zoomed in, the pictures, headers and footers all grew appropriately, however the text remained a constant size.

I'm not sure how they managed that, but it makes for a terrible user experience when you want (or need) to increase the font size to make it more readable.

<comment><USER19> It's because it's their mobile website. The text on the normal version of the story seems to zoom fine: [http://motherjones.com/kevin-drum/2010/02/daniel- ellsberg-li...](http://motherjones.com/kevin-drum/2010/02/daniel-ellsberg- limitations-knowledge)

</comment></comment><comment><USER20> Well, this sure puts a different spin on the arrogance of the US Government. The new Aristocracy, those with "clearances", receive and can act on information that the rest of us can't be allowed to have. The Fed's "We just know better than you" attitude probably derives directly from this secret pool of knowledge.

But why would you divide up information into 15 or 20 categories? I bet that even at "Top Secret" levels, the narrowness of view is stultifying.

<comment><USER21> Think of it like this: if one person only knows part of a system, they can only reveal so much about it. 15 people might know the entirety of one system, but individually they don't know enough to be a threat. This idea can be stretched out to cover entire levels of security clearance and information (as it does).

<comment><USER22> It also makes it more difficult for them to collaborate and conspire without the coordination of those above.

<comment><USER20> Let's flip that around: it makes it easier for "those above" in the hierarchy to deceive a whole pile of compartmentalized people into performing useless work, and thereby consuming lots and lots of government money.

<comment><USER23> Why would they do that?

<comment><USER20> Ever heard of Empire Building? It's a common problem in corporations. Mid- level managers become important by having a lot of underlings. I imagine this would be even more important in compartmentalized areas, as mid-level managers would nominally have no other method to signal their importance to superiors or peers.

I can also think of a situation where a contractor might hire a mid-level manager's husband, wife or child. The mid-level manager would be able to crank up his or her headcount to get the relative a sizeable Christmas "bonus". I've heard tell that this sort of thing actually happens.

</comment></comment></comment></comment></comment></comment><comment><USER17> Thought I'd make a throw away and tip in as there are lots of people here who've never had a clearance and don't really understand what it's all about (I've had one for more than a decade). I'll try and answer some questions in the threads as I can.

In the U.S. here's how it works (I'm writing this from the perspective of a contractor):

You are hired to work on a government contract, that contract requires you to work on xyz project that requires you to handle information classified at a certain level (or with certain caveats or handling requirements). You fill out a bunch of paperwork (<http://en.wikipedia.org/wiki/E-qip>) and it's submitted to the government. The information you put down isn't really a whole lot more interesting than what you might put down on a home loan application, but you sign some consent forms that the investigator can do some credit checks, that sort of thing. You also put down some references they can contact.

Depending on the level you are applying for, the investigation may take longer, particularly if they interview your references. The interview questions are usually simple things like, "did you work with so and so at such and such place?" "have you ever heard them talk about overthrowing the government?" that sort of thing.

If you're a normal person, no serious prison record, drug addiction, serious mental health problem, or threatening political viewpoints (card carrying member of the nuke the US party) there's really not a lot that can prevent you from getting a clearance. Even prior drug use doesn't necessarily prevent you from getting one.

A Secret clearance has a very low bar to entry. You can get one after application in perhaps 3-6 weeks. I can't even get a cable guy to come to my house in that length of time.

A Top Secret clearance takes a bit longer, and is slightly more involved, but it's on the order of months to a year.

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

Most of the time people either get a Secret clearance of a Top Secret clearance -- there is no such thing as a "clearance" above Top Secret but people can often be confused by special accesses at those levels (explained below).

Operating at the Secret level, you'll have access to _most_ of the information that is classified at that level. If you've read any of the wikileaks State Department stuff or the Afghan and Iraq war diaries you've seen what kind of stuff it is. Most of the time it's just information that the government would rather not go public with, but isn't really all that interesting in nature. Records of events, meetings, general information reports, troop movements, that sort of thing.

Probably 1 in 150 Americans has at least a Secret level clearance, and probably 1 in 50-70 have had one at one time (there are a _lot_ of people that move through the military and/or for the military).

The Military's information systems are generally geared around the Secret level of classification and done on an Internet-like network called SIPRNET, There's even a Wikipedia analog and a Google search on it. It's like using a slightly shoddy version of the Internet as it was 5-10 years ago.

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

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

To be honest it's not really much more interesting than using your regular run-of-the-mill corporate firewalled intranet, except it's an unusually large organization.

Not all Secret information can be shared with our allies. Why? Well, we may be fighting a war with say, New Zealand at our side, but also investigating a case of attempted bribery where NZ is trying to smuggle sheep into California or some such. We _don't_ share the bribery investigation data for example.

To deal with this we use what are called "handling caveats". Something shareable with say Canada and Great Britain might then be marked as SECRET//REL TO USA, GBR, CAN or similar. There are also group handling codes like NATO, ISAF etc.

[http://en.wikipedia.org/wiki/Classified_information_in_the_U...](http://en.wikipedia.org/wiki/Classified_information_in_the_United_States#Handling_caveats)

[http://en.wikipedia.org/wiki/International_Security_Assistan...](http://en.wikipedia.org/wiki/International_Security_Assistance_Force)

There are also other classification markings that are used as caveats. They look kinda the same and are called compartments. It's generally just more restrictions on who can see the information.

[http://en.wikipedia.org/wiki/Sensitive_Compartmented_Informa...](http://en.wikipedia.org/wiki/Sensitive_Compartmented_Information)

People use 'SCI' like it's the same as "SECRET" or a some super high level classification. But what it really means is that it is information gathered in some way that we would really really rather keep private and thus you need another level of need-to-know to get access to it. Typically it's this way because billions of dollars was spent getting that information gathering capability and replacing it would be billions more or revealing it could expose people to severe risk, harm or death.. SCI compartments exist at all levels of classification.

Often knowing what the information is showing can directly inform somebody how it was gathered as well. So it's not just the means that's protected directly, but the data as well.

To see this information, you need to be working on a program that requires you to work with information in that compartment (need-to-know). And you will be "indoctrinated" or "read on" into that compartment. Which usually involves filling out some more forms, submitting the application, and watching a boring video telling you what the compartment is all about. There are many compartments. Compartments can also have sub-compartments.

However, in some cases, the information is so super sensitive (almost always meaning that people could be killed if it becomes known) that the government wants to make sure you can be trusted with it. So you might get polygraphed. Usually they just ask you things like "have you ever considered trying to overthrow the U.S. government" and other similar. You might also go through a slightly different polygraph with highly personal questions about your sex habits.

Even more restricted are Special Access Programs (SAPs)

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

These are things like the Nuclear Codes. Even the names of the SAPs are super double probation classified. Often they are one super specific kind of information, and they are managed very closely by the agency that creates them. Very few people will be granted access to the SAP.

All of this holds true for Top Secret clearances and information, except everything is just _that_ much more carefully controlled. You have to have a reason for accessing it, most people don't, and you have to fill out lots of paperwork and have lots of background investigation stuff.

You are encouraged frequently to try and accomplish as much as possible at the lowest classification possible. Mostly so we can share the information (all of which is declassified after 25 years max). But sometimes we just can't and things have to move up in classification.

Everything has a legal hurdle. There's lots of lawyers and other bureaucrats involved in everything. You have to report where you are everyday or establish where you'll be if you'll be out of contact for any length of time or you lose your job. If you did something bad while missing, then you'll probably end up in Federal prison for a very long time.

There's definitely too much stuff classified. What most people who don't know anything about the classified world complain about is this problem. It's actually reasonable to argue this. What they don't realize is it's a pain in the ass to keep stuff classified. What they also don't know is that everything declassifies after 25 years (or sooner) unless it's something super special sensitive (nuclear codes). This is a tremendous pain in the ass for the government to go through, but in the interest of stopping information that should be free from being locked away, it's done and most people I know in the field think this is great. Because keeping this stuff secret is a drag, you can't talk about most of what you do everyday at work with anybody outside of your work. You can't talk about it at home, even if your spouse is cleared.

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

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

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

To put this in perspective, we're almost halfway to the point where everything about the lead up to the mistake of the Iraq War will automatically become declassified and available via FOIA requests.

All of this is done in special facilities called SCIFs

[http://en.wikipedia.org/wiki/Sensitive_Compartmented_Informa...](http://en.wikipedia.org/wiki/Sensitive_Compartmented_Information_Facility)

(technically work that is not SCI protected doesn't occur in a SCIF, but that's what everybody calls them). They usually have all kinds of access controls, some have several layers.

For example (a real one), you may have to pass through a gate with an armed guard, an armed guard at a desk who checks ID, a proximity badge and keypad turnstile, a locked door with badge and keypad, an elevator with badge and keypad, a finger print scanner badge keypad combo, and then a safe to get to your hard drive, which is then protected by an encryption key, the login user/pass for the system, then a user/pass encryption key for the database you are accessing and finally a special decryption password for the file you need to download and unarchive from the database. This doesn't even include all of the signin/out logs and other paperwork required to get through a day.

Depending on your clearance, you may end up with several different computers at your desk at the same time, usually connected by a KVM of some sort. Something like this isn't all that unusual

[http://upload.wikimedia.org/wikipedia/commons/6/6f/Intel_Gre...](http://upload.wikimedia.org/wikipedia/commons/6/6f/Intel_GreenDoor.jpg)

<comment><USER24> _You might also go through a slightly different polygraph with highly personal questions about your sex habits._

Why do they do this? For blackmail purposes later?

<comment><USER25> I went through UK security clearance and can tell you that the process is to determine whether your personal/sexual habits are likely to make _you_ vulnerable to blackmail. Not so that the government or agency can blackmail you.

That is: If you happen to be into BDSM and this is something you keep extremely private, then what would you rather give up? Your personal privacy or a piece of sensitive data?

So the interviews at different levels determine whether you can be trusted with the information based on the risk you pose to factors such as blackmail, or financial rewards, etc.

<comment><USER26> This is mainly why they killed Turing.

<comment><USER27> Turing died because his lifestyle was illegal and he was being punished for it, not because it was a secret.

<comment><USER26> Turing died because he had a head full of military secrets and consorted with gay prostitutes, and was therefore considered a security (blackmail) risk.

Obviously it was more complicated than that, but I consider this to be the primary reason.

<comment><USER28> Interesting theory you've got there. Please explain why, if he was considered such a security risk, he was charged and tried publicly in a civilian court, and then allowed to roam freely for two years after his conviction.

<comment><USER26> I think I'm coming across as more of a conspiracy theorist here than I intended.

When he was convicted for homosexuality, it would have come to the attention of various senior people in government. They would have wanted to make an example of him, being as he was a relatively well known figure at the time, much like what happened with Oscar Wilde.

They would have also had concerns about his homosexuality being used against him by britain's enemies, and also because of the recent uncovering of a ring of soviet spies who were all drawn from an intellectual set, all academics, and two of whom were gay.

What I am saying is, I find it likely that these government/military figures would have found it highly convenient for Turing to disappear, or at least have his life made extremely difficult for him. They couldn't have him executed for his sexuality, but they could apply chemical castration. They did offer him the choice between castration and prison, and I accept that this weakens my case. You might ask, if they were that concerned, why didn't they just have him conveniently die in a car crash? My answer would be that they weren't that concerned, it was an opportunistic thing.

Also to be honest I am not entirely convinced that his death by poisoned apple was necessarily suicide, but there is no evidence for that, and there never will be.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> Even given the variations of security clearances in use, there is the requirement that classified information is always and only distributed on a "Need to Know" basis; two people with exactly the same level clearance may still have official secrets from each other.

</comment><comment><USER30> Does anyone know of any research into compartmentalized network protocols? Specifically I'm wondering about protocols where components co-operate to acheive some goal but don't know enough to compromise the entire network. I'm sure the botnet guys have done a lot of work on this but I'm wondering there are any good references in the open literature.

<comment><USER31> Not sure about network protocols, but, the systems research version of this is called multi-level secure systems. You might want to start looking there.

</comment></comment><comment><USER32> Interesting. Perhaps the comment about not being able to learn from people who don't have these clearances also applies to highly knowledgeable individuals in any field that have trouble listening to people with less information or understanding of matters. Perhaps it even explains how years of "knowing more" can lead to resistance to change (the kind that I've found to be characteristic of bad professors or some people I used to work for)

I think it's important to be aware of this. If I ever find myself not listening to someone because I think the person doesn't know all the facts, I hope that I'll become aware of it and try to zero in on what facts they are missing. Luckily I know very few secret things (I have even been known to intentionally make secret things un-secret) so I'd gladly share those facts and see for myself if it changes the other person's opinion.

<comment><USER17> And the corollary, just because people have access to sensitive information means they _know all_ of the sensitive information.

"Well I have a clearance and can tell you this is how it is" is probably the mark of somebody who just wants to win the debate but doesn't know squat.

</comment></comment><comment><USER33> for those interested in US governmental secrecy stuff, <http://www.fas.org/blog/secrecy/> is a very interesting blog/newsletter

<comment><USER31> For a more nuts and bolts view of security requirements and procedures, the NISPOM is publicly available <http://www.dss.mil/isp/fac_clear/download_nispom.html>

</comment></comment><comment><USER34> I think there's a big danger here.

Of course the idea of being initiated into a secret circle is extremely attractive. It appeals to our sense of ego, intrigue, romantic notions of the other. It's the stuff of novels and films .. it's the beginning of a great story. The personal advice given sounds good. But the dangerous part for me is the inference that we need to consider that those above us necessarily know best, and we should, by necessity, capitulate control.

The fact that such layers of information, access to information, and access to power exist should not supplant the fact that this system embodies one single way the world can be ordered.

What would happen if everyone had access to everything?</comment>


Ask HN: If HN was an independent startup, how much would it be worth today? - <AUTHOR> <comment><USER2> $0.

As soon as one of the VCs cracked a joke—no matter how classy or appropriate—HN would inform them that the pitch meeting was in fact "not Reddit", and that humor is not tolerated—thereby killing the deal in the process.

The VCs would instead proceed to allocate the funds to autism research, reaping the tax benefits in the process.

</comment><comment><USER3> Considering how much the community here loves ads, I'm betting not much.

</comment><comment><USER4> Price would be determined by the market given it has no revenue. I imagine a VC firm would consider buying it for low single digit millions.

Though the difficulty would be that the brand is so attached to HN that the VC firm might struggle to get the brand value.

Also, given that they have around ~20 million visits per month according to similarweb it could probably make $10-100k per month if it charged for job ads.

It could also probably sell ads and do ~$30-100k/month from that based on a ~$3 CPM.

</comment><comment><USER5> It may be compared to similiar content aggregators, therefore not much? As a social platform, I am not sure this community would be easy to monetise: what kind of premium service would YC offer on top of the freebies? For one, I would think of a gamified approach to YC services like one-to-one briefings, networking opportunities, dedicated pitch sessions and so on. Karma acts as a gamifier already, so the currency is there.

</comment><comment><USER6> I think there's a bunch of pretty strong cases for the value of HN. Look at what it does today: feeds people into YC programs, helps (especially YC) startups hire hackers, gives YC folks a megaphone to a massive and devoted technical audience.

Thought experiment: imagine Techstars owned HN. How much would YC pay to avoid that fate?

</comment><comment><USER7> It doesn't work as an independent startup. That's a little bit like saying "If we cut a person in half, how much productivity do the legs alone provide?" The answer is that after you cut them in half, they would be dead and neither half would provide any productivity.

<comment><USER8> I disagree. I visit HN daily for the news aggregation and I have absolutely no interest in any YC offerings. I'd continue to visit if HN was completely separate and unaffiliated.

In other words, it would be just as valuable to me as it is right now.

<comment><USER7> Your lack of interest in YC offerings is irrelevant. If separated out from YC, HN would fundamentally work differently. Whatever it is you value about it would likely disappear.

Your statement is sort of like saying "I love horses. I would love them just as much if they transformed into dogs."

</comment></comment></comment><comment><USER9> Where's the revenue?</comment>


Democrat with financial ties to AT&T just gutted California's net neutrality law - <AUTHOR> https://mashable.com/2018/06/20/net-neutrality-california-miguel-santiago/#ter1024PNmqN <comment><USER2> Democrats using identity issues to leverage pro-business legislation is the cultural, social, and economic spoil of our time. But worse is it won't be stopped any time soon. Neoliberal Democrats are officially addicted to the cheap and easy returns on identity politics, just as republicans have been for decades. It's gonna be long downhill road ahead.

</comment><comment><USER3>
       It passed 8-0 with all democrats on the committee voting alongside republicans.

"alongside republicans (sic)" is false. Actual vote was 8-2, with the _only opposition being Republicans._

Of the 8 yea votes, 7 were Democrats.

</comment><comment><USER4> This is what bothered me about the whole Net Neutrality debate -- you had to be 100% in the camp of the Democratic party or you were wrong completely. Here we see why there are shades of grey for party affiliation.

</comment><comment><USER5> And you thought the democrats were for the people LOL!

</comment><comment><USER6> This is amazing. Such blatant and open corruption, i love it. And nobody will give a thing about it in the end.

Also, really amazing that one person can just cross out a lot of things their sponsor doesn't like in a proposal and hey, that's the new proposal. Excellent system you got there America.</comment>


5 practical tips for the first-time manager - <AUTHOR> https://www.range.co/blog/first-time-manager <comment><USER2> As a first-time developer promoted to manager 3 years ago, of a small team, IMO this is good advice and well written. I would add about trusting your team members and delegation, well, you get to learn what everyone can accomplish, identify weaknesses and couch when needed, but it's not instant magic. So not everything is always on track. Add that some of us have to manage and still deliver code (by choice or not) and you have the common sense and advice saying you can't do both, but need to keep up coaching, helping when things go wrong, etc.

So it's not just about following advice, real world hits just as in development estimations...

<comment><AUTHOR> Thanks for reading, your feedback, and adding your own experience to this thread!</comment></comment>


Looking at C++14 - <AUTHOR> http://meetingcpp.com/index.php/br/items/looking-at-c14.html <comment><USER2> >C++14 brings core language support for binary literals, which means you now can integrate binary literals as such in your code:

>char c = 0b01011010

I can't believe this took TWENTY YEARS (or at least that's how long I personally have been waiting). Hurray! (I'm going to hobble my walker over to the desktop and start codin' binary.)

<comment><USER3> Here's one of my all-time favorite way to write binary literals in C by abusing define:

        #define HEXIFY(X) 0x##X##LU

        #define B8IFY(Y) (((Y&0x0000000FLU)?1:0)  + \
                         ((Y&0x000000F0LU)?2:0)  + \
                         ((Y&0x00000F00LU)?4:0)  + \
                         ((Y&0x0000F000LU)?8:0)  + \
                         ((Y&0x000F0000LU)?16:0) + \
                         ((Y&0x00F00000LU)?32:0) + \
                         ((Y&0x0F000000LU)?64:0) + \
                         ((Y&0xF0000000LU)?128:0))

        #define B8(Z) ((unsigned char)B8IFY(HEXIFY(Z)))

And now you can write:

        B(01011010)

Etc.

If you like this, see my blog post about bithacks.h:

[http://www.catonmat.net/blog/bit-hacks-header- file/](http://www.catonmat.net/blog/bit-hacks-header-file/)

<comment><USER4> Using octal (0o) gives you larger representable numbers, fwiw.

</comment></comment></comment><comment><USER5> C++ is still missing optional Reflection/Introspection. With that feature it could easily replace majority of todays typed languages (with exception of language such has Haskell or Rust). Reason is that reflextion allows to close a 'external data types' dissonance that currently is present in C++. In other words it is not possible to develop 'framework software' that can introspect plugin/consumer code to derive how they view the externally defined data sources (eg Databases, UI kits, JSON streams/etc).

<comment><USER6> The first time I wondered how the hell C++ didn't support introspection, I was 1/3 as old as I am now. I have literally been wondering for most of my life.

But hey, at least they have a Turing-complete template language to go with their macros! Priorities, right?

<comment><USER7> Yes, priorities. The evolution of C++ is driven by its users in the industry. That C++ not yet has support for reflection or introspection is an indication that there hasn't yet been a great need for it.

Any C++ user (you know, the people who actually _use_ the language) will tell you that templates is a central part of the language and something that is far more important than introspection.

Anyway, like I said in the other comment, there's a study group for reflection now. We'll see what comes out of it.

<comment><USER6> > Any C++ user (you know, the people who actually use the language)

Funny, because I _am_ a heavy C++ user (why did you assume differently?). C++ probably accounts for between 1/3 and 1/2 of my lifetime lines-of-code. Trouble is, I've had to use it for more than algorithms work, which is the only place I've ever seen templates shine. I've used a half dozen C and C++ GUI frameworks that painstakingly work around the introspection issue, and while these frameworks often make do quite nicely without templates, they _always_ have a bolted-on monstrosity of an introspection system. Qt is probably the most direct example: they built their own preprocessor/parser around C++ to take care of their need for introspection.

I'm glad there is a study group, but the absence of introspection has been hurting the C++ community for a long time. It's the flaw that has launched 1,000 high-level languages and 100,000 dirty hacks.

</comment></comment></comment></comment><comment><USER8> What is the current state of C++11 support in major compilers (e.g. G++, clang, MSVC)

<comment><USER9> It's excellent in GCC and clang. GCC 4.8.1 was feature complete.

GCC C++11 status: [http://gcc.gnu.org/projects/cxx0x.html](http://gcc.gnu.org/projects/cxx0x.html)

Clang: [http://clang.llvm.org/cxx_status.html](http://clang.llvm.org/cxx_status.html)

MSVC is not as good. I don't have any links handy, but anecdotally it still fails to compile some of my code that compiles fine in GCC.

<comment><USER10> GCC 4.8 (and even earlier) has <regex> but it doesn't actually work. I guess it will work in 4.9, but haven't gotten to try it. This glaring omission somehow didn't make the list you linked, which is otherwise exceedingly comprehensive.

<comment><USER9> Good point, I guess that table only shows language features.

Here's the library features table: [http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#s...](http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x)

Not feature complete if you take that into account, I'm afraid.

</comment></comment></comment></comment><comment><USER11> I was really excited about learning/using some of the new stuff coming in c++11 and so on until a new job introduced me to Go lang. Now it seems like all of that stuff and more, elegantly built in instead of bolted on. To be fair I think it has a big bent towards server apps and not all general purpose stuff so it only to me seems better for a subset of all c++ work. on the other hand, Mozilla's Rust also looks interesting. Does anyone else feel like c++ is finally starting to be replaced in different segments by more target newer more elegant languages?

<comment><USER9> I don't think Go is attracting many programmers away from C++ (in fact Rob Pike has expressed surprise at this) because it lacks some of the important _good_ qualities of C++: strong typing (which Go lacks because of its lack of templates/generics) and RAII-style resource management. Instead Go is attracting programmers away from interpreted languages like Python since it has many of the nice qualities of interpreted languages while being very fast.

Rust may be a different story (still too soon to tell) because it shares many of the fundamental philosophies of modern C++ without having a "bolted-on" feel. Still, it will be very hard to ever displace C++, because _so much_ code is currently written in C++ and C++ has proven to be a very good language for code that needs to last decades.

<comment><USER12> > Still, it will be very hard to ever displace C++, because so much code is > currently written in C++ and C++ has proven to be a very good language for > code that needs to last decades.

I'm pretty sure that Rust devs are aware of that which is why they made Rust compatible with C/C++.

<comment><USER13> The big issue is that C++ FFIs are notoriously hard to implement. Often C wrappers are the only way to go (Rust has an excellent C FFI). As far as I know, I think D is one of the best out there regarding C++ compatibility, but it is still lacking.

</comment></comment></comment></comment><comment><USER14> I wish they add a new operator: "in" ... then it can be defined in maps and whatnot for lookups: if (123 in x)

<comment><USER15> You're not thinking C++ish.

There is a wide range of algorithms to find/modify/replace data in containers.

Let's say you have a set of ints, doing what you want is the following:

        std::set<int> blah;

        // ... some stuff happens ...

        if (blah.find(123) != blah.end())
        {
        // ...
        }

Now, you're saying, "but my container doesn't have find!". Not a problem, you can use std::find!

        std::vector<int> v;

        // ... some stuff happens ...

        if (std::find(v.begin(), v.end(), 123) != v.end())
        {
        // ...
        }

Note that v can be ANYTHING, as long it supports forward iterators (which all containers do).

Now you're saying, "but it's not very efficient! The complexity of find is O(n)!"

True, true. If your container is sorted, you should use binary search O(log n):

       if (std::binary_search(v.begin(), v.end(), 123))
       {
       // ...
       }

What's great about this is that it works on any container, provided it's sorted.

Then, what you can do is write a metafunction that will call the member function find() when it exists or use std::find() when there's none. This will automatically, and at compile time, use the most efficient way to check for the existence of an entry.

<comment><USER14> I am not talking about how I end up searching the container. I am talking about the syntax. Besides, how a container is searched should be abstracted away in the container's implementation and the algorithm should be documented.

Compare this syntax:

> if (std::find(v.begin(), v.end(), 123) != v.end())

To

> if (123 in v)

If in is an operator and overloaded by std::vector, then it's easy to implement.

<comment><USER16> > If in is an operator and overloaded by std::vector, then it's easy to > implement.

However, searching a `std::vector` is not really part of its implementation. So, requiring every single range to overload an operator for trivial searching is not good, especially since there are only a few containers that have non- trivial searching.

Instead, the range-based find could be specialized for containers that have non-trivial searching instead(perhaps it calls a `.find` method if available otherwise it does trivial searching).

In [Linq]([http://pfultz2.github.io/Linq/](http://pfultz2.github.io/Linq/)), the find is specialized for mapped containers and for strings(it doesn't check for a `.find` method since that can't be done on msvc). So you can search a `std::vector` like this:

        std::vector<int> v = { ... };
        auto it = v | linq::find(123);

And you can also search the keys of a map like this:

        std::map<int, std::string> m = { ... };
        auto it = m | linq::find(123);

Plus, it has a contains function, so you can do this:

        if (v | linq::contains(123))

Or this:

        if (m | linq::contains(123))

There really is no need for a new operator just for this, since a function will suffice. However, if you really inclined to this, you could always write your own [named operator]([https://github.com/klmr/named- operator)(although](https://github.com/klmr/named-operator\)\(although) I don't know if it would become standard):

        if (123 <in> v)

<comment><USER14> You can say the same thing for the new range based for loop in C++11.

</comment></comment></comment></comment></comment><comment><USER17> > 3781 - Single quotation mark as digit separator

Hold on a minute. Why is this even a thing? Do people really use HUGE numeric literals and have so much trouble reading them that this is needed?

This just sounds like another parsing nightmare that really should belong in syntax highlighting rather than exist as some obscure language feature.

<comment><USER6> > Do people really use HUGE numeric literals

Yes. Engineering code uses numeric literals with many digits all the time.

> and have so much trouble reading them that this is needed?

Digit separators make digit omissions/additions much easier to spot. Imagine spending a day trying to track down a "everything explodes" bug, systematically eliminating numerical sources of error one by one, only to find that the problem is a misspecified boundary condition that you didn't catch the first time around because you were counting the number of zeros as opposed to the number of digits.

        c = 3000'000'000 /*  m/s  */

^ I can spot _this_ out of the corner of my eye.

        c = 3000000000   /*  m/s  */

^ This? Not so much.

<comment><USER18> I prefer this alternative:

      c_millisecs = 50000 * 60 * 1000; // 50,000 minutes

<comment><USER6> That only works for unit conversions where they're defined as ratios of each other. Nature has physical constants and engineers have environmental and design parameters that can't be written that way unless you constantly change units, which is a bad idea in a language without built-in unit checking (most of them).

</comment></comment></comment></comment><comment><USER19> For the love of God, or some other entity you find holy or unholy.

Stop using this bastard of a language. Its an offront to software engineering and must simply _die_

<comment><USER20> Do you play games? Do you play console games, or desktop games? Do these games support 3D rendering? Soft shadows? Physically based lights? Pathfinding of crowds of people or units? Literally hundreds of thousands of projectiles? Networked replication? Leverage all the cores of your desktop/device/console while doing the above? Support unique or specialized data structures? Execute a runtime that _CAN 'T_ tolerate non-deterministic GC pauses?

I make games. What am I supposed to code that in? Fucking javascript? Ruby? C#? Go stfu and die yourself. If you want to come up with a language that can get the job fucking done than by all means, go for it and fail miserably. Otherwise, stop using any of the products that leverage C++. We don't want you.

<comment><USER19> Im sorry your too much of a pussy to just write C.

<comment><USER21> Good compile-time dispatch is a relatively easy in C++, but damn-near impossible in C. There are actual legitimate reasons to use C++.

</comment></comment></comment></comment><comment><USER22> I here by announce, that C++ next version will be called D! More links here: [http://dlang.org](http://dlang.org)</comment>


Illegal number - Wikipedia - <AUTHOR> https://en.wikipedia.org/wiki/Illegal_number

<comment><USER2> I remember being on Digg when the whole HD-DVD thing took place. That was glorious.</comment>


What our home pages are really saying (a dialog) - <AUTHOR> http://bokardo.com/archives/what-our-home-pages-are-really-saying/ <comment><USER2> I like that post because it highlights a complaint I've quietly had when I look at a lot of sites (both start-ups and established).

Here's a wish-list (vis a vis commercial web sites):

Please...

Always have an "about" link that tells me the name of the company, its corporate form, and who non-anonymously stands up to represent the owners. I want to to know, before we do business, that you are legitimate and not hiding behind a veil of anonymity.

Please include a "contact" page that includes a regular ol' email link, a valid street address, and if at all practical, a phone number. I want to know, before we do business, how far I have to walk to knock on your door in case there's a problem.

Please have a page that explains, concisely yet substantially, what the new site/service does. I _do not_ mean "Do you have problem X? We solve X!". I mean a non-salesy, short guide: "If you sign up you get Y. Y performs function Z."

And as long as I'm wishing for candy and nuts: please have a page for technical types explaining in broad terms how the service functions. Now, I understand that this can be sensitive. You don't want to give away the recipe for your "secret sauce". Still, you can hopefully tell me enough technical info to give me a realistic model of what it is that you propose I use.

For me, when I look at a new or new-to-me service, those are the questions I'm hoping to find answered in the first couple of minutes of looking. When a few of them aren't answered by the site, I tend to give up on the site after just a few minutes.</comment>