GitLab Pages - <AUTHOR> http://pages.gitlab.io/ <comment><USER2> Dear lord these guys are putting in work. I'm not exactly a huge supporter of Github (the company not the product) so I'm very glad to see it. I look forward to their continued growth.

<comment><USER3> >Dear lord these guys are putting in work.

man I wish they would bring something new, cool and innovative to the space, instead being bent on doing feature-by-feature copy of github.

They have an amazing opportunity now to take advantage of github fatigue. But they are throwing it all away by trying to become an inferior clone of github.

<comment><USER4> It has integrated CI whereas GitHub requires using a third-party CI system, it's had Reaction Emoji (called Award Emoji for GitLab) for a while now, it has "Merge when build succeeds", CE is entirely FOSS, etc.

<comment><USER5> I'd honestly be really surprised if Github didn't end up acquiring one of those CI systems which they already integrate with.

<comment><USER3> There seems to be a healthy competition between various ci software that works with github. Why would github try to kill that and take on such a high touch area.

Its quite puzzling why gitlab went that route, they are basically discouraging ci systems from integrating with them. I think this is would turn out to be a bad decision for gitlab.

<comment><USER6> Well, their CI is pretty good for starters... compared to self hosting jenkins, or paying for Travis CI. Self hosting gitlab integrated CI runners is a big plus for me.

As a third party service provider you could still host and/or modify those CI runners for specific tasks like node, go, etc.

<comment><USER7> Thanks tiplus!

And to give some additional background to dominotw's question. We didn't like the options for CI on-premises. And by integrating it directly into GitLab it is very easy set up a new project, encouraging people to use CI on more projects.

