Sharing National Security Letters with the Public - <AUTHOR> https://blog.google/topics/public-policy/sharing-national-security-letters-public/ <comment><USER3> > Over 300,000 NSLs have been issued in the past 10 years alone. The most NSLs > issued in a single year was 56,507 in 2004. In 2013, President Obama's > Intelligence Review Group reported; that the government continues to issue > an average of nearly 60 NSLs every day. By contrast, in 2000 (the year > before the passage of the USA PATRIOT Act that loosened NSL standards), > 8,500 NSLs were issued.

[[https://www.eff.org/issues/national-security- letters/faq#5](https://www.eff.org/issues/national-security-letters/faq#5)]

* - <USER2>

<comment><USER4> I am trying to imagine just how much the legal council alone for 300K NSLs a year costs the American Economy.

I would like to know what proportion of those 300K are tech companies.

<comment><USER5> Correction, ~30k a year. Still doesn't change your question much. I really hope the vast majority have their gag order removed. Who knows how many were sent to now defunct companies.

<comment><USER6> Is it just me or is the DOJ/FBI being foolish about using an incrementing identifier for these? Base on Google's list, we now know there have been at least 418,313 letters/records, and can track roughly how many letters there were between specific dates.

</comment></comment></comment></comment><comment><USER7> > we have been freed of nondisclosure obligations.

> the Act restricts the use of indefinite gag restrictions that prevent > providers from ever notifying customers

Did Google say anywhere in that blog post that they've notified the users the NSLs were targeted at?

EDIT: no, but from the TC article[1]

> A Google spokesperson said the usernames were redacted to protect user > privacy and that the targeted individuals had been notified.

[1] [https://techcrunch.com/2016/12/13/google-national- security-l...](https://techcrunch.com/2016/12/13/google-national-security- letters/)

</comment><comment><USER8> The interesting aspect of NSLs to me has always been authentication. One gets a fax, and one faxes some crap back? Trivially hackable. One contacts the phone number listed on the NSL? Ditto. How difficult would it be for the Chinese or the Russians to slide in their own "NSL" in the 30K / year "legitimate" ones?

In fact the feds make it intentionally difficult to authenticate requests; for instance they prohibit taking copies of federal IDs, they often won't submit them for actual inspection, and they have no directory of employees to consult. If one wants to confirm that one is speaking to a bona fide FBI agent you're looking at minimum an hour in phone tag, and then there is the issue of if they are relating a bona fide request or going off the reservation.

<comment><USER9> You can Google the phone number in the letter and _also_ look up the number for the field office they are from, call the office and ask for the agent.

Yes, it may take time. But you don't get many NSLs, so you do it. You do it to protect yourself (liability of disclosing info without a legal order) and your customer/user who is the subject of the letter. Every time.

</comment></comment><comment><USER10> Tangential: it always annoys me how difficult it is to highlight text in a Google blog post and look it up. Drag doesn't work and right click clears the selection. My only working approach is highlight and hit menu key.

<comment><USER11> I was about to say that it worked fine for me but then I realized that it might be because I have uMatrix, so I allowed the site everything it wanted in order to test and indeed that interferes with right click due to a dumb black popup thing with a twitter and two other icons on it.

Disappointed. Would have expected more in terms of UX from Google.

Anyway you might enjoy uMatrix, it's pretty good although it can be a tad bit annoying to figure out what I need to allow each domain in order for their pages to load content when they host content-critical scripts and such on a separate CDN-domain that they own or through a third-party CDN.

I also don't know if it's possible to allow some domain to always be allowed to be iFramed by any other. For example I would like to always allow embeds from SoundCloud, YouTube and Vimeo on any site.

<comment><USER12> I don't know why you'd expect better from UX, Google has had notoriously terrible UX for as long as I can remember. Off the top of my head - blogger/blogspot, youtube, hangouts android app, google voice android app, gmail settings, google maps (especially the android app), etc.

<comment><USER13> My favourite example of poor, almost outright user-hostile Google UX is adding a contact to the Android address book.

(For the uninitiated: there is no yep/confirm/save element in the add-contact dialog. You have to press the back arrow -- the biggest text on the screen is the heading _Add new contact_ , but that doesn't react to touch!)

<comment><USER14> Looks like they fixed it, there's a save button for me.

[http://i.imgur.com/S7Zfk0Sh.jpg](http://i.imgur.com/S7Zfk0Sh.jpg)

</comment></comment></comment></comment></comment><comment><USER15> From the statute (and in the letters):

> the information sought is relevant to an authorized investigation to protect > against international terrorism or clandestine intelligence activities, > provided that such an investigation of a United States person is not > conducted solely upon the basis of activities protected by the first > amendment to the Constitution of the United States.

Of course they could still lie but you can't be investigated just for your protected speech. Not defending the whole thing, but didn't realize that requirement until now.

[edit: formatting]

<comment><USER16> >> ... but you can't be investigated just for your protected speech.

Yes you can. All law enforcement regularly investigate wholly innocent people. It's called following leads. The vast majority of people investigated are totally innocent and never hear a peep. Sometimes those investigations lead to bad people, sometimes the lead was false, and sometimes they discover there is no real crime. They look at the speech, determine it is perfectly legal, and that's the end of the situation. But that is still "investigating".

<comment><USER17> It's not as simple as that.

"The price of lawful public dissent must not be a dread of subjection to an unchecked surveillance power. Nor must the fear of unauthorized official eavesdropping deter vigorous citizen dissent and discussion of Government action in private conversation." From [https://en.wikipedia.org/wiki/United_States_v._United_States...](https://en.wikipedia.org/wiki/United_States_v._United_States_District_Court)

And "These Guidelines do not authorize investigating or collecting or maintaining information on United States persons solely for the purpose of monitoring activities protected by the First Amendment or the lawful exercise of other rights secured by the Constitution or laws of the United States" from the Attorney General's guidelines for the FBI, which were originally created because of said case.

Much as how there's a legal distinction between firing someone for no reason and firing someone for an illegal reason, there is certainly reasonably interpretable legal precedent that investigating someone solely for their protected first amendment activities may violate their first and fourth amendment rights.

Of course, IANAL, but that doesn't seem to stop many people on the internet.

<comment><USER16> >> unauthorized official eavesdropping

It's authorized by law.

>> solely for the purpose of monitoring activities protected by the First Amendment

They don't look into such things randomly. They have some notion, say a report from someone, and examine the speech. A typical example might be some kid reporting "terrorist speech" in a public forum. So some officer somewhere takes a look, finds nothing illegal, and that's the end of things. That is an "investigation" of 1st-amendment speech because the officer is reading and investigating legal speech, but the purpose of the investigation was non- protected terror speech, or child porn, or threats, or any number of categories of illegal speech. It's not proper to turn around and call those investigations illlegal simply because they didn't find anything. That would only encourage officers to find things, to make mountains out of molehills, to justify their investigation.

<comment><USER17> You might want to skim the decision (try searching for the word "authorize") in the case: [http://caselaw.findlaw.com/us-supreme- court/407/297.html](http://caselaw.findlaw.com/us-supreme-court/407/297.html)

This is semantics, but they're important. The investigation you mentioned isn't someone being investigated just for their protected speech, it's someone being investigated on suspicion of a specific crime. I do believe there are frameworks in which such investigations can be legal (but whether the NSLs themselves are sufficient or warrants are necessary is another matter) but I do not believe it follows that you can be investigated solely for [any] protected speech, which is what I interpreted your comment to mean. Could the speech create the suspicion in many contexts? Sure, I don't see why not. But it must actually do so, and it's the suspicion that provides the framework for the potentially legal search, not the speech.

The real law enforcement activity I think this prohibits would be pure fishing expeditions against those engaged in lawful first amendment activities. If the head of the FBI decides he doesn't like a given newspaper because of what they've said, and he can't even name a crime he suspects they've committed, I do not believe he has the legal authority to authorize an investigation into the newspaper to see if he can find something that they're guilty of. I believe it violates first and fourth amendment protections under Keith. What precisely the bar is to prove or justify any such suspicion (or even if there's any oversight) is a separate question.

<comment><USER16> >>I do not believe it follows that you can be investigated solely for [any] protected speech, which is what I interpreted your comment to mean.

Then you did miss my point. Often cops/feds have to investigate whether something is or isn't protected speech. When those investigations find nothing (normal) they then appear to have been an investigation into protected speech, but that wasn't clear at the time. We cannot make such investigations illegal simply because they come to nothing.

<comment><USER17> I didn't say the investigation is/should be illegal if they come to nothing. I said the are/should be illegal if they happen without suspicion that a specific crime has been committed.

The state should not be able to target someone for investigation solely because they disagree with their speech and "think they might be guilty of something." They need to state/establish what that something is. That's my read of Keith.

Material support of designated terrorist organizations is a crime under the law, and investigating someone for that is wholly different from investigating someone solely because they disagree with their protected first amendment activities. Consider again my newspaper example. With terrorism cases, they can point to the laws about supporting terrorism and say that's what the person is suspected of. They likewise need to have a law they can point to that they need to believe is broken before they target the newspaper for investigation because of their speech. How they have to do said pointing (warrants, NSLs, etc.) is a separate question, but in the absence of such suspicion I do believe the search is illegal.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> It's interesting that most of these are only for:

>>...name, address, length of service, and electronic communications transactional records for all services, as well as accounts...

Makes me think they would submit two requests: one for metadata and one for content. This would allow them to let google publish more "innocuous" letters while continue to gag order letters where they request more intrusive information.

Would love to hear the opinion, however, of someone who unlike myself knows what they are talking about.

<comment><USER19> > _Makes me think they would submit two requests: one for metadata and one for > content_

NSLs can't (legally) be used for content, only metadata.

(putting aside, of course, that metadata _is_ itself content)

<comment><USER18> Ah see, this is what I meant. This makes sense. Thanks for the clarification.

</comment></comment></comment><comment><USER9> Interesting. As a service provider (hosting) we have received many "court orders" that are very similar to these NSLs... but they were not NSLs. Now that I see these NSLs, I am not that freaked out by them. I'm not sure of all the hub bub, at least for these particular NSLs. The scope of these is basically limited to identifying the user. These specifically say to _not_ provide content of the account to the FBI. The not-NSL court orders we have received have included verbage to not disclose the request to the subject of the request.

I thought NSLs were supposedly non-contestible, broad and were for communication detail. These don't seem to be any if that.

The requests we have received have been from a variety of organizations (but signed by a magistrate) ranging from local law enforcement to three letter acronyms and one entity that is neither. While the requests don't say why the order is being issued, we usually receive a call from the agent/detective beforehand and dialog ensues in which they explain what's going on.

While many companies will just give the info, we scrutinize the request and ask the agent/detective politely and apologetically that we can help, but only if they acquire a court order. We have caught not-legitimate requests before, so we verify the request is legit before responding. We have never been asked for content of communications. If Google is not doing the same thing... oof. Just as a matter of process I assume they do. I recall in the past some networks having right in their WHOIS info, how/where Law Enforcement can send FAX requests.

</comment><comment><USER20> They redacted the NSL letter number on the top left of the second pages, but kept the file reference number "In reply, please refer to NSL 10-272979" both in the address box on first page and the name of the PDF file.

<comment><USER21> Are you sure that's the NSL number being redacted at the top-left?

The NSL numbers are also listed in the Google blog entry, and are in the URLs of each PDF, so the numbers definitely aren't something that Google intended to censor.

</comment></comment><comment><USER22> I only looked at one of them, but it seems that these are able to be released as they have the same illegal language as the Internet Archive release. Their language makes it sound like they were released due to the government being forced to review if they should be upheld.

</comment><comment><USER23> Has anyone on HN ever been notified by Google/Yahoo/other that they were the subject of an NSL? I wonder if the people most likely to care about that are unlikely to ever be targeted?

<comment><USER24> NSLs prohibit informing the target.

<comment><USER25> "A Google spokesperson said the usernames were redacted to protect user privacy and that the targeted individuals had been notified."

<comment><USER26> The notification to targeted individuals was presumably after Google had successfully fought the gag order.

</comment></comment></comment></comment><comment><USER27> The fact that the NSL numbers are sequential gives an interesting look into the scale of issuance.

<comment><USER28> I checked the article again after reading your comment and you were not kidding. Damn! I thought maybe they had learned something from the "German tank problem" ([https://en.wikipedia.org/wiki/German_tank_problem](https://en.wikipedia.org/wiki/German_tank_problem)), but maybe they just don't care how all this looks to us, regular people.

</comment></comment><comment><USER29> > In 2015, Congress passed the USA Freedom Act

Really?! That is a terrible name for a piece of legislation - it says _nothing_ \- even before you consider that it was messing with gag orders about executive overreach.

<comment><USER30> Certain names are timeless favorites with bureaucrats (and worse):

"Freedom Act", "Freiheitsgesetz":

[https://en.wikipedia.org/wiki/German_referendum,_1929](https://en.wikipedia.org/wiki/German_referendum,_1929)

"Extraordinary rendition", "Sonderbehandlung":

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

</comment></comment><comment><USER31> I wonder how this writing of a NSL letter would affect an organisation's warrant canary (if they have one).

<comment><USER32> There's always blackmail, too. Plenty of ways to force a warrant canary to continue as normal

<comment><USER33> That's what an NSL is ... if you don't comply they throw you in jail. If you challenge a charge, the prosecutor will often add new ones.

<comment><USER34> Who do they jail? You can't jail a corporation, so do they jail the CEO? The lawyer who sends the letter saying they won't comply?

Either way, isn't that just begging for that information to be made public? Suddenly, Sundar Pichai is missing, and someone finds out he's in jail. That's going to be a story that gets reported (and probably leaked widely).

<comment><USER35> I know of an instance of corporate executives being walked out the door in handcuffs by the US Marshalls. That was for flagrantly disobeying the FDA. I'm pretty sure there wouldn't be a lesser response for flagrantly disobeying a National Security Letter.

<comment><USER34> My point is that the NSL is supposed to be secret, not just for its contents, but the existence of the letter. So, dragging a CEO off publicly would almost certainly expose the existence of the NSL.

<comment><USER35> It might expose the existence of _an_ NSL, but not of _that_ NSL.

That is: I'm Joe Terrorist. I use, say, GMail. Google gets a thousand NSLs. On at least one of them, they tell the NSA/FBI/CIA/whoever to get lost. Five Google execs get arrested. I, Joe Terrorist, may guess that the arrest is over NSLs. I have no idea whether I am named on one of the NSLs in question, or whether I was on one of the NSLs that Google complied with, or whether I'm still completely under the radar.

It might serve to remind me "oh, yeah, that's right, any of those companies can get an NSL and report everything they know about me", but if I'm at all a competent terrorist, that's something I already knew and should be continually remembering.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> I wish the FBI would be required to produce the original digital document instead of poor quality scans...

<comment><USER37> I'm guessing here that the original, even if redacted, can leak extra data that they don't intend to leak.

</comment></comment><comment><USER38> Imagine the possibilities of this, combined with McCarthy's wet dream palantir.

<comment><USER39> You mean Trumps wet dream, Palantir? What a perfect vessel for public/private cooperative actions! I'm sure his buddy Pete would give him a huge referral.

<comment><USER33> I've had at least half-a-dozen non-techie friends signup for Signal since Trump's election.

<comment><USER40> But not under Obama or (potentially Hillary)? What about Trump makes them so fearful now where they weren't under the current state of affairs.

I'm not saying that a Trump presidency isn't a great way to convince people to get a Signal account, but it strikes me that NSA spying and everything else that's gone on over the past decade should have been enough.

<comment><USER41> The increased fear is not based on the capabilities, which as you said have existed for awhile, but on what Trump will do with them. They feel he has fascist tendencies or intentions and does not respect for American traditions or law.

(I'm not trying to make partisan points; I'm only saying that there is a large cohort that feels that way. Obviously, many in the U.S. voted for Trump.)

<comment><USER42> > They feel he has fascist tendencies or intentions and does not respect for > American traditions or law.

These illegal capabilities have been spreading regardless of party or political promises.

<comment><USER43> Absolutely. And I don't doubt that Hillary wouldn't have expanded them further; if anything she's more hawkish than Trump.

That said, only one of these two people is asking for names of every government employee who has attended a climate science meeting in the past 5 years. The implications are truly chilling.

<comment><USER44> "Chilling" seems a bit histrionic. It's an interesting challenge to the customary, but as far as I know extraconstitutional, idea that cabinet departments operate independently of the sitting president rather than, like the rest of the executive branch, serving at his pleasure. If law exists to mandate this arrangement, I'd be obliged to anyone who wil make me aware of it; absent that, it seems like something that's purely _de facto_ , albeit at this point quite longstanding, and open to challenge by any president who so chooses.

I'm not surprised to see Trump mount such a challenge, because he is likely ill accustomed to tolerating independent fiefdoms within an organization he nominally heads. But he's far from the first president to try it on, and I very much doubt he'll find more success than his predecessors - indeed the latest on this particular story seems to be that DOE has told him to go to hell, and if that sounds like hyperbole then it's no more so than a lot of the headlines I've just seen.

<comment><USER45> There are a number of things presidents technically /could/ do but do not because they are horrifying. The fact that he's technically legally allowed to do something bad does not mean it's okay that he is doing it -- the president can (and has) executed and indefinitely jailed citizens without trial or attorney, locked everyone in America of a certain race in camps and taken their belongings, sold arms to and trained terrorist groups, ordered torture, leaked the identity of a CIA operative in order to enact personal petty revenge on her husband, toppled and assassinated democratically elected world leaders, given out pardons in exchange for personal favors or money, criminalized drugs with the explicit stated purpose of going after cultural subgroups who chose to dissent but were doing so legally and could not be jailed, sent law enforcement to spy on and shut down peaceful legal protest groups including trying to convince MLK Jr. to commit suicide, to name a few.

Presidents have done and can legally do all these things. Trump could do each one of these things. The only hope we have is that he chooses not to out of a sense of not wanting to destroy the country, or out of some sense of morality and sense of what is right and wrong. Each one is a disgusting, horrifying abuse of power. So is demanding a list of federal employees who meet some political criteria with the explicit intention of an ideological purge (even worse, he's purging all people who believe in or are curious about science from a science agency). Next will he ask for a list of federal employees who have had an abortion? A list of those who have voted Democrat? A list of those who have posted an Internet comment critical of him? The next time he asks for a list, will we hear about it?

<comment><USER44> You have just equated a new president-elect inquiring into the staffing of one of his subordinate departments, and the mass internment in concentration camps of American citizens with Japanese ancestry.

In response to that, I cannot imagine what I might possibly be able to contribute.

<comment><USER45> I have done nothing of the sort, of course, which you know, but it's a common dishonest rhetorical tactic to suggest that mentioning two concepts in the same post is automatically drawing an equivalence between them. I've made an argument that because something a president does is /allowed/ or /legal/ does not mean that it's morally acceptable. If you think everything that is legal but immoral is equivalent, that's on you, not me.

The fact that he's doing horribly immoral things and the defense is -30 days into his presidency already "it's legal therefore it's okay" is a very, very bad sign for the future of his administration, because as I've shown abiding by actions which are 'legal' means almost nothing when it comes to federal executive power. That moral sense which we are depending on which prevents a president from abusing their power is, by the evidence we've seen, not present in him.

<comment><USER44> > Each one is a disgusting, horrifying abuse of power. So is [...]

How do you mean this to be taken if not to say that what he's done is as bad as all the other things you named? - that is, as a claim of moral equivalence.

<comment><USER45> It being disgusting and horrifying does NOT mean that it is the same as the holocaust or Japanese internment. It can still be disgusting and horrifying while simultaneously being less disgusting and horrifying than, say, genocide.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER46> This is probably a better link: [https://blog.google/topics/public- policy/sharing-national-se...](https://blog.google/topics/public- policy/sharing-national-security-letters-public/)

<comment><USER47> I really think HN should block/downvote all TC links, which are most of the time worse than the original source.

<comment><USER48> I think instead they could possibly add a report button for links explicitly for providing the original source. To help limit people just bashing it for the hell of it, the report could be set up to only submit with a valid URL. Then the mods could quickly correct it.

<comment><USER49> You can just email them.

</comment></comment></comment></comment><comment><USER50> Z</comment>


How to Stop Rogue Gene-Editing of Human Embryos? - <AUTHOR> https://www.nytimes.com/2019/01/23/health/gene-editing-babies-crispr.html <comment><USER2> Why is it necessary to "stop rogue gene-editing of Human Embryos"? How does rogue gene-editing differ from simple gene-editing?

Perhaps gene-editing should not be controlled. Decisions which rely upon bioethics may not be optimal; articles like this should not even hint that bioethics is science. One can look at gene-editing as a faster version of evolution.</comment>


A year after Wired buyout, Reddit founders drink heavily - <AUTHOR> http://valleywag.com/tech/party-report/a-year-after-wired-buyout-reddit-founders-drink-heavily-311996.php

<comment><AUTHOR> Valleywag title of the year?

Alexis's post on the party: [http://reddit.blogspot.com/2007/10/valleywag- mocks-reddit-sf...](http://reddit.blogspot.com/2007/10/valleywag-mocks-reddit- sf-meetup.html)</comment>


DNS-Over-HTTPS (DoH) Operational and Privacy Issues - <AUTHOR> https://www.ietf.org/blog/doh-operational-and-privacy-issues/ <comment><USER3> > _There is a general expectation that when a browser starts turning on DoH, > it will give the user a choice of trusted DoH providers and enable end users > to specify their own trusted configurations, similar to the list of search > providers seen in browsers today._

Is this really the general expectation?

From what I've read so far, I'd expect that both Chrome and Firefox will simply hardwire this to dedicated resolver endpoints selected by them - <USER2> maybe provide group policy or about:config options as an override, with strong communication that ordinary users should not use them.

<comment><USER4> That's what browser manufacturers want to do, but that only works in the consumer space or small office space. A company isn't going to happy about a browser that by default will self-configure the intranet to be inaccessible. Especially given the way that updates tend to reset settings when the developers think that their preferred configuration is the only right configuration. And sure, they can probably deploy fixed settings that cover their needs, but what happens when you suddenly need multiple profiles with different configurations to handle the different DNS needs at different sites? "It's always DNS," is even a common saying for sysadmins. Now it's going to get _more_ complicated because web browsers will ignore DHCP? Wow, great.

Simply put, I still don't buy the idea that the browser needs a DNS client. The OS network stack can, and should, be the provider of that service.

This is just, "We know what's best for everybody. It's easier to ignore router vendors, DNS server vendors, ISPs, IEEE standards, and so on if we just do it ourselves in spite of the problems it's sure to cause. That other way is hard, anyways. Damn the consequences, we're going to do it anyways!"

<comment><USER5> Google or Mozilla picking DoH server for you is somehow good for privacy, instead of using one configured by you and outside of their control. Sounds ridiculous, doesn't it? If not a deliberate attempt to make it harder for users to get any privacy by tracking them across changing ISPs and VPNs.

<comment><USER6> And you think you'll have better privacy sending queries to whatever server DHCP hands out?

If you're configuring your own DNS server you're waaaay out of scope for the problems this is trying to address.

<comment><USER7> > And you think you'll have better privacy sending queries to whatever server > DHCP hands out?

Yes. Because that's my network, my DHCP and something I have 100% control over.

There's _literally nothing_ in the universe which better protects my privacy.

<comment><USER4> I think the criticism there is guest WiFi, but you can always configure your system to use a specific DNS server if you wish.

</comment></comment></comment></comment></comment></comment><comment><USER8> It's still not clear to me how this will work in internal networks. AFAIK it's not possible to distribute internal DoH servers via DHCP, and it seems orthagonal to the goals of DoH since "cafe wifi" could give you dodgy servers. But how do I as a network administrator with internal DNS domains serve my users?

Maybe browsers and OSs could look at the local search domain, and send queries matching to DHCP servers, and everything else over DoH, kinda like split dns with a VPN?

<comment><USER9> Serve the internal IPs from public hostname DNS records?

Internal DNS I think is largely not a good thing and I'd be happy to see it go.

<comment><USER10> As a sysadmin I disagree strongly.

Being able to host my own authoritative servers for my domains inside my org is a fantastic feature of DNS.

It lets me do things like split-horizon, which lets me deal with clients coming from different origins that may reach certain servers with or without NAT.

I'm also not keen on putting all my records on public name servers, for everyone to discover.

<comment><USER9> You could run your own DNS server. As long as you can get the relevant TLS cert, it doesn't even need to be public. You just would need to accept DOH connections

</comment></comment></comment></comment><comment><USER11> Comically enough, browser manufacturers aren't going to hardcode the IP of the DoH server. They will look it up using the DNS you already control. Give them a non-routable address and log the attempt. Then go tell that user to stop.

If some crazy group does hardcode it then they have made your job even easier.

<comment><USER12> Why would you refer to a DNS server by domain name and not by IP in the first place?

<comment><USER13> I can think of some possible motivations:

(1) Some kind of load-balancing thing and/or edge DoH servers. It gives you an opportunity to connect to a DoH server near you. Latency matters for DNS, and for traditional DNS, DHCP takes care of hooking you up with a nearby server. This could give comparable functionality for DoH. (This could probably also be done at the IP routing layer. But it's nice to have options.)

(2) Decoupling. You can change DoH server IP addresses without releasing a new browser build. And anyway, if you did try to do it by releasing new browser builds, you'd have users who don't bother to update.

</comment></comment></comment><comment><USER14> for me this feels like trading the devil you know, for the devil you dont. my ISP snoops my DNS queries if i use their DNS, however Mozilla has shown time and time again they dont care what customers think in terms of privacy or features. no one wanted video chat, DRM content, or pocket and yet here we are looking at another feature from Mozilla that privileges them to my DNS queries.</comment>


Scheming is Believing (2005) - <AUTHOR> http://steve.yegge.googlepages.com/scheming-is-believing

<comment><USER2> Long but great (like most of Yegge's essays, as far as I'm concerned)! This paragraph stood out for me:

"The problem is that types really are just a classification scheme to help us (and our tools) understand our semantic intent. They don't actually change the semantics; they just describe or explain the (intended) semantics. You can add type information to anything; in fact you can tag things until you're blue in the face. You can continue adding fine-grained distinctions to your code and data almost indefinitely, specializing on anything you feel like: time of day, what kind of people will be calling your APIs, anything you want."

edit: and later:

" Here's an example of what I mean by being able to tag things until you're blue in the face: Take a for-loop. It's got a type, of course: for-loop is a type of loop. It can also be viewed as a type of language construct that introduces a new scope. And it's a type that can fork program control-flow, and also a type that's introduced by a keyword and has at least two auxiliary keywords (break and continue).

You could even think of a for-loop as a type that has lots of types, as opposed to a construct like the break statement, which doesn't exhibit as much interesting and potentially type-worthy behavior. A type is just a description of something's properties and/or behavior, so you can really get carried away with overengineering your type declarations. In extreme cases, you can wind up with a separate Java interface for nearly every different method on a class. It's pretty clear why Python and Ruby are moving towards "duck typing", where you simply ask an object at runtime whether it responds to a particular message. If the object says yes, then voila — it's the right type. Case closed. "

<comment><USER3> Yes. However static typing is quite interesting in Haskell. And signalling intent with typing is a form of machine-checkable documentation.

</comment></comment><comment><USER4> Didn't know this one...

There are many Lisp-praising articles out there, and each one gives essentially the same reasons for Lisp being the perfect language. This one, however, despite being very large, seemed to be highly above the average to me. I think he was very convincing in pointing out precise shortcomings in the main languages he cited, something that is often only vaguely alluded to.

</comment><comment><USER5> _The machine interprets your program's symbols according to the language rules. Hence, all machines are interpreters. Some of the interpreting goes on in hardware, and some in software._

I remember having a similar epiphany: that all languages are always interpreted. I believe my next thought was "so what?". I suppose it might be a good thing to remember if implementing a new language.

<comment><USER3> Yes. But some languages get compiler before they get interpreted. For example Python (in the cPython version).

And there's a continuum between interpretation and compilation. Threaded interpreters like they are common for Forth are quite close to compilers.

</comment></comment><comment><USER6> Ugh, why the gratuitous dig at Guido? I think he's done a fine job leading Python, and I've found the Python community to be particularly friendly. Sounds like there's some beef here.

<comment><USER7> Recently GVR said 'no' to tail-call optimization. Why? Check out his blog post on it:

[http://neopythonic.blogspot.com/2009/04/final-words-on- tail-...](http://neopythonic.blogspot.com/2009/04/final-words-on-tail- calls.html)

As far as I'm concerned, when he says, "The one issue on which TCO advocates seem to agree with me is that TCO is a feature, not an optimization.", it's complete _bollocks_. When your program blows up because you don't have TCO, that's a semantic failure--not a lack of a little optimization.

<comment><USER6> So you'd call him frigid, distrustful, arrogant and unfriendly? That doesn't really follow for me.

Edit: You and Guido are in agreement. It's a "feature" in that it visibly affects behavior, whereas an "optimization" would merely make things faster.

<comment><USER7> I said his _opinion_ is bollocks.

I'm claiming that using self-recursion just _makes sense_. The inability to have a recursive implementation of fib(n) is a loss in both expressiveness and readability. Recursion is fundamental to computer science, and is often the best way to express many types of operations. So, in my opinion, if Guido really wants Python to be simultaneously readable, expressive and pragmatic, TCO is necessary, because recursion just plain rocks sometimes.

<comment><USER6> What are you responding to? TCO could be the second coming of Christ and I'd still think Yegge was being too harsh.

</comment></comment></comment></comment></comment><comment><USER7> This is from 2005. Please put old article dates in the title.

<comment><USER3> Why?

<comment><USER7> H _N_

<comment><USER3> New to me.

</comment></comment></comment></comment><comment><USER8> Has anybody coined "Yeggism" yet?: Exaggerated claims with a sliver of truth and a whole lot of hand waving to back them up?

It's a great article, this is not a troll. But those are some big statements in there about it seems anyone and everyone. Glad no one treats Steve's rants as gospel...oh, wait...

;-)

<comment><USER9> Might as well call it an "Internetism". With Steve, though, you at least get style, articulation, a sliver of grace and as much verbosity as you can stand.</comment></comment>


A wandering mind is an unhappy mind (2010) [pdf] - <AUTHOR> http://www.wjh.harvard.edu/~dtg/KILLINGSWORTH%20&%20GILBERT%20%282010%29.pdf

<comment><USER2> It looks like this specific author has looked at happiness primarily as defined by "how good are you feeling at this moment?". The observation is people who are not particularly enjoying their current activity tend to be less focused than those who are. This should not surprise anyone.

But the author then inverts this causally and states "mind-wandering is likely a cause, and not merely a consequence, of unhappiness".

Behind this opinion are the assumptions that _unhappiness is a nuisance causally disconnected from your environment_ , that it should to be avoided with a mental trick, and that mind-wandering is an otherwise unproductive side effect of having an undisciplined mind.

On a fundamental level I think it's wrong to advocate against the wandering mind, because wandering brains are exploring brains. We definitely want that. Not enjoying the status quo is what drives progress. Worries, anxieties, regrets, those all have a valuable place in a well-rounded life and they're a part of learning, too.

The idea of optimizing superficial enjoyment by hacking your mental state only instead of hacking the environment which makes you unhappy is not a good solution overall. It certainly isn't a valid problem solving strategy. Hacking your mental state may work if you suspect you're unusually unhappy without a good reason. Outside of clinical depression there is actually a good external reason for unhappiness more often than not.

Telling people their unhappiness is a purely mental defect they need to overcome strikes me as particularly insidious. Instead of making yourself more compliant and passive, why not go out and change things?

Being unhappy is first and foremost a signal how something about your situation needs to change. In most cases, the answer "stay in the moment, citizen, and carry on" strikes me as the kind of self help content that doesn't help anybody. Contantly and single-mindedly maximizing happiness is shallow and ultimately meaningless.

</comment><comment><USER3> This is just crap, for example:

\- The quality of their claims is directly related to the quality of their input. There is no discussion on the quality of their input.

\- They by no means justify their causal relation assumption

\- They make weird claims, for example they call their method a "gold standard", but there does not exist a gold standard for this kind of pseudo- science at all. And their method has the same flaws they mention other methods have.

</comment><comment><USER4> The author gave a TED talk about this here: [https://www.youtube.com/watch?v=Qy5A8dVYU3k](https://www.youtube.com/watch?v=Qy5A8dVYU3k)

and yes, the default mode of the mind is to wander: [http://en.wikipedia.org/wiki/Default_mode_network](http://en.wikipedia.org/wiki/Default_mode_network)

<comment><USER5> Interesting video but the dodgy scale on his graph to make the difference between the happiness in the Mind Wondering and Focused states seem larger than it is.

The difference is about 10%, it might be a very solid 10% more happy, but god, scratching my back can make me 10% more happy :-D

</comment></comment><comment><USER6> In one word: Yoga.

<comment><USER7> Nope. Yoga is a discipline of practice - a way to develop a new set of habits of self-awareness and self-control via breathing techniques.

As a side-effect it calms the mind due to proper physiological balance (better saturation of hemoglobin, less tension in muscles, which in turn influences other sub-systems. such as digestive, etc.)

Yoga is the same kind of a necessary training routine as when children learn how to read before they could read "serious" books. But this is so-called non- verbal skill.

More accurately, it is acquisition of set of skills of remaining in a proper balance, very similar to bicycle riding. Once _the body_ learns (new habits of keeping balance has been developed) you could ride any kind of bicycle and will never forget how to do it.

The bicycle you're leaning to ride (by doing) with yoga is your own mind whose states you lean to control "non-verbally" via states of your body.

<comment><USER6> That's some convoluted answer, to which I'd like to reply just with one of Patanjali's Sutra:

Disease, inertia, doubt, lack of enthusiasm, laziness, sensuality, mind- wandering, missing the point, instability- these distractions of the mind are the obstacles

Those are the obstacles to Yoga. In some ways we can say, then, in a very simple way, that Yoga is not only stopping the mind-wandering, but nonetheless, ceasing the mind-wandering is Yoga.

<comment><USER7> OK, ok. There is no doubts that it "works" and no contradictions with "authorities".)

More interesting questions are _how_ it works and _why_ it works. Modern human physiology and cognitive neuroscience has some nice models. Homeostasis and the ability of one "sub-system" influence others via feed-back loos from physiology is just another name for Eastern notion of "proper balance", while Minsky's "society of mind" gives you insight about multitude of pseudo- independent, highly-specialized "competing agencies", non-verbal ones.

There is no other scientifically studied mechanisms but training of neural networks which is another name for "habituation" and these physiological feed- back loops.

<comment><USER6> Everything's very interesting, but somehow pretending to explain that with complex means of Western knowledge is like trying to break an iceberg with an ice pick. You'll find yourself with lots of nice ice for your cocktails, but you'll never break the iceberg that way.

Apart from parables, scientific study of yoga physiological effects is obviously a good thing. Only, it's something culturally very far from the kind of knowledge that made yoga possible.

<comment><USER7> OK, let's try to make it more esoteric.) Do you recall the famous picture of Escher - [http://en.wikipedia.org/wiki/Drawing_Hands](http://en.wikipedia.org/wiki/Drawing_Hands)

This is an artistic impression of how "body and mind" works, and this notion is as ancient as Vedas, but it does not happen to be expressed in such clever graphical form. Instead, it has been expressed in verbal form, in short snippets across Upanishads and, perhaps, Vedas.

This artistic impression also captures fundamental concepts of feed-back loops and recursion, which could explain lots of Nature's phenomena, from weather to circuits in your iPhone.

"Self-awareness" is just another name for recursion - like "to focus your attention on the contents/state of your consciousness" which could be verbally expressed as "that third eye which is looking inside one's own skull".

Btw, you cannot draw that on a tanka, so ancient Indian and then Tibetan artists render it as a eye in the forehead "looking outside", which, of course, should not be interpreted literally, like so many do.)

Technically, these two hands depicts so-called Mutual Recursion where two "processes" are "feeding" each other. This is a crude "high-level" model (a body-mind mutual recursion) of what happened in Yoga.

In your quote it has been stated that you should "calm your mind and remove all distractions first" because they are obstacles to Yoga, and then, that "Yoga is that state of unity (within yourself and with the Whole) without any impurities". So, where shall we start? The answer is - looking at these two hands - it doesn't matter. It is a mutual recursion.

Extend it with notion of multiple agencies (processes) so it will be n-process mutual recursion, to complex to be grasped by mind at once, like this clever but naive picture.

One side note. You might think that you are having a conversation with someone with superficial understanding, based on some popular memes, but no, I am cultural guide and mountaineering instructor in Himalaya regions and North India for years.)

<comment><USER6> Wow. I never thought I was speaking with someone with a superficial understanding. That was immediately clear to me. But now, well, I'm awed by one of the best conversations I've ever had with a stranger on the Internet. Thanks. I think I need some time to process the whole thing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> TIL: "stimulus-independent thought" or "mind wandering" appears to be the brain's default mode of operation

</comment><comment><USER9> Me is scientist. Me has produce papers. Me turns questionable data into sausage article and slaps catchy title onto it. Success. Repeat.

</comment><comment><USER7> This is 2500+ years old idea, why 2010?)</comment>


How Flexport Halved Testing Costs with an Auto-Scaling CI/CD Cluster - <AUTHOR> https://medium.com/@ankurdahiya/8304297222f <comment><USER2> Having set up ci/cd systems a few times previously by hand I've been happy so far with aws codestar.

It uses codecommit, codebuild, codepipeline, codedeploy, with permissions configured via iam. You can push to ec2, beanstalk or lambda.

I find beanstalk to be the sweet spot for ease of use with time saving abstractions. You can integrate jira too, and it enables cloudwatch for monitoring.

It's easy to set up. It sounds like Flexport's solution is more robust as they've done some great tweaks to their workflow, but for a quick ci/cd pipeline setup, codestar is pretty slick.</comment>


Reengineering Capitalism - <AUTHOR> http://www.xconomy.com/san-francisco/2011/11/14/reengineering-capitalism/

<comment><USER2> _One of the fundamental flaws of capitalism that has collapsed the system is unbridled speculation...These speculators add little value...and are financed by government handouts._

Capitalism is flawed because the government robs Peter to pay Paul?

I really wish the people criticizing capitalism would put a small effort into learning what capitalism is.

</comment><comment><USER3> The author seems to think that 'welfare economics', 'the burdons of socialism', and 'socialized losses' are failures of capitalism. They are aberations and deviations from capitalism.

</comment><comment><USER4> I don't see how this fixes the problem.

To my eyes the problem we have right now is the first part of so-called "Trickle Down Economics " worked in that more wealth was created and the rich got far richer. But the second part didn't in that it didn't trickle down very well.

The reason for that, as far as I can tell, is the speculation she refers to. Speculation is basically rich people gambling against each other (I think Oil will fall and you think it will rise so we bet against each other). But that doesn't create jobs or spur economies.

So she's focusing on the entrepreneurs where the capital is the problem. Gambling is fun, investing in a company is less so (unless you're a VC who is interested in that sort of thing).

So while I'm all for teaching companies to be profitable and I think her initiative is great. But I don't think that solves the problem which is the Capital isn't making it into the system.</comment>


Senate Testimony on Privacy Rights and Data Collection in a Digital Economy - <AUTHOR> https://idlewords.com/talks/senate_testimony.2019.5.htm <comment><USER2> I should explain how this process works, and how I wound up giving this testimony.

Basically, a staffer on the committee found me online, was interested in my ideas, and asked for a phone call. A couple of days later, he scheduled a second phone call, this time including the committee chairman's staff from the opposing party.

I got a formal invitation to appear with about eight days' notice, along with a request for written testimony on specific topics. You pay your own way to get to D.C. for the hearing.

The testimony was due 24 hours before the hearing, so that staff had a chance to review it and plan their questions.

In the hearing, there is a two-hour block of time, and senators each get five minutes to ask questions, alternating parties, in order of seniority. Some of them want to know stuff, others want to read a statement into the record. You get a glass of ice water and a little countdown clock at your desk that tells you when the five minute blocks of time are up.

At the start of the process, the three witnesses each get a five minute opening statement. In my hearing, we had a former diplomat and expert on the GDPR, and someone from the financial industry. The hearings are open to the public and if you are in D.C., you should attend one! It is quite a spectacle!

I'm very thankful to Matt Blaze and others who wrote about what hearings are like, to help me prepare for this. And I am happy to answer questions in turn.

<comment><USER3> I watched a portion of the video, and I get the impression that the people asking the questions appear to have a pretty good idea what they're talking about. Do you feel the same? Those are the senators, right? Gives some good hopes for the future.

<comment><USER2> Those are all senators, yeah. They have staff experts who brief them for these hearings so they can go into knowing what they want to ask (or say), as well as what they are likely to hear. The level of staff expertise is extremely high, and the senators themselves are no fools. They are used to regulating the financial industry, which is even more slippery than big tech.

<comment><USER4> Perhaps today's Senators have learned not to completely wing it - we're a long way from the "series of tubes" era.

<comment><USER5> Perhaps in the legislative branch, the executive branch suffers no such limitations. Eg. [https://www.whitehouse.gov/briefings-statements/remarks- pres...](https://www.whitehouse.gov/briefings-statements/remarks-president- trump-marine-one-departure-30/)

</comment></comment></comment></comment></comment><comment><USER6> Here's the video of the question and answer part: [https://www.banking.senate.gov/hearings/privacy-rights- and-d...](https://www.banking.senate.gov/hearings/privacy-rights-and-data- collection-in-a-digital-economy)

<comment><USER7> Hearing begins at 10m30s

Maciej's remarks at 42 minutes.

The video (or audio) can be played directly from:

        mpv --ytdl 'https://www.senate.gov/isvp/?comm=banking&type=live&stt=&filename=banking050719&auto_play=false&wmode=transparent&poster=https%3A%2F%2Fwww%2Ebanking%2Esenate%2Egov%2Fthemes%2Fbanking%2Fimages%2Fvideo%2Dposter%2Dflash%2Dfit%2Epng'

</comment></comment><comment><USER8> For any given type of item of information about me that a site may be able to see and want to use, it is going to fall into one of these groups:

• Items that I'm OK with sharing with every site.

• Items that I'm OK with sharing with some sites, but not with others.

• Items I'm not OK with sharing.

It might be nice if there was a standard list of items and a way to tell my browser which group each item falls under, and a standard way for the site to tell the browser which items it wants. The browser could then tell the site which group each such item falls under, and the site could dynamically generate a permission request and privacy disclosure that just covers those things I'm not willing to share with every site.

Maybe add some other dimensions to this covering things like how the site uses the item (internal use or shared with third parties; just to provide the services I use or also for marketing, for example), the category of site, and the location of the site.

<comment><USER2> Where this consent model gets tricky is things like group chat. Who owns this exchange between us? You? Me? Hacker News?

<comment><USER9> Why not everyone who participates in the exchange? Or perhaps only the words they contribute?

<comment><USER10> Well, there's a fact that idlewords _responded to_ tzs, which could be viewed as a fact about idlewords, a fact about tzs, a fact about both of them, or a fact about this overall conversation, among other things.

For copyright purposes idlewords already has copyright in his post, but I don't think that's the kind of "owning" that we're talking about here.

There's also the fact that, for example, you read what idlewords and tzs had to say to each other, and the fact that some people in the discussion upvoted their comments.

That's already a lot of different sorts of facts about this conversation, and doesn't even reflect everything that HN (or readers) knows.

</comment></comment></comment></comment><comment><USER11> This is the most succinct explanation and description I've ever seen regarding privacy and regulation.

Maciej - thank you for writing this and spending time with congress.

<comment><USER2> It was an honor! I am still flabbergasted I got the opportunity, but I didn't want to waste it.

<comment><USER12> I'd say you definitely didn't waste your time, even if you had only posted the essay online. That's a great piece of writing on the subject, especially the perspective on the GDPR's effects. Not being an EU resident, I had no idea it was that cumbersome.

<comment><USER13> Strictly speaking I would call that the effect of companies' resisting the spirit, and in some cases letter, of the law, not an effect of the law itself.

<comment><USER14> The same thing happened with the "cookie law" too. The law was created to gently nudge companies away from abusive tracking, by requiring to inform users about third-party cookies. But instead of stopping to use third-party trackers, the web world has simply shown the finger to the regulators, and that's how we got cookie notices on every site.

My guess is that's where GDPR got its teeth from - the regulators tried the "industry self-regulation" route before, and it failed spectacularly.

</comment></comment></comment></comment></comment><comment><USER15> If there is one company I hope gets the spotlight in this debate it is Plaid. I think there are among the least transparent when it comes to what data they collect, have zero way of auditing/ensuring compliance among devs, and arguably dealing with some of the most sensitive personal data (banking, transactional).

</comment><comment><USER16> > They [Silicon Valley] see a regulation and they find a way around it. We > don't like banking regulations? So we invent cryptocurrency and we're going > to disrupt the entire financial system. We don't like limits on > discrimination in lending? So we're going to use machine learning. Which is > a form of money laundering for bias.

Could you expand on what you meant by this Maciej? The first sounds a bit like a conspiracy theory - that Bitcoin (I presume) was invented by Silicon Valley to avoid banking regulations? Or did I completely misunderstand?

EDIT: to be clear, I'm not contradicting or being nasty. I would just like to learn more as I've never heard that take on it before.

<comment><USER2> No, I don't think Bitcoin is a conspiracy theory. I think it was a genuine novelty that came out of tech. But at a certain point in its rise, it became clear that you could create an unregulated securities market with initial coin offerings, and it was off to the races.

The dynamic that I am describing is new technologies being used to circumvent regulation, with the excuse that this is something new and technical, and so should be exempt.

We've seen the pattern over and over again, from sales tax exemptions to cryptocurrency to taxi and hotel laws.

<comment><USER17> What about ICOs make it unique in creating a securities market vs somebody just doing it with java, payment provider integration and a mysql database?

</comment></comment></comment><comment><USER18> Maciej - I think my viewpoint on the surveillance industry is pretty similar. But reading your description of the current state of affairs _still_ put a shiver up my spine. I can't even pinpoint a single passage that did it. Rather the sheer disconnect between the technological world we envisioned and the world they built is overwhelming, and you really got that across.

I think throwing the GDPR under the bus based on how the surveillance industry is doing its best to malinterpret it is a bit off. A popup with a list of task-orthogonal surveillance companies demanding consent is obviously an anti- pattern. The prudent course feels like to wait and see how the GDPR actually turns out in practice, and then hopefully adopt it as-is.

What I worry about in the meantime is a half-baked "Americanized" implementation that guts its strongest provisions ("Right To Download" -> "correct" feels like already trying to fortify a backstop! Why can't I simply just erase?), and blesses ongoing abuses. A disingenuous standard of purported consent is pervasive in our entire society, and I don't see why this topic will turn out any different. I can forsee EU regulators concluding that surveillance-based-advertising is not a necessary part of simply viewing a news article, whereas I can see a US regulator blessing that practice.

Which maybe implies that "copy GDPR" is actually a decent answer right now, even not knowing how it will turn out. For one, it tells US companies that they need to take the GDPR seriously rather than throwing "block EU" hissy fits. If it's really as unworkable as the surveillance industry public relations make it sound, I'm sure they'll have no problems modifying it.

<comment><USER2> I'm sorry that you read my statement as so hostile to the GDPR. The consensus at the hearing I think was unanimous—that so much of the GDPR is open to regulatory interpretation that it is hard to evaluate yet. My fellow witness said there's a value to not going first, and I wholly agree with him. I believe we all testified it has made people safer.

That said, there is time pressure on Congress because of the 2020 California law. The tech companies and data brokers are scared of 50 state laws on this and are pushing for the mildest form of Federal regulation they can get, to pre-empt state laws, and that is the context of the fight.

I think the GDPR is inadequate but much better than nothing, and I tried to convey that in my testimony.

<comment><USER18> I didn't take it as outright "hostile", but rather more of a basis with which to pivot into the idea of doing something different. Which feels like playing to lawmakers' interest / American exceptionalism of doing something "better", but counterproductive given how the US lawmaking process works.

I'm also not personally a huge fan of the GDPR as is, because I agree we have no idea how it will actually play out. But I don't think the American philosophy will be productive at coming up with a different approach. So if it's to be one national regime, why not simply match the EU for now?

If we can't do that, then honestly each state having a different approach sounds better for individuals (assuming it it doesn't devolve into companies demanding one's physical address for compliance). It's more likely that one state will properly codify the idea that users should have full control over data about themselves.

Ultimately I don't think we'll end up with sensible-looking legislation unless legislators actually get down and dirty with the technical specifics. For example, the brokenness of the cookie law actually necessitating cookies could have been avoided by mandating a fixed cookie/header format to express the preference rather than allowing every site to come up with its own bespoke implementation.

<comment><USER2> The problem with saying "let's just match the EU" is that key parts of the GDPR are still undecided. What is a "legitimate business interest" for data collection? What are the limits to algorithmic decisionmaking? No one knows.

A regime with 50 state privacy laws would result in every website you visit having a consent click-through where you agree to abide by Alabama privacy laws (or whoever wins that race to the bottom).

<comment><USER18> But how can it _not_ come down to judgment calls? We're essentially trying to define the contour of a new right. If we stick with the axiomatic approach, then it feels like we can only end up essentially right back where we are now - data collected by companies is theirs to do with as they like.

FWIW are you sure it would be a race to the bottom (companies going to the least-restrictive state) ? In the context of salestax/cookie-nexus, I would have hopes that it would be a race to the top (users benefiting from being in a more-restrictive state). Which is why I'd think the worry would be every random service demanding to verify your address to keep you from claiming to be in the more restrictive states.

</comment></comment></comment></comment></comment><comment><USER19> It seems like this is emphasizing the big five a bit much, when there is an entire ecosystem of smaller adtech firms that will be, if anything, harder to regulate since they're scrappy firms operating under the radar, sometimes overseas. At least the big five are likely (under pressure) to put in place the bureaucracy to follow regulations, and attempt to impose their rules on smaller vendors as well.

I also wonder about the idea that it's "traditional" that users own their own data. Maybe that's true in Europe, but in the US, selling customer lists in the direct-mail industry goes back many years. I'm guessing that salesmen keeping customer lists in rolodexes goes way back as well, and these lists were sometimes shared or sold. No user ownership of their own data there! Gossip seems more traditional than privacy.

GDPR-style regulations seem more like a new thing, long overdue as this stuff scales up rapidly.

</comment><comment><USER20> This is fantastic, thanks for writing it and for your testimony!

my favorite bits

"The emergence of this tech oligopoly reflects a profound shift in our society, the migration of every area of commercial, social, and personal life into an online realm where human interactions are mediated by software."

"Consumers will just as rightly point out that they never consented to be the subjects in an uncontrolled social experiment, that the companies engaged in reshaping our world have consistently refused to honestly discuss their business models or data collection practices, and that in a democratic society, profound social change requires consensus and accountability."

Brilliant!

</comment><comment><USER21> "The training process behaves as a kind of one-way function. It is not possible to run a trained model backwards to reconstruct the input data; nor is it possible to "untrain" a model so that it will forget a specific part of its input."

I don't have a concrete reference, but my understanding is that it is quite likely to be possible to reconstruct outliers in the training data by inspecting the model's weights.

<comment><USER22> This is a good point. We have some concerns and evidence that neural networks do memorize their training data.

Also, the "untraining" idea is an open research question (I just saw a talk about it). We don't know exactly how to do it yet, definitely not in general, but "impossible" is too strong.

</comment></comment><comment><USER23> >The internet economy today resembles the earliest days of the nuclear industry. We have a technology of unprecedented potential, we have made glowing promises about how it will transform the daily lives of our fellow Americans, but we don't know how to keep its dangerous byproducts safe.

This is one of the best analogies about the internet that I've ever heard.

</comment><comment><USER2> The title on this is horked, it should be "Senate Testimony on Privacy Rights and Data Collection in a Digital Economy"

<comment><USER24> If it isn't obvious from the domain name and parent's username, the author of the linked page would like the HN title changed to the original one.</comment></comment>


C9.io is now part of AWS - <AUTHOR> https://c9.io/announcement <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=15817544](https://news.ycombinator.com/item?id=15817544)

</comment><comment><USER3> Eclipse Che is an open source developer workspace server and cloud IDE ([https://www.eclipse.org/che/](https://www.eclipse.org/che/)). It's got strong Java support as well as support for many other languages.

You can run it wherever Docker runs (and soon wherever you have OpenShift) and you can use it for free with 3GB RAM at codenvy.io.

Disclosure: I'm the Che project lead.

<comment><USER4> Serious question: has Eclipse Che gotten easier to setup over the past year? I tried it out in May/June 2016, and setting it up was very difficult -- the documentation was sparse and I ran into errors all over the place. When I finally had it setup correctly, a new version came out, and updating killed all my existing workspaces.

So, has there been a focus on documentation, stability, and clear upgrade paths in the last year?

<comment><USER3> The docker-based install is a little tricky because we need access to the docker socket and have to create a mount point so that workspaces can be stored locally (so they're not lost with upgrades). It's likely that when you last tried it we had not completed the local storage option.

If you have a chance try this: [https://www.eclipse.org/che/docs/setup/getting- started/index...](https://www.eclipse.org/che/docs/setup/getting- started/index.html) \- we've added interactive help but we've also tried to clarify the syntax needed. I'd love to hear what you think. Of course if you hit issues please let us know on the eclipse/che GitHub repo.

</comment></comment></comment><comment><USER5> Is there any real alternative to C9 (self-host or no, I don't really care) that _isn 't_ a part of AWS/GCE/<cloud provider here>? I've already tried C9 (hosted and self-hosted) and am not really a fan.

<comment><USER6> This includes a c9-like project/workspace managing server as well as IDE:

[http://eclipse.org/che/getting-started/](http://eclipse.org/che/getting- started/)

<comment><USER5> I find the setup to be a bit of a pain:

\- Can't (easily?) use a Docker volume instead of mounting a directory from the host into the container

\- No real auth out of the box(?) - I get why it works like it does, but I don't really want to set up KeyCloak for a single application only

\- Doesn't seem to have Elixir support, but maybe I've not looked hard enough

Mainly just my own pickiness, I think.

<comment><USER7> \- Copy pasting this command will start Che on most platforms:

`docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che:/data eclipse/che start`.

We can't avoid mounting the docker socket but you are right we could probably avoid asking to provide a specific host folder (i.e. `~/.che`). But the downside of not providing a host folder would be that users won't have access to Che configuration files. Do you think that running command like `curl -sSL [https://get.che.eclipse.org/](https://get.che.eclipse.org/) | sh ` would be better from a user perspective?

\- We currently distribute Che in two flavours: single and multi user. Single user is the default one and if you run the command above you will run single user Che. No need to setup KeyCloak :-)

\- I don't think we support Elixir yet but that's definitely something we would like to do. Do you know if there is any reliable Elixir language server?

<comment><USER6> I think the goal should be getting rid of all of the parameters so people who've used docker before don't need to look up how to start it and people who've not used docker before get a more legible command to paste.

</comment></comment></comment></comment></comment><comment><USER8> I have been using this for past few days after the AWS announcement. It works so well and feels almost like having a fully functional Web Based IDE. I simply SSH into my Digital Ocean server and can work smoothly from anywhere.</comment>


Genetic Rockets - <AUTHOR> http://www.blprnt.com/smartrockets/

<comment><AUTHOR> Blog post belonging to the project: <http://blog.blprnt.com/blog/blprnt/project-smart-rockets>

and followup [http://blog.blprnt.com/blog/blprnt/7-days-of-source- day-5-sm...](http://blog.blprnt.com/blog/blprnt/7-days-of-source-day-5-smart- rockets)

</comment><comment><USER2> I'd love to know what the fitness function is for these rockets' flights, but it doesn't seem to be discussed anywhere.

<comment><USER3> I guess that's hitting the target avoiding the obstacle (text) without consuming all the fuel and crashing to the ground

Perhaps also avoiding bounces gives some bonus

<comment><USER2> But if none of them hit the target, what then? How are some chosen to be more fit than the others? Flying longer? Covering more ground? These are useless fitness functions.

As I say, I'd love to know what he's actually using. I've done quite a lot of work in genetic, ballistic, swarm and annealing optimisation systems, and I can't work it out.

<comment><AUTHOR> I built my own project based on this with balancing rockets, my fitness function was based on a penalty for crashing and extra points for distance to target, i also added a small bonus for fuel left to let them slowly optimize their flight.</comment></comment></comment></comment>


Blade Runner 2049 bombs in box office - <AUTHOR> https://www.forbes.com/sites/scottmendelson/2017/10/07/box-office-blade-runner-2049-bombs-with-disastrous-13m-friday <comment><USER2> Bummer, I wonder what sales look like for the original.

I bought it on iTunes with the intent of seeing the sequel. It's probably been 20 years since I've seen it.

<comment><USER3> [http://www.the-numbers.com/movie/Blade-Runner#tab=summary](http://www.the- numbers.com/movie/Blade-Runner#tab=summary):

      Domestic Box Office      $32,656,328
      International Box Office $   483,290
      Worldwide Box Office     $33,139,618
      Production Budget        $28,000,000

<comment><USER2> I meant recent sales leading up to the sequel's release. I'm curious if the sequel had people like me revisiting the original.</comment></comment></comment>


Ansible 2.0 released - <AUTHOR> http://www.ansible.com/blog/ansible-2.0-launch <comment><USER2> Ansible is probably the single most useful tool for doing working with servers today. It somehow manages to be simple and very featureful at the same time. Personally, a good chunk of my effectiveness in workings with servers and cloud provisioning can be directly attributed to it.

I've been using pre-releases of 2.0 for a few months now, mainly for its improved support for AWS services like dynamodb and IAM policies. I've had nothing but good experience with the new version, which cleans up the code and brings more consistency. Working with AWS, ansible shows its strengths by exposing to the developer a simplified API which gets you 95% percent of the way -- pretty much what you wish you'd get from Amazon. I feel that ansible does cloud provisioning not just easier but better than most other tools, including Amazon's Cloud Formation.

Ansible's playbooks (recipes for provisioning servers or infrastructure) read like pseudo-code, and although it's sometime not obvious how to write an idempotent playbook for a piece of software, it is always obvious what an ansible YAML file does (despite the obvious shortcomings of YAML for this job). This is important in the devops world: all knowledge about the infrastructure is codified in version-controlled ansible code and doesn't get lost when the job passes to a new hire.

This also means that you can often find a playbook for software you want to deploy already written on github (search with "language:yaml"). Often you won't be able to copy and paste it verbatim, but looking at how someone else has solved a problem (install java, configure apache, etc.), it will be obvious how to replicate it.

Every time I finish a piece ansible code, I smile -- about how many other tools can you say that? Congratulations to the team and all contributors for the new major release (and to the company for its well-deserved recent acquisition)!

<comment><USER3> I fully agree. Ansible has a small learning curve.

There is little effort in getting started, since it runs over ssh without any daemons or agents required on the managed hosts.

For finding playbooks, you can also look at [https://galaxy.ansible.com](https://galaxy.ansible.com)

</comment></comment><comment><USER4> Ansible and Salt were both huge steps forward for provisioning. However, after switching to immutable resources I've largely replaced the need for such services.

I don't mind that there's a panoply of bash scripts to configure docker builds. It's simple and it works and nearly every engineer worth anything knows how to read and write them.

A good bash script never goes out of style.

<comment><USER5> I might be the only one that does this, but I like using ansible with docker.

I use a Dockerfile for any long running tasks like installing dependencies so I can take advantage of docker's cache. I then use ansible for fast running configuration like using a template file for filling out user specific configuration.

The biggest disadvantage to this is that you have to add ansible as a dependency in all of your containers, which stinks. I feel like it produces easier-to-read configuration.

Don't get me wrong, bash scripting is a great tool. I just try to avoid it whenever I can because I personally don't like writing bash scripts.

I think in the future there might be a best of both worlds approach if docker adds a caching api to where ansible could interact with it directly. There is also a docker connection plugin added in this release that could add some possibilities.

<comment><USER4> I don't think you're the only one. I ran saltstack with my containers for awhile, but it just created too many dependencies (as you notice yourself) and made the build process difficult.

I find that if I keep things in bash the images become more "dumb" and therefore more portable.

In lieu of a caching API you might find a package cache (apt-cacher-ng, squid, etc) will help speed up installs a lot. I found one image that was pulling down almost 5 GB with every build!

<comment><USER6> Writing ansible is faster and less error prone than a bash script. It's additionally better organized and maintainable. I use it for both immutable and manual deployments.

<comment><USER7> True... if you suck at Bash.

<comment><USER8> Bash unequivocally sucks this is not to say it doesn't have its uses.

<comment><USER7> No, it doesn't suck more than YAML-based scripting. I write complex Bash scripts daily - if I have to write the same in, let's say, Python, it would take longer, will possibly run slower, and will definitely take longer to test. Again, Bash is a nice tool, but you need to learn it well.

<comment><USER9> how do you test bash scripts?

<comment><USER10> I've used bats[1] in the past. I also recommend the command line shellcheck[2] for linting.

[1] [https://github.com/sstephenson/bats](https://github.com/sstephenson/bats) [2] [https://github.com/koalaman/shellcheck](https://github.com/koalaman/shellcheck)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> There are some good changes here:

[https://raw.githubusercontent.com/ansible/ansible/stable-2.0...](https://raw.githubusercontent.com/ansible/ansible/stable-2.0/CHANGELOG.md)

\- Given the dynamic includes, you can use variables in some places you couldn't before , which allows you to pass items in on an include.

\- Error handling now uses a try/catch structure with block/rescue/always, which is much clearer than capturing a 'register' variable and handling it later

\- It has a new 'free running' mode, where operations can be run on remote hosts as fast as they can be processed, rather than at the speed of the slowest host

\- Lots more cloud-oriented modules

</comment><comment><USER12> Love Ansible, but am I the only one who has found 2.0 to be unbearably slow? Some patterns I use may now be anti-patterns I should factor out, but even with some optimizations, I'm finding Ansible 2.0 to be 3-4x slower than 1.9. Maybe it has to do with # of hosts or variable field depth, but it's really really depressing.

<comment><USER13> Do you have connection pipelining enabled?:

[ssh_connection] pipelining = True

Ansible 2 is extremely fast for me.

<comment><USER12> Yes, pipelining is on. I've been doing some further testing and I suspect some of the nested roles we're using are the source of the slowness, because for simple playbooks and simple tasks, the speed is comparable (Ansible 1.9 still comes in a little faster, unless I enable the `free` strategy in 2.0).

</comment></comment></comment><comment><USER14> I am starting with Ansible and pretty much my first thought was to write my own "super" python scripts that called Ansibke instead of using playbook and their DSL

But, is this a good idea? As the first six comments here are starting that discussion, what are the pros and cons?

The API may be rich but it feels a second class citizen. But DSLs are really hard to get right and often lack ... Everything.

<comment><USER2> I would encourage you to start by learning Ansible's yaml syntax, which really goes a long way and which represents a lot of best practices in the devops world, such as immutability, configurability and config file templating. I have yet to run into a situation where I had to reach for python, calling the API directly or even extending ansible itself.

However, sometimes you may want to mix local actions (say, spin up ec2 instances) and remote actions (provision said ec2 instances). In these cases, a simple wrapper bash or python script to combine these has proven helpful.

<comment><USER15> This has been my use case. We spin up a lot of trial servers on aws for customers, each with some unique data. I've written Python to call Ansible (1.9) programmatically, which was a fun challenge, even if possibly more work than was needed: [https://serversforhackers.com/running-ansible- programmatical...](https://serversforhackers.com/running-ansible- programmatically)

Ansible 2 changes a lot of that, so a followup for how-to in Ansible 2 is in order eventually.

<comment><USER16> We wrote our own Api wrapper to run Ansible commands on our infrastructure. It aims to encapsulate all the complicated bits. Maybe this is of interest to you:

[https://github.com/seantis/suitable](https://github.com/seantis/suitable)

We use Puppet mainly, but depend on Ansible for updates, migrations and other things where we want to control the transition, not just the end state.

<comment><USER17> This is actually pretty neat. Thanks for posting.

</comment></comment></comment></comment></comment><comment><USER18> Man, I am really happy that playbook parsing and error reporting has been improved.

Almost all the frustrations I have had with ansible haven't been from individual modules, but from the mini-language in playbooks defining what modules gets run when with what input variables. Almost pushed me to do away with playbooks entirely and just call ansible modules from a python script directly.

<comment><USER19> Ansible would be much better if they just used Python for the playbook API instead of YAML. Ansible would be a clear win over over-engineered competitors like Chef if they fixed this, but as-is I don't want to use it.

<comment><USER20> I think the reason they didn't use a procedural language is because they specifically wanted to keep the playbooks declarative.

Ideally, the playbook should describe the state you want the system to be in.

This is 'almost' the case for most modules and I think this was a very good design decision.

Having said that, the ghastly YAML format was almost a deal-breaker for me too.

<comment><USER19> Using a real programming language doesn't preclude a declarative programming style.

<comment><USER21> No, but using a 'real' programming language doesn't force you to write in a declarative style unless you use something like a pure functional language and before you know it people would start making a mess in their playbooks using the whole power of Python. Ansible is awesome for devops precisely because it restricts what you can do and forces you to try to do things in a consistent declarative (and hence idempotent) style, which is important to devops.

[edit: fix broken english]

<comment><USER22> This could have been solved by choosing a language like lua and restricting the runtime environment - which is what is done in game software. Lua also has a tight, efficient interpreter. Making a mini-programming language in YAML is _coding horror_.

</comment></comment></comment></comment></comment></comment><comment><USER23> Excited about the block functionality and the new execution strategies! I will definitely try them both out to see if I can optimize my Ansible code even further.

</comment><comment><USER24> I'd love windows support on the control side.

</comment><comment><USER25> I only skimmed over the release notes, but I hope they avoid adding too much complexity and keep it's prized simplicity.

</comment><comment><USER26> Really looking forward to getting into this but it doesn't look like they've documented all the modules yet. Specifically I'm trying to find more information on the hashi_vault module

<comment><USER27> I just finished a deployment using Hashicorp's vault and ansible, but we did it without a module.

Do you have a link that references this?

Or, if you are interested in what we did I could probably put it into a gist

<comment><USER26> It's referenced in the changelog as a new module: [https://raw.githubusercontent.com/ansible/ansible/stable-2.0...](https://raw.githubusercontent.com/ansible/ansible/stable-2.0/CHANGELOG.md)

After looking more closely it seems like it's just used to pull data from Vault. I'm currently using Ansible for Docker deployments and have been planning on using it to push data to Vault during deployments so this won't really suffice.

</comment></comment></comment><comment><USER28> it would be great if rolling updates would work now..

<comment><USER29> What do you mean?

</comment></comment><comment><USER30> I was about to make some witty and intelligent comment about Ansible and its usefulness for cloud orchestration, and then I remembered that I've drank over half a bottle of wine and it's time to pass out, so g'night.

<comment><USER30> Wow, that was stupid of me.

Here, to make up for the above comment:

I've found that Ansible combined with Rundeck makes a powerful automation engine, and can replace more complex systems like Jenkins pretty easily.</comment></comment>


Multiple database sync with no back end? - <AUTHOR>

Hi All, I inherited a project for iOS that needs to use iCloud and is currently using SQLite.  It's easy enough to copy the database file from each device to iCloud or pull from iCloud back to each device.
But my question is, does anyone have a good strategy for merging additions, removals and updates besides asking the user what to do on each row?
I was thinking that it would be possible to make a new kind of database or extension to SQLite that would track the changes (perhaps by date or transaction ID) and then have a universal strategy to merge those changes back together, and only ask the user when absolutely necessary, perhaps through standardized callbacks that could bring up an alert.
Does anyone know of an approach like this, or is there an open source project trying to solve this problem?  Basically a database with no back end, but a way to sync through a central read/write file.  Stack Overflow hasn't been much of a help on this.
Thanks! <comment><AUTHOR> Here are some more links about what I was talking about. Unfortunately Apple always offers solutions that only work on iOS so are not general, for example using Core Data with SQLite as the backing store:

[http://stackoverflow.com/questions/7003336/how-enable- icloud...](http://stackoverflow.com/questions/7003336/how-enable-icloud- support-for-sqlite)

[http://stackoverflow.com/questions/9324746/storing-sqlite- da...](http://stackoverflow.com/questions/9324746/storing-sqlite-database-in- icloud)

[http://stackoverflow.com/questions/10465612/how-can-i-use- ic...](http://stackoverflow.com/questions/10465612/how-can-i-use-icloud-sync- if-im-not-using-core-data?rq=1)

It seems to me that maybe there would be a way to merge databases if they used the continuous file append method that couchdb uses and then maybe read/write diffs to a central shared directory emulated through iCloud.</comment>


New Garbage Collectors Designed With Parallelism in Mind - <AUTHOR> http://www.ddj.com/go-parallel/blog/archives/2009/05/new_garbage_col.html <comment><USER2> [Edit: I don't feel bad about hijacking the thread as the article turned out to be a little less trivial than fluff.]

Offtopic:

Distributing computing gurus, what is the state of the art of distributed GC? is there more to it than reference counting? what are some sexy systems I can look at, well, other than EJB?

What is the verdict on distributed shared memory? Are systems like mosix now a history and the future entirely message passing? (I know of the layered architectures that implement a virtual system over message passing)

Also, what are good forums for the layman where I can keep an eye?

Sorry, but this thread is the closest I will get to GC for the non- uniprocessor on HN, I think (sorry Wilson ;-)</comment>