Having people use GitLab CI will mean GitLab is a less attractive platform for other CI products. We do have a good commit status API since GitLab 8.1 and there is a great Jenkins plugin that supports that [http://doc.gitlab.com/ee/integration/jenkins.html](http://doc.gitlab.com/ee/integration/jenkins.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I especially like that they have added configuration options to the .gitlab- ci.yml. If I am not mistaken, this means your project can auto-deploy using an arbitrary build process. Here's what an example .gitlab-ci.yml looks like with a GitLab Pages build configuration: [https://gitlab.com/pages/pages.gitlab.io/blob/master/.gitlab...](https://gitlab.com/pages/pages.gitlab.io/blob/master/.gitlab- ci.yml)

A couple friends and I made something similar for GitHub Pages using Travis CI as our static deployment build-and-deploy host. For example, here's what our .travis.yml looks like: [https://github.com/L33T-KR3W/soundcasts- web/blob/master/.tra...](https://github.com/L33T-KR3W/soundcasts- web/blob/master/.travis.yml) and here is the actual deploy command that is being run to `git push` to GitHub Pages: [https://github.com/L33T-KR3W/soundcasts- web/blob/master/pack...](https://github.com/L33T-KR3W/soundcasts- web/blob/master/package.json#L15)

The GitLab approach is cleaner and requires less tooling. Nice work!

<comment><USER9> One of the big limitations of Jekyll + Github pages is you cannot use plugins..any plugins at all. If Gitlab's build process allowed for Jekyll plugins and custom domains, I may consider moving my pages there as well.

<comment><USER10> You can totally use Jekyll plugins since you can define any command in .gitlab-ci.yml. It's like running Jekyll locally.

And custom domain are supported as well. See the bottom of [https://pages.gitlab.io](https://pages.gitlab.io)

<comment><USER11> In fact, you don't even need to use Jekyll. You can use literally anything you want.

</comment></comment></comment></comment><comment><USER12> This is awesome. One question I have in comparison to GitHub Pages is if a global CDN is used and if there is effective DDOS protection built in. GitHub has to deal with regular DDOS attacks, and I imagine GitLab will have a few too. GitHub does a pretty good job with it, but before I move to GitLab Pages I'd like to understand that better but didn't see that info anywhere.

<comment><USER11> Right now, GitLab Pages is hosted on the same servers as GitLab.com, so it gets the same attention from our engineers in terms of reliability and uptime.

We're not using a global CDN, but this is something we will explore.

<comment><USER7> We're working on adding Cloudflare in front of GitLab Pages in [https://gitlab.com/gitlab- com/operations/issues/75](https://gitlab.com/gitlab-com/operations/issues/75)

We don't have a lot of experience yet with DDOS protection so there might be downtime as we learn that. As you can see in the issue we're working to implement protection before we need it but it might not be ready in time nor can it protect against everything.

<comment><USER13> Please do not use Cloudflare. Their 'protection' against privacy aware Tor users makes accessing sites through incredibly painful.

<comment><USER14> For what it's worth Cloudflare does not do anything different for Tor than for regular IPs. Since those are static pages with most likely not exactly questionable content the use of Tor is probably not all that important anyways that the total number of users that might be affected would be miniscule.

<comment><USER15> >the use of Tor is probably not all that important anyways

Who are you to decide that my use of Tor is not important enough?

<comment><USER16> A site operator. It isn't censorship for someone to decide who they want to talk to.

CF is simply giving site owners levers to use if they so choose. While I am a strong supporter of Tor, privacy, and anonymity, CF has done nothing wrong here by allowing site operators to selectively choose who they wish to serve to.

<comment><USER17> Sounds a lot like censorship to me. It's discrimination at the very least.

<comment><USER18> Spam filters are discrimination, but I don't see anyone suggesting we stop using those.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> This is great -- it has a killer feature that I think GitHub Pages is sorely missing (unless it exists and I'm just ignorant to the fact). Custom domains WITH SSL.

Right now I have my custom domain set up on GitHub, but it's not SSL. I would love to be able to do that.

<comment><USER20> Clourfare provides free SSL - just proxy through them.

<comment><USER21> There are several problems with it:

1\. the certificate is not generated by you (in the Free or the Pro plan) but by them and these certificates are for multiple domain names. So you end up _sharing_ your certificate with other domains / websites of dubious nature that are also on CloudFlare's network.

2\. CloudFlare only secures the connection between users and the CloudFlare network. It does not secure the connection between CloudFlare and your hosting service, unless your hosting service also supports TLS/SSL connections and you activate their Strict SSL option.

For the purposes of hosting a project website, secure connections are more important than ever due to the potential of external attackers, which could very well be a government institution, to infect distributed binaries or source code. Instances like XcodeGhost will become more common imho. And a secure connection between your user's browser and your hosting server is not 100% secure, but it's a good start. And towards that purpose CloudFlare Free in front of GitHub Pages isn't very good ;-)

<comment><USER16> Why is #1 an issue?

<comment><USER22> If a domain that you share your certificate with has their certificate revoked or is blacklisted for any reason this could have a negative impact on you.

<comment><USER23> It's a single certificate that never leaves CloudFlare's hands so revocation seems unlikely and they'd manage it for you if anything came up.

</comment></comment></comment></comment></comment></comment><comment><USER3> Gitlab is still super slow even compared to young projects like gogs. I know many ppl who shied away for gitlab due to its slowness.

If I was them, I would stop all copycat 'me too' features like ci/pages ect and put the resources to making it faster. This is a sign that their features are pritorized by business ppl who want to put features on their slides .

<comment><USER11> What is the latest version you have tried?

We've made a lot of changes to GitLab in the last number of releases that make GitLab a whole lot faster [0], but we recognize that the performance of GitLab.com can still improve quite a bit.

For low-memory machines, we do recommend people to use Gogs.

[0]: [https://about.gitlab.com/2016/02/22/gitlab-8-5-released/](https://about.gitlab.com/2016/02/22/gitlab-8-5-released/)

<comment><USER3> Wow nice improvements, i hadn't noticed this. Gitlab.com seems a lot snappier.

<comment><USER11> Good to hear! Let us know what we can improve.

</comment></comment></comment></comment><comment><USER24> I really like GitLab, we use it and they follow the business model I wish GitHub had. But as they become bigger and bigger I have to wonder how much longer until they start antagonizing GitHub with these feature clones, and who should have my support when that day comes.

<comment><USER25> I'd say that it's a pretty easy choice. Pick the open source one.

<comment><USER26> Only Gitlab CE is OSS, GitLab EE is "publicly viewable" but neither FOSS/OSS [1].

It's really a shame because I would pay good money to have GitLab EE under a FOSS license.

[1] [https://about.gitlab.com/license-faq/](https://about.gitlab.com/license- faq/)

<comment><USER4> Out of curiousity, would you consider GPL Affero sufficiently FOSS?

<comment><USER26> As long as we're talking about the GNU AGPL then absolutely! I would say that the original AGPL is sufficiently FOSS but it's GNU GPL incompatible which might be annoying. It's not necessarily a deal breaker though if it's handled well.

<comment><USER27> > As long as we're talking about the GNU AGPL then absolutely! I would say > that the original AGPL is sufficiently FOSS but it's GNU GPL incompatible > which might be annoying. It's not necessarily a deal breaker though if it's > handled well.

It's GPLv2 incompatible. GPLv3 has a special exception for the AGPL.

</comment></comment></comment></comment></comment></comment><comment><USER28> I was wondering if GitLab provides a Markdown editor that could be used by non-technical users directly from the web interface? Something like Prose[1], Dillinger[2] or StackEdit[3].

Of course you could argue if it's in scope for a project like GitLab, but it means that I could use static site generators for projects where non-technical users need to edit the content without ever thinking about a CMS.

Would be nice:

\- if it would also provide an easy upload/commit of images to some configurable directory from that Markdown editor;

\- configure a content-editor user that's restricted to a subset of directories;

\- allow the user to preview the full website without pushing to the live environment;

\- use a tag or branch to mark the version that can be pushed to the live environment.

It would probably be the most flexible CMS that's available right now.

[1] [https://prose.io/](https://prose.io/) [2] [http://dillinger.io/](http://dillinger.io/) [3] [https://stackedit.io/](https://stackedit.io/)

<comment><USER29> I'd like to have that too!

</comment></comment><comment><USER30> FYI for the GitLab guys: 404 pages are being served without a Content-Type header (e.g. [http://pages.gitlab.io/404/](http://pages.gitlab.io/404/) \-- shows HTML in plain text).

</comment><comment><USER31> Great start. The obvious missing feature is Let's Encrypt support. I would like to see hosting companies like GitLab implement HTTPS for 100% of their served pages, and Let's Encrypt is a key enabling technology to do so.

<comment><USER11> This is a great idea.

I believe we've looked into this before, but I couldn't find anything, so I've created an issue[0].

[0]: [https://gitlab.com/gitlab-org/gitlab- ce/issues/14926](https://gitlab.com/gitlab-org/gitlab-ce/issues/14926)

edit:

Found the original issue:

[https://gitlab.com/gitlab-org/omnibus- gitlab/issues/1096](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1096)

</comment></comment><comment><USER32> This is great news, Gitlab really is coming along very, very fast. Does it say anything about where the sites are going to be hosted? Are they using AWS underneath or something? It's curious timing since literally just the other day I moved my Hugo site to Bitbucket + Aerobatics. But since I have all my other stuff on Gitlab already, it'd be kinda convenient.

<comment><USER33> I believe they are using Azure underneath, but someone from the gitlab team should probably confirm.

<comment><USER11> GitLab.com is running on Azure, so are GitLab Pages.

</comment></comment></comment><comment><USER34> The custom runners and the ability to view the results of a build are killer features. I really hate GitHub's cryptic "something went wrong" emails.

<comment><USER11> Glad to hear you like this model!

We want you to be able to run anything. Any static site generator, any kind of script. Using our own CI seemed to make sense.

</comment></comment><comment><USER35> Just want to shout out that you can actually get HTTPS on your custom domained Github Page now with Kloudsec[1]. We actually built a dedicated onboarding tool for this: [https://kloudsec.com/github- pages](https://kloudsec.com/github-pages)

[1] Kloudsec is a CDN for programmers

<comment><USER36> Is the connection between your servers and the GitHub Pages servers unencrypted?

<comment><USER37> Yeah, Kloudsec is being disingenuous here.

</comment></comment></comment><comment><USER38> Two questions: 1. Does this work with private repos? 2. Are there traffic limits? (use case e.g. when I reach a HN Top 10 ;)

<comment><USER11> 1\. Yes, you can use Pages with private projects

2\. No, there are no traffic limits.

<comment><USER39> Very nice!

Suggestion: if you use a CDN or other methods to improve the performance make sure to point it out in the landing page.

Keep up the good job.

<comment><USER11> Thanks, we're trying to do a better job communicating everything we have and can do and will definitely do so in this case!

</comment></comment></comment></comment><comment><USER40> My only issue with Gitlab is that the entire product initially started off as a completely ripoff of Github.

Considering what Github does for the open source community in general, that somewhat bothers me.

<comment><USER41> One of the founding principles of open source is that you can take a copy of someone's work and make changes to it (as long as you continue to make the changes public).

Github isn't open source so the analogy doesn't quite hold, but they're creating something and giving it to the community (as well as building a business).

<comment><USER42> > One of the founding principles of open source is that you can take a copy of > someone's work and make changes to it (as long as you continue to make the > changes public)

Also as long as you acknowledge it. It's acceptable to copy a FOSS project and make a new one on top of it but you have to mention it; you can't just create a copycat and claim you invented everything by yourself, especially if you start making money off it (well some licences let you do that but that's not ethical).

<comment><USER43> The guys at GitLab are usually quite open about this sort of thing (having copied this and that, etc). I don't think they've ever claimed to have invented anything they have not.

<comment><USER7> We indeed try to be open about it. Let us know if we should improve the attribution somewhere, in this thread we already made a fix in [https://news.ycombinator.com/item?id=11432400](https://news.ycombinator.com/item?id=11432400)

</comment></comment></comment></comment></comment><comment><USER44> Congrats on new major feature. One thing I'd like to see developed further is support for per-branch pages. Right now it looks like you could jerryrig a build script that builds each branch in its own subdirectory, but that sounds bit suboptimal considering that any commit will trigger full rebuild of all branches.

<comment><USER11> Can you elaborate a bit more? Because you are able to restrict builds to certain branches.

Why not have multiple projects in your case?

<comment><USER44> For example if you have version branches like v1.3 and v1.4 etc, you'd want to have docs built for each branch and publish them like myproject.gitlab.com/v1.3/... etc

</comment></comment></comment><comment><USER45> I think GitLab overtook GitHub about UI.

<comment><USER4> <3

</comment></comment><comment><USER46> Sad to see it's only available self-hosted on GitLab EE. I would _love_ to see this on CE.

</comment><comment><USER47> Nice! Finally a good documentation for GitLab pages. This was literally the only missing feature( _) that made me keep a GitHub account.

(_) and by missing feature I mean "I never thought it was as good as GH product."

<comment><USER7> Glad you're able to completely move to GitLab now.

</comment></comment><comment><USER48> Still looks like GitLab EE only :(

<comment><USER11> GitLab.com runs GitLab EE, which you can use for free.

<comment><USER49> This is a moot point to anyone running GitLab CE though.

<comment><USER11> I was a little short in my reply, my apologies.

Sytse explained our vision below [0]. We're always open to discuss this further.

[0]: [https://news.ycombinator.com/item?id=11432614](https://news.ycombinator.com/item?id=11432614)

</comment></comment></comment></comment><comment><USER50> > GitLab Runners do not offer secure isolation between projects that they do > builds for. You are TRUSTING all GitLab users who can push code to project > A, B or C to run shell scripts on the machine hosting runner X.

Not sure this sounds like the best idea.

<comment><USER10> Well, there is an issue for that[0]. Also, as of today[1], all shared Runners on GitLab.com are each on their own VM inside Docker containers, so that message does not apply for sure.

[0] [https://gitlab.com/gitlab-org/gitlab- ce/issues/14732](https://gitlab.com/gitlab-org/gitlab-ce/issues/14732) [1] [https://about.gitlab.com/2016/04/05/shared- runners/](https://about.gitlab.com/2016/04/05/shared-runners/)

<comment><USER50> Exactly what I thought, so that message should probably be updated?

</comment></comment></comment><comment><USER51> I a huge fan of Gitlab and have seen them grow since when I started using them. This is a great new set of features. Looking forward to trying this out!

<comment><USER11> Great to hear! Let us know how it worked out for you.

</comment></comment><comment><USER52> Nice! I love Gitlab, use it for all my personal stuff currently and wish I could use it for more! sytse and team, thanks for the great product.

<comment><USER7> Thanks! Please let us know what we can do to have you use it for work too.

</comment></comment><comment><USER53> Nice! Very happy to see the ability to integrate with Doxygen for automatic documentation generation from source code :)

</comment><comment><USER54> Git + Gitlab CI + gerrit. Working awesome for us.

</comment><comment><USER55> Awesome. Gitlab is following Github well.

</comment><comment><USER56> I really love using gitlab.

</comment><comment><USER57> Must be nice that your entire roadmap is written for you =) no shame in straight up copies.

</comment><comment><USER58> Yes. I lobbied several companies to terminate their enterpise contracts with github because of their racist attitudes. All switched within 2 weeks. Some to VS Team Services, some to Gitlab. My work projects went to MSFT, but I think I will transfer my side projects to gitlab from bitbucket, since they have pages now.

<comment><USER25> Racist attitudes? Interesting - not sure what you're talking about. Could you link a source?

<comment><USER59> Their new 'social impact team' isn't a fan of white people

[https://twitter.com/_danilo/status/690601512813367297](https://twitter.com/_danilo/status/690601512813367297)

[http://www.breitbart.com/tech/2016/02/08/report-anti- white-a...](http://www.breitbart.com/tech/2016/02/08/report-anti-white-agenda- revealed-at-githubs-diversity-team/)

<comment><USER60> Wow, that tweet is blatantly racist. I'm somewhat surprised that this wasn't made into a bigger deal. Or, if it was, that I somehow missed it.

</comment></comment></comment></comment><comment><USER61> Well, now if only I can change the max-age of some resources (images, css, js) it'll get better than github.

Good job!

<comment><USER11> Can you elaborate and / or create an issue here [0]?

[0]: [https://gitlab.com/gitlab-org/gitlab- ce/issues/new](https://gitlab.com/gitlab-org/gitlab-ce/issues/new)

<comment><USER62> FYI, that 404's if you aren't logged in.

</comment></comment></comment><comment><USER63> That first headline should really read "What ARE gitlab pages", rather than "What is gitlab pages". Surely?

<comment><USER10> It's referring to the feature, so it should be singular.

<comment><USER64> Notably, the name is capitalized, as a proper name should be: "What is GitLab Pages?".

</comment></comment></comment><comment><USER65> I would so switch to using Gitlab if my username was available. I'm `echelon` here, on Twitter, on Gmail, on Github... I was so disappointed to be `echelon1`.

Is there any means to claim a username if it isn't in use?

<comment><USER66> Same. I'm @kel on github and twitter but that's taken on here and gitlab. I emailed to ask since it was just being squatted on but gitlab told me no.

<comment><USER65> Wow. Well, if that's the case I'll never be using Gitlab then. :(

I'd pay money to have my username, too.

<comment><USER11> Unfortunately, you won't be able to claim a username that is already taken. That would be unfair to other users.

GitLab.com is growing fast, but most people should be able to still claim their username.

Of course, you always have the option to run your own instance relatively easily [0].

[0]: [https://about.gitlab.com/downloads/](https://about.gitlab.com/downloads/)

<comment><USER67> GitHub has a policy of releasing _dormant_ usernames, will GitLab do that?

<comment><USER11> We have currently no plans, but happy to discuss it [0].

[0]: [https://gitlab.com/gitlab-org/gitlab- ce/issues/14932](https://gitlab.com/gitlab-org/gitlab-ce/issues/14932)

<comment><USER68> Would love to be able to use my GitHub username on GitLab as well. Currently occupied by a dormant user with zero activity over the last 10 months, no repos except a fork of GitLab CE and no added commits to it. Of course I don't know if he has private repos or not.

<comment><USER11> We're considering adopting the same policy, see the issue linked above.

<comment><USER65> That would be amazing.

(I'm not sure why I got downvoted into oblivion. I stated my honest opinion--I haven't signed up for a lot of services where I can't use the username I want.)

<comment><USER69> I can't speak for anyone else, but it seems exceptionally ridiculous to me that you'd make a choice of which technology to use based on whether or not your username is available. I don't know if I'd downvote anyone for that, but it did inspire a laugh out loud moment.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER70> If you are doing a FOSS project not hosted on GitLab, you could also host your project website on [http://statichosting.co/](http://statichosting.co/) for $5 a month.

<comment><USER71> Static hosting for $5 a month seems too high. If it would be $1 I might use it. But for $10 a month you can get a good VPS that you can use for any hosting needs (including a gitlab/gogs/whatever instance and a demo of your project (if it's on the web)).

<comment><USER70> I agree, perhaps the price isn't perfect, but $5/month buys you not having to manage the server, configure nginx for your domain, easy site upload, etc.</comment></comment></comment>


Preliminary PostgreSQL 10 release notes - <AUTHOR> https://www.postgresql.org/docs/devel/static/release-10.html <comment><USER2> These are indeed very preliminary. Missing items, inaccurate items, ... For now they're primarily interesting for people that want to improve the notes, rather than for people interested in the new release.</comment>


NSA "precomputed contact chaining" enhances phone-record tracking program - <AUTHOR> https://www.wired.com/story/inside-the-nsas-secret-tool-for-mapping-your-social-network/ <comment><USER2> Some countries are also collecting physical location data from telecom companies, for the claimed purpose of contact chaining-tracing-matrix-graph- network analysis:

[https://www.eff.org/deeplinks/2020/05/global-contact- tracing...](https://www.eff.org/deeplinks/2020/05/global-contact-tracing- international-proposals-track-covid-19)

 _> Despite the lack of evidence to show the effectiveness of location data to stop the spread of the virus, a number of countries' governments have used the crisis to introduce completely new surveillance powers or extend old ones to new COVID-related purposes._

Some US states will use smartphones for opt-in contact tracing using iOS 13.5+ and Android 6.0+, [https://9to5mac.com/2020/05/21/covid-19-exposure- notificatio...](https://9to5mac.com/2020/05/21/covid-19-exposure-notification- api-states/amp/)

 _> Alabama, South Carolina, and North Dakota are among the first U.S. states to express interest in Apple and Google's Exposure Notifications API for assisting COVID-19 contact tracing._

It is not yet understood if/how state health contact databases will be combined with other county, state or federal databases, but Palantir manages multiple databases and is involved in both US and UK Covid-related data fusion projects, [https://techcrunch.com/2020/05/20/palantir-covid-19-va- contr...](https://techcrunch.com/2020/05/20/palantir-covid-19-va-contract/) & [https://tech.newstatesman.com/coronavirus/palantir- covid19-d...](https://tech.newstatesman.com/coronavirus/palantir- covid19-datastore-coronavirus)

<comment><USER3> Apple and google's system apparently doesn't store location information. Actually it's getting pushback from health people because it doesn't collect data.

<comment><USER2> It can be used to derive phone/human proximity data, which can be cross- referenced with other metadata.

<comment><USER4> It can't be because the database does not exist: it is sharded onto each individual phone

The server only has a list of random identifiers from those who have tested positive for COVID. An exposure notification is determined when a phone downloads that list and correlates it with its local list.

<comment><USER2> _> when a phone downloads that list_

 _After_ exposure, a time-bounded (?) graph of proximity contact data can join the central list, via the state health app using the local data. This can be cross-referenced with other metadata.

Once a human contact tracer establishes communication with the owner of a phone's random identifier, the identifier can be de-anonymized.

Even without the new APIs, each phone's location can be collected and shared by telcos, at the granularity of cell tower triangulation.

</comment></comment></comment></comment></comment><comment><USER5> Old hat. Phone records are almost an anachronism.

Current theory isn't about missing connections between people. With social networks big and small, everyone can be connected to everyone else. Thanks to twitter I'd bet the US president isn't more than a hop or two from every terrorist suspect on the planet. (Not trying to be political, making a point about connected people.)

So the existence of "links" no longer matter as there are links between everyone. What matters is the quality and content of those links. It starts with bi-directionality. Sure, the president's twitter feed is read by terrorists but do they also speak back to him? Then does he reply? That back- and-forth would represent a higher-order of connection. Are they speaking publicly? How many people are in on these conversations? A private conversation matters more than a public back-and-forth twitter war.

A machine mining a database for raw connections isn't useful. To judge the quality of connections you really do need a human mind capable of making a judgement call. They need to put the connection into context. Or, since it's all encrypted and they cannot do that anymore, everyone is linked to everyone. A warrant can be got for anyone anywhere. Send in the killbots when and where the boss wants.

<comment><USER6> Everything being discussed in the context of leaks is by definition in the past. Use them to inform your understanding of the NSA mindset, not your understanding of current events. "Phone" is just an obsolete pre-2010s term here for the exact kind of pattern analysis you're describing.

I dislike the premise behind "it's all encrypted and we cannot do that anymore" since we have no idea what capabilities an agency like NSA has now or could have in the future. If their capabilities grow perhaps they can replay all that saved encrypted data from their Utah Data Center and throw it into AI for analysis. Why do you assume a human has to be involved in the judgement process for it to be taking place?

<comment><USER5> >> Why do you assume a human has to be involved in the judgement process for it to be taking place?

I don't. A human is not necessary to the process. A human is necessary for the process _to be done well_. And if the NSA has broken its own encryption, to the extent that it can read past traffic, call the IMU because there are some Field's medals that need handing out.

<comment><USER7> >Field's medals

The UK equivalent of the NSA invented both RSA encryption and DH key exchange years before any of Diffie, Hellman, Rivest, Shamir, or Adleman did their work. No Fields medal per se, but two Turing awards...

I think the odds that the largest employer of mathematicians in the world is secretly sitting on ground breaking fundamental math is pretty high.

</comment></comment></comment></comment><comment><USER6> "The agency collected "only metadata," it said, not the content of telephone calls."

Relevant: "Using Metadata to find Paul Revere" (2013) [https://news.ycombinator.com/item?id=23276083](https://news.ycombinator.com/item?id=23276083)

<comment><USER8> "We Kill People Based on Metadata", General Michael Hayden, former director of the NSA and the CIA.

[https://www.nybooks.com/daily/2014/05/10/we-kill-people- base...](https://www.nybooks.com/daily/2014/05/10/we-kill-people-based- metadata/)

</comment></comment><comment><USER9> At what point do we assert what we have known for years; that aggregted metadata is by its nature unethically privacy-invasive, and detrimental to human rights?

</comment><comment><USER10> >> "Cheney ordered that Stellarwind be concealed from the judges of the FISA Court and from members of the intelligence committees in Congress."

(a) Anyone able to expand on the author's source for this; (b) what if any US legal guidance at the time enabled this; (c) and if anything between now and then has changed legally.

<comment><USER11> Essentially the White House can do anything it wants by asking the White House Counsel to make up a legal opinion supporting whatever the President or VP want to do.

Then the onus is on people outside that circle to learn, investigate and prosecute, which could take years, or never.

Sounds bizarre, but it's a real thing:

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

<comment><USER10> Neither the contents of your comment, nor that of the document on Wikipedia appear to substantiate the claims you have made. Please cite any relevant documents, laws, etc - that support your claims as directly as possible; for example, document link, page number, subheading, paragraph, etc.

As is, your comment to me is worth less than having said nothing at all — as it requires time to read your comment, link, and the responses critical of it.

<comment><USER12> The issue is that the white house council can declare anything they want to be legal, and unless the supreme court has ruled on that issue specifically everyone involved has immunity from prosecution until the supreme court does rule on it. See how the council's torture memos played out [https://en.m.wikipedia.org/wiki/John_Yoo](https://en.m.wikipedia.org/wiki/John_Yoo)

<comment><USER10> Supreme Court has ruled on the executive branches limited legal authority, even during war time:

[https://en.m.wikipedia.org/wiki/Youngstown_Sheet_%26_Tube_Co...](https://en.m.wikipedia.org/wiki/Youngstown_Sheet_%26_Tube_Co._v._Sawyer)

That being, "The President did not have the inherent authority to seize private property in the absence of either specifically enumerated authority under Article Two of the Constitution or statutory authority conferred on him by Congress."

My rewording, "The President [does] not have the inherent authority to [do anything] in the absence of either specifically enumerated authority under Article Two of the Constitution or statutory authority conferred on [them] by Congress."

<comment><USER12> I don't disagree that legally the authority of the president is limited. But in practice the president can order and see executed the torture of innocent people for years without any possibilty of justice for those victimized. This is because legally the president and anyone acting under his command are immune from prosecution if they acted according to legal guidance from the white house council and the supreme court hasn't specifically ruled that exact behavior illegal.

I guess my question for you if there is a difference between something being legal and something being illegal but those doing it are immune from prosecution.

<comment><USER10> >> "legally the president and anyone acting under his command are immune from prosecution if they acted according to legal guidance from the white house council"

Source? As far as I am able to tell, this is false; as in it is not that they are immune from prosecution, but that prosecution has never occurred.

Clearly, if war crimes were ever brought, regardless of the laws, commands, etc - it would have not resulted in being immune from prosecution.

<comment><USER12> > Under recent Supreme Court law, however, we are compelled to conclude that, > _regardless of the legality_ of Padilla's detention and the wisdom of Yoo's > judgments, at the time he acted the law was not "sufficiently clear that > every reasonable official would have understood that what he [wa]s doing > violate[d]" the plaintiffs' rights. Ashcroft v. al-Kidd, ___ U.S. ___, 131 > S.Ct. 2074, 2083, 179 L.Ed.2d 1149 (2011) (internal quotation marks > omitted). We therefore hold that Yoo must be granted qualified immunity, and > accordingly reverse the decision of the district court.

[https://www.leagle.com/decision/infco20120502152.xml](https://www.leagle.com/decision/infco20120502152.xml)

<comment><USER13> That deals with immunity to civil liability, not immunity to criminal prosecution. There's no necessary relationship between them.

<comment><USER12> The president has the power to fire any federal prosecutor, there should be no expectation that any action he approves of will ever result in criminal prosecution. Civil liability is the only mechanism for holding those in the executive accountable besides impeachment. Many violations of rights are not criminally prosecutable anyways.

<comment><USER13> > The president has the power to fire any federal prosecutor, there should be > no expectation that any action he approves of will ever result in criminal > prosecution.

The President does _not_ have the power to fire federal prosecutors serving in subsequent administrations. It's true that you've provided the explanation for why (even without the DoJ opinion which currently prohibits filing charges against a sitting President) it is dubious that a President could effectively be held criminally accountable while in office.

After he leaves office, his only protection is relying on political concerns, or an anticipatory pardon.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Around that time (2013) I knew a European defense contractor was trying to build a triple store that could inject a trillion or so triples a day without purging any; they went to an RDF specialist and a columnar database pro and they said "are you kidding me?"

I told them that they were not.

See also Mark Lombardi an artist who died under mysterious circumstances after hanging meticulously designed linkages between folks like G Gordon Liddy, GHW Bush, Oliver North, A Kasshogi, BCCI inked by French curve in MOMA and many other art galleries.

<comment><USER15> > See also Mark Lombardi an artist who died under mysterious circumstances > after hanging meticulously designed linkages between folks like G Gordon > Liddy, GHW Bush, Oliver North, A Kasshogi, BCCI inked by French curve in > MOMA and many other art galleries.

I have no idea what you just said. What do you mean by "meticulously designed linkages between folks"?

<comment><USER15> > > [https://en.wikipedia.org/wiki/Mark_Lombardi](https://en.wikipedia.org/wiki/Mark_Lombardi)

Nevermind. Makes sense now; that was the weirdest sentence that turned out to make sense that I'd ever read.

</comment></comment></comment><comment><USER16> They should just stop.</comment>


CloudFlare vs Incapsula vs ModSecurity by Zero Science Lab  - <AUTHOR> http://www.slideshare.net/zeroscience/cloudflare-vs-incapsula-vs-modsecurity

<comment><USER2> Hi, I work for Incapsula. Yesterday we've addressed this study in our blog. [http://www.incapsula.com/the-incapsula- blog/item/699-incapsu...](http://www.incapsula.com/the-incapsula- blog/item/699-incapsula-pentested-review)

To make a long story short, this detailed report helped us introduce several patches to our WAF - but we feel that some of the issues were mostly theoretical and patching them can lead to security eroding false positives.

ModSecurity is a great security solutionand we are happy to be compared to it. We feel that we perhaps offer a more complete package (bot filtering, acceleration, user friendly GUI and easy setup, support, etc).

Still, you can't beat Free and if you are looking for OS security solution, ModSecurity is defiantly a name you should consider.

On a personal note, I wish that more vendors would take security a bit more seriously - especially if they claim to provide it to thousands of clients.

Web evolution is motivated by consumer trust and if we loose this trust we will also loose the cash flow that keeps Internet evolving.

Providing faulty security will do just that.</comment>


Crowdfunding campaign created to support Canadian teen accused in data breach - <AUTHOR> https://globalnews.ca/news/4152079/tech-industry-ns-data-breach/ <comment><AUTHOR> Related to this story from a couple days ago: [https://news.ycombinator.com/item?id=16853203](https://news.ycombinator.com/item?id=16853203)</comment>


Apple: No evidence of benzene in Mac Pros - <AUTHOR> http://www.macworld.com/article/135835/2008/10/macpro_benzene.html <comment><USER2> It does bring up an interesting point though - what would it take to produce a computer that consisted of no harmful materials / chemicals, etc.? A computer made up of only natural materials that could be easily recycled?

<comment><USER3> "Natural materials", eh? You could make the case out of wood, and insulate your wires with sap, but I'm afraid I can't think of a good natural source of n- and p-type doped silicon wafers.

Seriously though, modern semiconductor processing involves an awful lot of very nasty chemicals, you can't make a chip without 'em.

</comment></comment><comment><USER4> BUT A BLOG SAID SO!?!? Who are you going to trust? Citizen journalism or corporate PR machine that's poisoning you?!?

<comment><USER5> ahaha yeah! and a French blog at that!! silly tossers

<comment><USER6> omfg not only are they wrong - but 'French' too!

You might want to note that BNP Paribas, Societe Generale and Credit Agricole banks are all in rude health at the moment ... indeed BNP just acquired part of Bank of America.

Also note France didn't just blow all the family silver on flattening Iraq ... so will likely continue to have some of the best health care, schools and infrastructure in the world whilst less careful countries struggle to provide the most basic of services to their populations.

(I'm not French btw)

</comment></comment></comment><comment><USER7> FUD has won again.

Follow the breadcrumbs to redmond.

<comment><USER3> Why attribute to corporate malice what can easily be explained by individual stupidity?

<comment><USER8> Probably because like political party affiliation and sports fandom, OS choice has become a personal identity marker.</comment></comment></comment>


Apple event on Sept. 9th officially viewable on Windows 10 - <AUTHOR> http://www.apple.com/apple-events/september-2015/?at=1l3vamU&ct=05000m16p50q

<comment><USER2> So this place has 7000 seats and last years Apple Watch party venue had 2400. Who is getting invited that wasn't before?</comment>


The dedoublifier, part one - <AUTHOR> http://ericlippert.com/2015/11/30/the-dedoublifier-part-one/ <comment><USER2> I'm assuming he's going to use continued fractions to find the best rational approximation to a given floating-point number.

<comment><USER3> Your assumption is pretty good! I won't use continued fractions directly but the Stern-Brocot tree method can be understood in terms of continued fractions.

<comment><USER2> oh right -- mediants! I've never heard of Stern-Brocot but I know what it is.

Why not just use continued fractions directly? [https://en.wikipedia.org/wiki/Continued_fraction#Calculating...](https://en.wikipedia.org/wiki/Continued_fraction#Calculating_continued_fraction_representations)

e.g.

p = 3.141592653589793

      = 3 + 1 / 7.062513305931052

      = 3 + 1 / (7 + 1 / 15.996594406684103)

      = 3 + 1 / (7 + 1 / (15 + 1 / 1.0034172310150002))

      = 3 + 1 / (7 + 1 / (15 + 1 / (1 + 1/292.63459087501246)))

so the continued fraction coefficients are 3;7;15;1;292 (see [http://mathworld.wolfram.com/PiContinuedFraction.html](http://mathworld.wolfram.com/PiContinuedFraction.html) or [https://en.wikipedia.org/wiki/Continued_fraction#Continued_f...](https://en.wikipedia.org/wiki/Continued_fraction#Continued_fraction_expansions_of_.CF.80)) and can be converted to rationals at each step using the semiconvergent recursion formula [https://en.wikipedia.org/wiki/Continued_fraction#Semiconverg...](https://en.wikipedia.org/wiki/Continued_fraction#Semiconvergents) to get approximants 3/1, 22/7,

(3 + 15 * 22) / (1 + 15 * 7) = 333/106,

(22 + 1 * 333) / (7 + 1 * 106) = 355/113,

(333 + 292 * 355) / (106 + 292 * 113) = 103993/33102,

etc.</comment></comment></comment>


What happened to privacy? - <AUTHOR> http://www.abc.net.au/news/2016-10-24/linda-jaivin-privacy-and-its-discontents/7958882 <comment><AUTHOR> Also worth a listen is Linda Jaivin's three-part series on privacy and its discontents:

[http://www.abc.net.au/radionational/programs/earshot/feature...](http://www.abc.net.au/radionational/programs/earshot/features/nothing- to-hide/)</comment>


Ask HN: What skills for Google? - <AUTHOR>

I want to work for Google as a non software engineer capacity.
What are the most important skills/experiences?
What languages/tools should I be 100% with? (SQL, etc)
Curious, Reggie <comment><USER2> So, do you want to be a DB admin then?</comment>


Show HN: I built a visually progressive countdown app for my quarantine - <AUTHOR> https://fterh.github.io/quarantime/#eyJzdGFydFRpbWUiOiIyMDIwLTA2LTA3VDAyOjAwOjAwLjAwMFoiLCJlbmRUaW1lIjoiMjAyMC0wNi0yMVQwNDowMDowMC4wMDBaIn0= <comment><AUTHOR> Quarantine is really, really boring, and I wanted to count down to my last day with a way to visualize my progress. I didn't need event names, background images, or fancy functionality. I just wanted something stupidly easy to use that counted down with a visual progress indicator.

I couldn't find any website that had what I wanted, so I built my own.</comment>


Ask HN: April Fools Day - <AUTHOR>

Since we cannot expect much real news today, I would love to see what posts you have found that really piqued your interest. I would particularly be interested in seeing longer form articles that I could spend some time reading.
Here are a couple of my favorite reads to get this started:
http://www.wired.com/threatlevel/2011/07/how-digital-detectives-deciphered-stuxnet/
http://worrydream.com/LadderOfAbstraction/ <comment><USER2> The following paper/article is about 45 pages, and I _expect_ it to be good (not tinfoil hat stuff) due to the source. Since some of the academic paper paywall sites are already asking ten bucks for it, I was happy to find a legit copy online for free.

Harvard Law Review

The Dangers of Surveillance, by Neil M. Richards

<https://news.ycombinator.com/item?id=5472230>

Edit: Some more fun reading.

Swarm - A Cellular Programming Language (columbia.edu)

<https://news.ycombinator.com/item?id=5472485>

</comment><comment><USER3> <http://longform.org> always has interesting stuff to read.

They recently reposted Renata Adler's "A Court of No Appeal" from 2000. I thought it was a really interesting denouncement of the current practice of journalism (particularly directed at the New York Times).

[http://harpers.org/archive/2000/08/a-court-of-no- appeal/?sin...](http://harpers.org/archive/2000/08/a-court-of-no- appeal/?single=1)</comment>


NASA finds water reservoir equivalent to 140 trillion times the world's oceans - <AUTHOR> http://www.nasa.gov/topics/universe/features/universe20110722.html <comment><USER2> I understand NASA's PR team wants to make these headlines appealing to general audiences, and generate pageviews, but they're making the mistake of overpromising in the headline and underdelivering in the copy.

To normal people -- i.e. Not HackerNews readers -- read reservoir and think of a resource we can tap for our curren needs, a "reserve" of water. It's not that at all. NASA's PR team isn't doing their scientists any favors. It's not some egregious sin or anything but I'd have chosen a different headline altogether. Or maybe I'm just being a nitpicky former PR guy.

<comment><USER3> The title on HN ("NASA finds water reservoir equivalent to 140 trillion times the world's oceans") is not the title NASA uses on its article ("Astronomers Find Largest, Most Distant Reservoir of Water"). It appears to be have created by mashing together the first two sentences of the article - the first describes it as a reservoir, the second describes its size relative to the earth's oceans.

Don't blame NASA, blame the submitter.

<comment><USER4> I'd blame NASA for using the word "reservoir".

<comment><USER5> I really don't think the regular layperson is going to be confused into thinking we can tap into it as needed when _NASA_ describe it as the "Most Distant Reservoir of Water" right there in the headline, the first sentence of the article describes it as the "furthest reservoir of water", and the next explains it is "12 billion light-years away".

And even if this hypothetical layperson doesn't know how far a light-year is, 12 billion certainly gets across the point that it is an awful lot of them.

<comment><USER6> If we can't tap into it, then it certainly isn't a reservoir. For headline readers like myself, the choice of words is misleading.

<comment><USER7> Not sure why this comment is being downvoted. It's technically accurate. The definition of "reservoir" implies that a body of water is being collected or stored for later use. A reservoir need not be artificially constructed (i.e., a well or drainage pool), but in order to be a "reservoir," it needs to be put to use or accessible for use.

I am not a PR person myself, but I think the vast majority of laypeople who stumble across the headline "large, distant reservoir" would assume that the source is tappable. They might also ignore or not really understand the issue of the 12 billion light years -- or the inconvenience, to say the least, of the quasar nearby.

<comment><USER8> I actually think this was a good move by the PR. I think most people understand that space travel is in its newest form and by calling it a reservoir NASA is challenging science so that one day this distant water can become a practical reservoir.

<comment><USER4> Yes we just need to travel back in time to just after the beginning of the universe to use it. Oh, and it's also a long way away.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> And there goes Stephen Hawking's fearmongering about hostile aliens barbecuing us for our water.

<comment><USER10> Where did he write about that?

<comment><USER11> [http://www.millennium3.info/2010/04/26/stephen-hawking- says-...](http://www.millennium3.info/2010/04/26/stephen-hawking-says-alien- contact-a-bad-idea/)

[http://www.huffingtonpost.com/2010/04/25/stephen-hawking- ali...](http://www.huffingtonpost.com/2010/04/25/stephen-hawking- aliens_n_551035.html#s84595&title=Charlie_Rose_)

Edit: Okay ... I give up. I wasted a lot of time googling for an original source or a video where Hawking _actually_ said these things. My Google search skillz are off this early in the AM and I can't bear to see more ads associated with 1 minute clips. The story that humans should stop trying to contact aliens (attributed to Hawking) became quite popular a few years ago. I even recall someone from SETI saying how this is not what they are doing ... rather, they are merely listening for signals from intelligent life that may exist rather than attempting to initiate contact.

<comment><USER12> <http://news.ycombinator.com/item?id=1291969>

That's a HN submission with good comments, where he basically gives the plot of independence day.

I'm more worried about alien life forms due to the Great Filter problem, personally. Other life is bad news for our chances at a cosmic-proportion, galaxy-changing Singularity.

</comment></comment></comment></comment><comment><USER13> Based on the HN headline, I was hoping it was in the solar system, like they just discovered the asteroid belt contained far more water than they thought before... could be very useful for future space applications.

This is pretty cool too though.

<comment><USER14> A cloud containing 140 trillion times the amount of water in our oceans would be pretty hard to miss if it was in our solar system! In fact, it might be bigger than our solar system... Anyone care to do the quick estimate math? (I'm on an iPad, impractical...)

<comment><USER15> That would be a sphere of water with radius <0.25AU: [http://www.wolframalpha.com/input/?i=1.3+billion+cubic+kilom...](http://www.wolframalpha.com/input/?i=1.3+billion+cubic+kilometres+*+140+trillion)

(Ocean volume figure is from <http://en.wikipedia.org/wiki/Ocean> )

</comment></comment></comment><comment><USER16> Not as good as the giant cloud of alcohol [http://www.spacedaily.com/reports/Jodrell_Bank_Astronomers_S...](http://www.spacedaily.com/reports/Jodrell_Bank_Astronomers_Spy_Giant_Alcohol_Cloud.html)

<comment><USER17> I'm holding out for the giant cloud of beer.

</comment></comment><comment><USER18> _There's water vapor in the Milky Way, although the total amount is 4,000 times less than in the quasar, because most of the Milky Way's water is frozen in ice._

How could they possibly know this?

<comment><USER19> I am not an astronomer but I would guess they know this the same way they know what anything in distant space (that does not give off light of its own) is made-up of: they observe the light shining through it and see which part of the spectrum is/is not filtered by it.

<comment><USER20> aka empirical evidence, yes, that is the basis of science.

</comment></comment></comment><comment><USER21> isn't it also means there was that much water xx billion light years ago, it could be all gone now!

<comment><USER22> Nope. "Right now, over there" is a phrase which has no meaning on astronomical scales. There is no defined order for events which don't have a causal connection.

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

There exists a frame of reference in which the state that we see in that image takes place at the same time as we read about it today. There's another frame of reference where it happens billions of years ago, before the formation of the Earth; another in which it happens in our future, long after our Sun has evaporated into nothingness (Ed: There isn't actually, see below). All of these perspectives are literally, completely equally valid. They're all _real_.

There was a good discussion about this last time it came up here: <http://news.ycombinator.com/item?id=1907271>

<comment><USER23> Your parent's point was simple and practical, not bound up in relativity. Parent was merely observing that even though we see it (please do not launch off into a metaphysical discussion about "what is seeing"), if we were to go visit it, it could no longer be there for use to "use".

<comment><USER22> You seem to think I'm quibbling over pedantry. I want to make it clear I'm not talking about wacky theoretical physics here, let alone metaphysics— this is hard science. You can't avoid getting "bound up in it"; relativity _is_ , definitely is, how our world works.

In our universe, "It could all be gone by now" not only isn't _true_ , it doesn't even make logical sense. There is no one such thing as "now".

Now, "It could all be gone _by the time we get there_ " is a different, totally practical and valid statement. But that's just because of the amount of time it would take _us_ to cross that distance; it has nothing to do with the distance that light has already traveled.

<comment><USER23> I understand relativity is hard science.

While I agree you are not talking about wacky unproven theory, I am not sure I agree that you are not being a pedant. Your parent's assertion is most definitely plausible from the right frame of reference, and mainly written to elicit amusement, but you insist on getting bogged down in the details discussing how it is NOT plausible in other frames of reference, which is quite frankly, besides the point.

<comment><USER22> I guess I disagree it's beside the point. You say my parent's assertion is plausible from the right frame of reference— what frame of reference are you assuming my parent was referring to? Certainly not the one we're all in, where we can see there remains plenty of water.

I'm inferring you understood it as something like "a frame of reference which agrees with the theoretical frame of reference of a spaceship we launch today, at the time it arrives at the reservoir". That seems far from obvious to me— I find it much more likely that xhuang (like many other commenters on this article, I should add, not to mention the public at large) has been misled by pop-science into the thinking that something being twelve billion lightyears away means that right now, whatever we're seeing is _actually_ twelve billion years in the past.

But that's exactly wrong! There is no _actually_ , and what we see is as valid to call "right now" as anything else. And this is the universe we live in! Maybe I am a pedant, but this stuff is mind-bogglingly amazing when you can actually wrap your head around it, so I try not to miss out on a relativity teaching moment.

Anyhoot, _we_ obviously both get it, so I'll wait on xhuang to say whether my comment was relevant to his point or not.

<comment><USER24> I would take the frame of reference of an observer at the location of the water because that is your goal - it's what is meant by "over there".

Could you resolve the "right now" issue if you took a picture of the event to said observer, who then compared it to a history of images and then said "oh yeah, 5 minutes later it was all gone, never to return"?

These seem like a closer representation of what people mean when they say "it's all gone now."

<comment><USER22> See, you're making the same mistake— an observer at the location of the water _when_? You want to say "now", but _there is no such thing_. Taking a picture doesn't help the issue— you only wind up tangling yourself up in it.

This stuff was all figured out in the first place through thought experiments, so let's try one to demonstrate what I mean. Let's say there are two real events we can talk about here. Someone at the reservoir poses, the light takes twelve billion years to get here, and we snap a photo. Then say there's a second event, the draining of the reservoir, which happens (at the reservoir) one year from the time the person poses.

What we want to know is, has that event happened yet, even though we observe there to be water? So on your suggestion, as soon as we take the picture, I jump on the spaceship with a copy and fly over there at near to the speed of light. Twelve billion years after they posed, the person at the reservoir will look up and see me lift off from Earth, and then very soon after I will arrive carrying the picture to ask them about. (Of course I'll already have seen the event I want to ask them about, but set that aside for now.)

Okay, so here's the fun part. While I'm travelling there, at very near to the speed of light, _time stops_ for me, or very nearly. I perceive the journey to take a matter of hours, say. I arrive at the reservoir carrying a still-wet photograph to ask them about. They say, "Oh, yeah, that happened about twelve billion years ago— a year before we drained the reservoir, wasn't it?"

"Ah hah!" I exclaim. "I had a hunch the water was already gone when I left."

The reservoir people think I'm nuts. "We drained the reservoir almost twelve billion years ago. You only left Earth a couple of hours ago. Of _course_ the water was gone."*

This is true. From my perspective, I have just taken a picture, flown for a couple of hours, and the reservoir has been gone for billions of years. But, no matter. Bearing my prize, a notarized letter affirming that the picture depicts events one year prior the draining of the reservoir, I hop back in my spaceship and make for Earth. Again, a journey of twelve billion lightyears seems to take a manner of hours. On arrival, I disembark, waving the letter triumphantly.

"See? We were right! The water was gone a mere year after we took the picture."

"We know," says Earth. "We saw it happen one year after you left."

"...I haven't been gone for a year," I say with a sinking feeling in my gut.

"You've been gone for twenty-four billion years. We watched you leave, and one year later the water was gone. A couple of hours ago we saw you arrive at the reservoir, get the notarized letter, and lift off again; now you're here."

"No, no," I protest. "You only _think_ that just happened a couple of hours ago. It takes light twelve billion years to travel that far, it's ancient history by now. This letter is twelve billion years old."

Suddenly, it occurs to me that I am trying to argue that events that I personally witnessed a couple of hours ago are, in fact, ancient history. I am holding a still-drying photograph which Earth insists was taken twenty-four billion years ago, and they have twenty-four billion years of history to prove it; I am also holding a notarized letter which both I and the Earth have just seen signed mere hours ago, and saying that it is twelve billion years old. And yet I know that these objects are only hours apart in age.

I realize that if I flew back to the reservoir to get double-confirmation, hours later they would say that they had just seen me arguing with Earth, and they took my side, although according to their records the letter was actually notarized _twenty-four_ billion years ago and not twelve as I had been claiming. I realize that no matter how many trips I make, I will never be able to make it so that I, the Earth, and the reservoir people agree about the order of events.

"You know," I mention to the Earth, "I could have saved a lot of time if I had just read the Wikipedia article on the Relativity of Simultaneity, couldn't I."

"Yeah, probably," the Earth says. "Sorry about all your friends and stuff."

* cf. "a frame of reference which agrees with the theoretical frame of reference of a spaceship we launch today, at the time it arrives at the reservoir"

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> I don't know what to do with these numbers. I can relate to our ocean in some way, 2 times, 5 times, maybe 10 times the amount of water but higher numbers are too much for me.

They should just use liter instead.

<comment><USER26> Earth holds about 1.26x10^21 liters (source: [http://science.howstuffworks.com/environmental/earth/geophys...](http://science.howstuffworks.com/environmental/earth/geophysics/question157.htm)). So 140 trillion times that would be 1.764x10^35, or about _176 decillion liters_.

I don't know what to do with these numbers either.

<comment><USER27> Given that the difference between our calculations is a result of the margin of error in determining the Earth's ocean's volume, I wonder what the margin of error is for NASA's measurement.

</comment></comment></comment><comment><USER28> How the hell they found something that is xx billion light years away? Isn't that xx the amount of time that light (or whatever else) needs to get here so they can see/measure it?

<comment><USER29> Well, the light (well, x-rays, I think in this case) has been transiting space for billions of years, then astronomers collected it. Astronomers collect light that was produced billions of years ago every day.

Hope that helps!

<comment><USER30> In particular, this means that 12 billion years ago, there WAS a reservoir of water of such and such size.... :-)

<comment><USER31> Well, yes and no. See Cushman's comment, above, on the relativity of simultaneity.

In relativistic situations it really doesn't matter which verb tense you use. Verb tenses are not designed for this sort of thing.

</comment></comment></comment></comment><comment><USER32> If NASA is right about where there is water there is life, and or hydrogen drives, then if there are billions of FTL species maybe they would (lol) gravitate to a trillion planets worth of water.

"just saying that it might be a good place to look for more interesting communication signals."

</comment><comment><USER33> 12 billion light years away huh? hmmm

</comment><comment><USER34> Better get started on the pipeline. LA's residents are thirsty.

<comment><USER35> LA residents are sitting next to an ocean. If they want water, they should elect a government that will allow them to build desalination plants, as opposed to one which creates artificial scarcity.

</comment></comment><comment><USER36> That is insane.

</comment><comment><USER37> Good thing we cut their funding!

</comment><comment><USER38> Space is web-scale (how has no one else made this joke yet?)

<comment><USER39> I don't get it. (But I didn't downvote.)

</comment></comment><comment><USER40> I guess that rules out the plot of "V" ...

[https://secure.wikimedia.org/wikipedia/en/wiki/V_%281983_min...](https://secure.wikimedia.org/wikipedia/en/wiki/V_%281983_miniseries%29)</comment>


How to See What the Internet Knows About You - <AUTHOR> https://www.nytimes.com/2017/07/03/smarter-living/how-to-see-what-the-internet-knows-about-you.html <comment><USER2> These companies know "more about your life than you do", but yet the targeted ads continue to be pretty useless. The ad on this site was an Amazon ad for a pool filter I bought on Amazon about a week ago. It should know that I don't need these for like another year now. The other was for a cruise which I just got back from last week. Maybe some after-sun lotion or something vehicle related for the fact I drove 6 hours each way? The ads I always see just never seem that smart given the terabytes of data that everyone supposedly has on me. They really just seem to reflect my search history.

<comment><USER3> I'm asking for something even more basic from ad targeting: as a Canadian, with a Canadian IP address, don't advertise products/services to me that are US-only.

You'd think the web advertising industry would at least figure out how to _never_ show me an ad for Hulu or Blue Apron, seeing how those companies don't do business outside the US so the ROI on having me click that is zero.

<comment><USER4> Nobody from the US ever visits Canada? This is a good example of how the spotlight effect combines with confirmation bias to make advertising look awful. All algorithms like this are going to have false positive rates, if their most successful ads are the ones shown to Americans in Canada should they stop because sometimes Canadians see them and are annoyed by them?

<comment><USER5> It's doubtful that the most successful ads are ones specifically shown to Americans in Canada, and the number of Americans in Canada at any given time is probably very insignificant compared to the number of Canadians in Canada.

It really does seem like a boneheaded advertising strategy to market yourself to a consumer audience when the overwhelming majority of them can't pay for your products, and when it's presumably easy to screen that audience out by IP address.

</comment></comment></comment></comment><comment><USER6> I recently got tired of all the creepy targeted advertising, so I hit the nuclear option. Turned off all targeted ads on all social networks, cleared all cookies, all search histories, and installed the Disconnect Chrome extension. Also disabled all images in my email to stop those email trackers. I've always used an ad-blocker but I don't think that stops the data collection aspects of it.

I've always known this is happening and previously I didn't care because you figure if you are going to get advertised to, why not make it relevant, right? Well, it's more complex than that, here are the problems I have with this kind of data tracking:

1\. Data can we used against you in ways you might not understand or have considered. 2\. It's a waste of money and resources. Think of all the extra bandwidth, server space, human time, that is spent on just trying to sell people more shit. 3\. I don't like the idea of people making money off my data without my knowledge. 4\. Targeted ads might distract me and cause me to waste extra time online.

Bottom line -- I have a moral objection to the whole idea of it, and will do everything I can do stop it.

<comment><USER7> I tried it a couple years ago with Google and once targeted ads were off, I would get many ads about gay dating sites. Once I turned targeted ads on again, these ads disappeared.

<comment><USER8> I had a similar experience, but it was single women, and there was no way to ask Google to stop showing me those types of ads. At the very least allow me to block adult advertisements. Maybe it's on purpose...

<comment><USER9> With me it is retirement planning... I am in that age range. I've just taken to either switching javascript off or using one of those hosts files that blocks most stuff.

</comment></comment></comment></comment><comment><USER10> Michael Bazzell is an expert on (both sides of) Open Source Intelligence (OSINT: data collected from publicly available sources).

[https://www.amazon.com/Michael- Bazzell/e/B007GNUI92/](https://www.amazon.com/Michael-Bazzell/e/B007GNUI92/)

He maintains a virtual machine "pre-configured for online investigators" and a podcast.

[https://inteltechniques.com/buscador/index.html](https://inteltechniques.com/buscador/index.html)

<comment><USER11> Thank you. Never seen this before - just ordered one of his books.

</comment></comment><comment><USER12> >start with this neat and medium-scary site, which our friends at Gizmodo flagged, that shows you everything your browser knows about you the second you open it. (clickclickclick.click)

"Subject has entered the website. Subject has 4 cores..." followed by a bunch of notes about my mouse moving around, or me making the window inactive.

Hardly terrifying.

<comment><USER13> > Here's another one.

The second link that follows that one ([http://webkay.robinlinus.com/](http://webkay.robinlinus.com/)) really terrified me. I had no idea my private network hosts (192.168.X.X) or my private IP address could be scanned by a random webpage. Or the fact that the webpage could find out my laptop was charging with x% percent charge in real time, or the make and model of my machine and GPU. The geo location accuracy of my ip was also scarily accurate. All this when running in incognito with ad blockers. That is very close to being PII.

<comment><USER14> Thanks for this link, reminded me to install noscript on my Android/Firefox install!

<comment><USER15> no script's not very useful anymore for desktop, you need something like uMatrix for the modern web

<comment><USER13> I researched and installed uMatrix immediately, but (due respect to the creator) the application is so hard to use and broke several web pages. I also installed WebRTC Leak Prevent Tool that helped a little.

<comment><USER16> Disable all these preferences from firefox! [https://github.com/TheCreeper/PrivacyFox](https://github.com/TheCreeper/PrivacyFox)

Add: [https://github.com/straytachyon/dnsmasq_ad_block_script](https://github.com/straytachyon/dnsmasq_ad_block_script)

Add2: You can even block select corp: [https://github.com/jmdugan/blocklists](https://github.com/jmdugan/blocklists)

Add3: [https://news.ycombinator.com/item?id=11791052](https://news.ycombinator.com/item?id=11791052)

</comment></comment></comment></comment></comment></comment><comment><USER17> Have I been pwned[0] is missing from this list, and is an awesome tool to check whether some of your information have leaked in the past.

Passwords are, in my opinion, way more valuable than browser history.

[0]: [https://haveibeenpwned.com/](https://haveibeenpwned.com/)

<comment><USER18> Thanks for this site. I think the Snapchat breach finally explains why I've been getting so many scam phone calls in the past few years.

</comment></comment><comment><USER19> Is the issue ad targeting, or data collection?

For me it's the latter. This is what Google thinks I like: [http://imgur.com/a/g8Q7l](http://imgur.com/a/g8Q7l) \- reasonably accurate, and I don't care if it's public or used for targeting non-intrusive ads. I like those topics, I buy things, go ahead and show me your products.

My objection is over the data used to learn those interests. I don't want Google tracking my search and page views across the internet, I don't want my credit card company tracking my purchase history, and I certainly don't want my ISP/phone provider tracking my "metadata".

I feel like this article glossed over that aspect. Google's "Ad Personalization" page controls what Google uses, not what it knows. In this age of state, corporate, and foreign surveillance/hacking, I'm far more concerned about the latter.

</comment><comment><USER20> Why is targeted advertising acceptable? it is not ok for a seller to stalk potential buyers.

I get that everyone has accepted this as a "fact of life" but consider how TV advertising was done. The advertisement is tailored to the show you are watching and the time of day.

In other words, if I'm on a tech blog, advertise to me tech products, if I'm reading a cooking recipe, advertise kitchenware,grocery delivery and the like.

As a consumer, I am more likely to remember an advertised product if the AD is within the context of the web page I'm visiting.

Target pages not users! not even as precise as I mentioned above but statistical approximations can be made, much like with TV ads (for example, "ycombinator visitors are likely to buy artisnal cookware compared to people visiting nytimes" )

The problem at the end of the day is that users in general don't like to be tracked. some may sacrfice the privacy for the convenince but most will prefer if the sacrifice wasn't neccesary.

I think better advertising solutions are what is needed. It is unfortunate how much money is instead spent on technology to stalk users, as if using a complex computer system makes it more accpetable or ethical.

<comment><USER15> TV ads are overpriced garbage, spray and pray. YT is getting into the TV business to show you targeted ads. You clearly are unaware of the motivations of the ad industry and advertisers... we want to know everything about consumers, so the ad can hit them at the right moment in time and/or influence you to do our bidding.

The whole target pages, not people...that's the old way of advertising and the performance is garbage. It's better to find people, whenever they are on the web -- within reason -- whenever they may be exhibiting any sort of buying intent.

Block the ads, scripts and cookies etc., if you don't want to be tracked digitally. Ad targeting will only improve.

<comment><USER21> "so the ad can hit them at the right moment in time and/or influence you to do our bidding."

... yet they can't, not in a million years. And yet we sold our privacy so that they could barely attempt something.

</comment></comment></comment><comment><USER22> Anecdote: I'm having dinner last night with a couple at their house and I'm advising one of them about getting an appliance for her partner - so we browse some options on her cellphone together and find something suitable.

Perhaps 30 minutes later, her partner was on his cellphone and gets an ad for the same appliance, he let us know because it was something he had been wanting. They were both on the same IP address via the router. While they initially had a good laugh, it was supposed to be a surprise.

It really did annoy me and when I explained what was happening they found it equally amusing and frightening. I am pretty sure both of them went to bed that night worried that the other was going to be getting ads for things they might be looking at on the internet.

</comment><comment><USER23> Most of what the article complains about can be solved with an ad blocker. The rest by staying off of Facebook.

<comment><USER24> Staying off Facebook means committing social semi-suicide for a lot of people.

It's the primary channel for my local community, contacting local elected representatives, family members in distant places, and several sociopolitical communities of which I'm a part. For many people it's a necessity, and other channels like email etc. are far less efficient precisely because they don't leverage the networking effects.

This advise is like telling someone who's worried about toxins in their food to eat less of it.

<comment><USER25> > It's the primary channel for my local community, contacting local elected > representatives,

Which should be recognised as madness in itself. Hopefully you're mistaken, and it's merely one such channel.

<comment><USER24> 'Primary' implies at least a secondary, not a unity.

My local councilmember tends to respond within minutes or hours to community concerns raised through Facebook, vsa day or longer via email. Given the democratic nature of the position, being speedily accessible/accountable via social media seems entirely appropriate, not to mention efficient.

I don't like that the dominant social media platform is a privately owned commercial operation, but absent an accessible federated open source social media tool with significant network effects, that's what we've got.

<comment><USER25> Yes, I think Facebook being the primary channel - however many others there are - is mad.

</comment></comment></comment></comment></comment><comment><USER26> I generally consider targeted ads to be relatively harmless, with one major recent exception:

I'm starting to shop for an engagement ring, but since I live with my GF I have to do online research in Incognito mode so ads don't ruin what I hope to be a surprise someday.

File this under "things peeps didn't have to worry about 10-15 years ago"

<comment><USER25> Careful, 'incognito' mode doesn't store cookies, but it's not a VPN, or otherwise masking your IP address or location.

(Obviously, it also doesn't stop tracking based on being logged into a Google account either for example, but I assume you thought of that!)

</comment></comment><comment><USER27> This site also goes into a lot of detail about the digital tracks you leave online, and how to minimize them: [https://myshadow.org/](https://myshadow.org/)

</comment><comment><USER28>
      Please sign in to see what
      the internet knows about
      you.

Uh, actually, that's what I tell the internet about myself, for the most part.

It doesn't really impress me when I approach the internet and introduce myself by name. Of course the internet is going to remember me, if I permit my cookies and request parameters and IP address linger.

Much more interesting is when the internet makes my identity without my having volunteered anything.

Oh well.

</comment><comment><USER29> Adversaries only know what you let them. But this article does little more than rehash well-known clickbait. And it offers little useful coaching.

</comment><comment><USER30> " The ad on this site was an Amazon ad for a pool filter I bought on Amazon about a week ago. It should know that I don't need these for like another year now. The other was for a cruise which I just got back from last week. "

Advertising isn't just about what you really need, but also about what you will need more, or again, or earlier, because the commercial impressed the product need in your head. Neuromarketing is a science nowadays, and is pretty scary to me.

Some interesting content on the topic here. [http://www.neurosciencemarketing.com/blog/home](http://www.neurosciencemarketing.com/blog/home)

</comment><comment><USER31> It seems so strange to me that there is such an ever increasing push to get people to click ads when I can't tell you a single person I know that ever actually clicks one on purpose. If I see an ad for something I just search it instead because I don't trust ads..

Except for one time years ago when I saw an ad on my own site for a drawing tablet and getting my account suspended for cheating even though I actually bought the tablet. Decided then I'm never gonna do ads on any of my sites.

I think the advertisers care more about about manipulating companies to buy ads than actually increasing that companies sales.

<comment><USER32> I have clicked ads. A lot of people do- if they're relevant and right there we click them.

<comment><USER31> Oh yeah, I definitely know people do. There wouldn't be so much advertising out there if visitors didn't click them.

I'm just generally a little overly suspicious about ads because they can be 'phishy'. That and, like others have commented already, the ads i see are for things I recently bought so I have no need to buy them again soon.

</comment></comment></comment><comment><USER33> I find it interesting that the internet is talked about as a monolithic entity. Rather than as a bunch of different services and communities.

</comment><comment><USER34> Here's my "completely not ergonomic but entirely satisfying if silent protest is your thing" solution:

\- NoScript [0], First defence. Breaks 30% of sites, but you can selectively enable local scripts to ameliorate that.

\- Self-Destructing Cookies [1], We all need cookies for logging in to things and etc..., but once we've closed the tab, we shouldn't have to keep those cookies with us. This means you have to log-in more often, but I prefer that. Prevents people from seeing your email/facebook/etc... when you're still logged in.

\- uBlock Origin [2], You'll occasionally need to allow scripts you don't like because they're required for the proper presentation of the website. In those cases, you can depend on uBlock to get rid of awful trackers.

\- HTTPSEverywhere [3], Because snoopers aren't always outside your network.

\- DuckDuckGo as default search engine [4] and not-Google Chrome as your default browser, At the very least, you're not supporting the worst privacy offender on the net.

\- Non-ad-supported/privacy-oriented service. In the paid category (recommended), I suggest mailbox.org, due to their track record and founding principles. In the free(-ish) category, ProtonMail.ch and tutanota.com.

\- Clear Cookies/History on Browser Exit

\- Forbid Third-Party Cookies

\- And because I believe in magical faeries, DoNotTrack set to True

[0] [https://addons.mozilla.org/en- US/firefox/addon/noscript/?src...](https://addons.mozilla.org/en- US/firefox/addon/noscript/?src=search)

[1] [https://addons.mozilla.org/en-US/firefox/addon/self- destruct...](https://addons.mozilla.org/en-US/firefox/addon/self-destructing- cookies/?src=ss)

[2] [https://addons.mozilla.org/en-US/firefox/addon/ublock- origin...](https://addons.mozilla.org/en-US/firefox/addon/ublock- origin/?src=ss)

[3] [https://addons.mozilla.org/en-US/firefox/addon/https- everywh...](https://addons.mozilla.org/en-US/firefox/addon/https- everywhere/?src=ss)

[4] [https://duckduckgo.com](https://duckduckgo.com)

</comment><comment><USER35> Why is this on HN lol

<comment><USER36> We've banned this account for repeatedly violating the guidelines. We're happy to unban accounts if you email us at firstname.lastname@example.com and we believe you'll post civilly and substantively in the future.</comment></comment>


Microsoft demos muscle-computer interface, air Guitar Hero now a reality  - <AUTHOR> http://www.extremetech.com/extreme/133732-microsoft-demos-muscle-computer-interface-air-guitar-hero-now-a-reality <comment><USER2> All I can do it quote a 1980s era Doctor Who Cyberleader "Excellent!" (or maybe that is Bill and Ted), either way they are both apropos.

</comment><comment><USER3> It'll be interesting when this interface can be used to control a prosthetic hand.

</comment><comment><USER4> Combine this with Google Glass and you've got a killer portable computer.

</comment><comment><USER5> I really should have chased this further when I was looking into it 8 years ago. Is really easy tech, in principle. The sensors are cheap and easy to DIY and the signal analysis isn't too hard as long as you have the sensors aligned well, which is the major issue for making a generic device, really.</comment>


Master C++ Programming with Open-Source Books - <AUTHOR> https://www.ossblog.org/master-c-programming-with-open-source-books/ <comment><USER2> I have some C programming experience and I wanted to learn C++ so I bought and started reading Stoustrop's book, thinking it's the K&R of C++.

It's the worst programming book I have ever read! It's introduction made me hate C++ and if I didn't had to work with other C++ libraries, I would have avoided C++. The text is full of bloat, for the lack of better word. It's the opposite of crisp writing.

I read some good language books like K&R's C, Joe Armstrong's Erlang book. I loved them and I thought this would be in same league. It's not.

I would like to learn C++ systematically, like not cut-and-paste stuff. "How to think like a computer scientist: C++" seems like a good book. I read the book "How to think like a computer scientist", which is an introduction to programming in Python. I think that would be a good start. Is it a good book for experienced programmers wanting to learn C++?

To people wanting to learn C++, please avoid Stoustrop's book like Plague.

EDIT: I read "The C++ programming language 4th edition" which explains C++11 [https://en.wikipedia.org/wiki/The_C%2B%2B_Programming_Langua...](https://en.wikipedia.org/wiki/The_C%2B%2B_Programming_Language)

<comment><USER3> >thinking it's the K&R of C++.

You nailed it with that analogy though.

K&R is a "first book" and important historically, but right now it's an atrocious book if you want to learn current C and this has been the case for a long, long time.

Sometimes these first books don't withstand the test of time.

<comment><USER4> What's a good book for learning current C?

<comment><USER5> I can recommend "C Programming: A Modern Approach 2nd Ed."[1].

1 - [http://knking.com/books/c2/index.html](http://knking.com/books/c2/index.html)

<comment><USER6> Even though it was published in 2008?

<comment><USER5> Absolutely!

There's not a whole lot that's changed in C11, (C is kind of "done" at this point) and there's not been a newer book that teaches the language so well.

</comment></comment></comment></comment></comment></comment><comment><USER7> Some of of these books are not "open source" [0]. For example, "The Boost C++ Libraries" book clearly gives a non-commercial license [1] as does "How to Think Like a Computer Scientist" [2]. I haven't checked them all but a lot of look to be under a free license [3] [4], so maybe the majority of them are actually under an open source license.

        [0] https://en.wikipedia.org/wiki/Open-source_license
        [1] https://theboostcpplibraries.com/
        [2] http://greenteapress.com/thinkcpp/index.html
        [3] http://opendatastructures.org/ods-cpp/About_this_document.html
        [4] http://www.network-theory.co.uk/about.html

</comment><comment><USER8> The best place to master c++ is StackOverflow. Many people share knowledge accumulated from experience and they explain much better than Herb Sutter or any gray beard people in C++ community.

Another important thing, no matter how many books you read, you can't be a master without actually solving a lot of problems.

<comment><USER9> SO is a great resource but it's about as good a place to learn something as Wikipedia is to do serious research.

Questions from learners are often poorly formulated and then poorly answered. Since many people are just looking for getting their code to run or finishing their homework, this sort of stuff just piles up without getting fixed.

If you're trying to learn anything non-trivial, don't rely on SO alone.

<comment><USER10> SO launched a new feature recently called Documentation. Check out the C++ section [1]. Personally, I'm enjoying it a lot. I think they managed to find a very concise way of showing the basic grips of a language and some advanced ones. Most stuff are through examples, which I think works better when you're already familiar with the language, and just wants to do some specific thing. From time to time, I find myself on the page surfing through the C++ topics.

[1]: [http://stackoverflow.com/documentation/c%2b%2b/topics](http://stackoverflow.com/documentation/c%2b%2b/topics)

</comment></comment></comment><comment><USER11> I've just skimmed through "How to Think Like a Computer Scientist: C++" and I've got to say it seems like the best intro to programming and C++ I've ever seen. Definitely better than Bjarne's "Programming Principles in C++" and others.

<comment><USER12> Bjarns books are dire.

<comment><USER13> Programming Principles and Practice using C++ 2nd Edition (god what a horrible title to type) is a strange book. It has _a lot_ of great info in it but it is a _very_ hard read. The first 4 or 5 chapters are ok albeit too wordy. But then after that they seem to rocket up in difficultly. Not impossible but damn hard for a beginner.

</comment></comment></comment><comment><USER14> Can you ever really master C++? I've been at it more than 20 years and I'm still delighted to learn new things about the language and the library.

<comment><USER15> And that's the real problem with C++. You can spend 20 years solving real problems with it and still feel like a noob when you take a look at "idiomatic" template code from the standard headers.

On the other hand, people like Scott Meyers have spent their lifetime and careers explaining its intricacies, without solving any real problems.

<comment><USER16> Unless we are speaking of Go, all programming languages are like that.

Sometimes people think they know their favorite language, but most would fail a language puzzle quiz.

<comment><USER15> > Sometimes people think they know their favorite language, but most would > fail a language puzzle quiz.

But that is especially true for C++. People who are confident in knowing it often lack the fundamental C knowledge (i.e. pointer arithmetic, the complete C type system, the subtle conversion and promotion rules, etc.), but would insist on knowing C++ very well just because they know how to define classes, virtual functions and throw a shared_ptr or a vector or a map at every problem.

<comment><USER16> And most people that say that they know C and how simple the language is, cannot differentiate between their compiler extensions and what is written in ANSI C.

Nor can they correctly point out all the cases of expected semantics, UB and implementation specific behaviour.

Regarding the fundamental C knowledge, part of it just leads to bad C++ code.

</comment></comment></comment></comment></comment><comment><USER17> I have experience with Objective-C, C#, and Python and I'm currently learning C++ for a course in "Advanced C++" at university. I'm using "C++ Primer" by Lippman et al. and think it's quite nice. It might be a bit to basic, especially the first few chapters, but I kind of like the exercises in each chapter.

Have anyone read it and know how it compares to the books recommended in this article?

</comment><comment><USER18> The link to the "Open Data Structures (in C++)" book seems to be wrong. The book can be found at [http://opendatastructures.org/ods- cpp/](http://opendatastructures.org/ods-cpp/)

<comment><USER19> Further to the parent, though it moves away from C++, Pat also teaches an advanced data structures course for which the notes and assignments are available:

[http://cglab.ca/~morin/teaching/5408/](http://cglab.ca/~morin/teaching/5408/) [https://github.com/patmorin/tds](https://github.com/patmorin/tds)

</comment></comment><comment><USER20> do you have something more focused on c++11 changes ?

</comment><comment><USER21> Are these books suitable for beginners or more for an experience programmer looking to advance their skill?

</comment><comment><USER22> For absolute beginners, The Rooks Guide to C++ is out there. (It is mentioned on the article)

Open source at: [https://github.com/jeremyhansen/rooksguide- cplusplus](https://github.com/jeremyhansen/rooksguide-cplusplus)

Previously discussed at [https://news.ycombinator.com/item?id=6806598](https://news.ycombinator.com/item?id=6806598)

Full disclosure: I joined as a technical editor on the kickstarter just before publication.

</comment><comment><USER23> The best way to master C++, although perhaps not the most practical, is:

\- Build a time machine

\- Go back to 1988 and get hold of Bjarne's first book and a Zortech compiler

\- Grow old, tinkering with and constantly keeping tabs on the language's evolution.

In this way, what seems to the modern neophyte like a massive indigestible meal is actually presented as a procession of smaller courses, most of which are an improvement on the ones preceding.

</comment><comment><USER24> Are the two Qt books on the list really worth the effort, considering they cover old versions? The Qt 5 is already around for 4+ years.

</comment><comment><USER25> I didn't see Bruce Eckel's Thinking in C++; the PDF is free: [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html](http://mindview.net/Books/TICPP/ThinkingInCPP2e.html)

I thought Eckel's book was especially good for someone who already had a background in C.

<comment><USER26> Anything that hasn't been updated to take into account C++11 is going to do more of a disservice than be of help.

</comment></comment><comment><USER27> Has anyone else found it much more efficient to learn C++ (or any other programming language for that matter) using books like this one, YouTube videos, and help from forums than sitting in a classroom at a college?

</comment><comment><USER28> Thank you so much,

I have one question though, Is there any pdf version for "The Boost C++ Libraries"? I really need it.

<comment><USER29> I would consider using Chromium internal libraries as a boost equivalent.

Theres a lot of good stuff in there..

Just get: src/base, src/ipc, src/net (and something else you are interested in) and you are good to go

<comment><USER28> They are awesome as far I know too, but I don't know about their documentation status, Can I find my way out? Boost is very well documented and there is so much book about Boost, But I don't know about chromium internal lib .

<comment><USER29> Well.. First you can learn a lot from here:

[https://www.chromium.org/developers](https://www.chromium.org/developers)

Then, if you need more, you will have to do it the "hacker way", by reading the chromium source code.

But hey.. you are a C++ dev, source code should be your stack overflow, and primary source of "documentation".

hint: The unit test files, can make the "how to use this" much more obvious

</comment></comment></comment></comment><comment><USER30> Would someone care to ELI5 the differences in functionality between C, C+, C++, and C#?

<comment><USER31> C - Compiled language, imperative, pretty basic constructs (no OO, no GC), basically portable Assembly

C+ - No idea.

C++ - C with a bunch of stuff added on (mainly OO, other goodies too). Still no GC.

C# - not related to C at all. It's basically Microsoft's Java, with GC, OO, higher level constructs, lots of sugar, etc...

</comment></comment><comment><USER32> Try reading OSS C++ code and cross check it with C++ FAQ;

</comment><comment><USER33> I'd sooner master rust, which seems to have a lot of buzz around it. the world has needed a low-level prog-lang that's less painful than C/C++ for a while, rust may have enough merit to displace a lot of C/C++ dev - I just hope it gets well standardised, in such a way that C++ isn't.

<comment><USER34> C++ has an ISO standard. It doesn't get much more standardised.

<comment><USER33> It has a few standards, which is the problem.

Furthermore, I'm not just talking about the existence of a standard, but the _complexity_ of the standard (C++is v. big), and also how much that standard restricts, and hence results in conformal, predictable code.

<comment><USER35> > It has a few standards, which is the problem.

You mean C++03, C++11, C++14, C++17? Or something else?

If you mean those, I fail to see the problem. The language isn't dead, so it's not static, and it evolves over time. Publishing a new standard every few years is the only way to keep all compilers aligned, rather than each going off in its own "with extra features!" direction.

<comment><USER33> Yes, those. The differences between standards aren't trivial, and often the older standards have to be maintained.

The standard already has lots of features, including a turing-complete sub- language.

It is difficult to write code to standard (nothing that works, but is undefined either), that is safe, no segfaults, memory issue, secure, and all within a practical budget/timeline.

Just being able to reason about the code more easily helps, or make strong assumptions (e.g. about safety).

<comment><USER16> So?

Do you know by heart the differences between each Ruby, Python, C#, Perl ..... version?

<comment><USER33> You're reducing the argument here. qualitative arguments (true/false) over quantitative (to what degree).

Your argument is similar to: "Hitler is bad, but no one if perfect" \- does that mean than anyone not perfect is equivalent to Hitler?

Moving on; to focus on python it's not difficult to know the handful of changes between, say, python 2.5 and 2.7, nor to understand them. py3 is different, and the fork caused a lot of controversy, there is still resistance to py3. There is a python-2-to-python-3 tool (could any such thing practically exist between C++ versions?), but it's not perfect.

A language like Java almost suffers from trying to remain backwards compatible, yes a) the feature is nonetheless appreciated, and java is heavily used and praised in 'enterprise' b) Java tends to make breaking changes rarely, and only when necessary - can the changes between C++ specs be described the same?</comment></comment></comment></comment></comment></comment></comment>


The Coming Technological Singularity - <AUTHOR> http://www-rohan.sdsu.edu/faculty/vinge/misc/singularity.html <comment><USER2> it is interesting that the mind resorts to linearity on the edge of the recursive cosmos.</comment>


Ello is the doomed utopia we can't stop building - <AUTHOR> http://www.theverge.com/2014/9/30/6874727/ello-is-the-doomed-utopia-we-cant-stop-building

<comment><USER2> Ello has a truly awful UX, but the most interesting thing about it is that it's proving there's a market actively looking for an alternative to Facebook.

The question now is this- Can anyone fill that demand?</comment>