skysight-inc/HackerNews huggingface dataset:
There are a lot of poor or outdated answers to the question (arguing a lack of accelerated graphics, for example).

The number one reason current browsers are implemented in C++ is momentum. A browser has a lot of parts that do a lot of things; they're big code bases.

JIT compilation technology on the JVM (and elsewhere) these days is pulling within 20-50% of static C/C++ code.

If you were coding from scratch these days, would you start with C/C++? I doubt it, especially when you know you can get most of the same performance with other platforms.

By far the most important reason to choose a modern VM environment is security. Except in a vanishingly small number of cases, everything should always be bounds checked. The "native" part of a browser should be as small as possible, with a highly constrained and thoroughly checked API. Take away manual memory allocation and use after free goes away. Take away pointers and buffer overflows go away. You want as much of the browser code as possible to be running in a managed environment.

In my opinion every line of native code carries risks that don't exist in managed environments. Yes, properly written C code won't exhibit those problems -- but it seems to be extraordinarily difficult to do that. Security flaws are still being found in browsers, decades later.

And yes, security flaws exist in systems like the JVM. Those mostly come from native code as well, but some of them are because of the design. The JVM's "native part" is just too big. Too much is done there that doesn't need to be.

With a massive native code base it's just a huge problem to verify everything.

So Rust and Go are quite interesting. It's critically important that these languages remove "unsafe" features from something like C/C++, and lose almost nothing in the process.

And around the corner, environments like the JVM can auto-vectorize on the fly (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7116452), knocking down yet another performance-parity barrier.
>No crypto-system is truly secure unless BOTH sides can be trusted. If either one is even remotely possible to compromise, then that will happen.

Depends on what you want to keep secret and mean by secure. Homomorphic encryption (http://en.wikipedia.org/wiki/Homomorphic_computing) schemes work even when an end-point is untrusted. For example a game of mental poker (http://en.wikipedia.org/wiki/Mental_poker) each party/end-point is untrusted by it may still be a "secure" system.

Or consider "secure" to mean that your identity remains private if you so wish. One could certainly create a crypto system that binds an actor to an act without any end-points learning the identity of the actor, but still allowing the actor to take credit if they so wish.
U.S. Declassifies Documents About Surveillance Programs
Zmq-async - Threadsafe Clojure core.async interface to ZeroMQ
Can someone explain this to me like a 5 year old and how it interfaces with PRISM?
No one should expect Bezos to speak for all companies in -Amazon's- letter to the shareholder.

The problem with the stock market is that it is optimizing for a different thing than most companies, and even society at large. If the minimum holding period for an asset was, say, 20 years, the subprime mortgage crash would have been much less likely. (One could make a similar argument for democratic office. But I digress.)

Shareholder value theory induces a sort of hysterical myopia, where ideas and results are evaluated in these Q2Q or Y2Y window. Growth is only evaluated within the context of the company, which creates perverse incentives wrt externalizing costs. Furthermore, if growth initiatives require no additional external funding, then the public stock market -really- makes no sense, and that is likely the case for Blizzard and Dell.

Getting away from shareholder value theory's myopia is the surest way to begin a sustainable recovery of our capital markets.
Ok, so ignoring all moral/ethical issues with this. Wouldn't it just be awesome to work on a project like this? Unheard of funds, tons of data, interesting CS problems all around. I am sure they did everything possible to make it miserable on the developers but nonetheless... sounds fun from a completely detached CS perspective.
Doesn't that just offload the backdoor potential to the FPGA rather than a CPU?
Seconding your request!
> I believe this is more of a marketing play than actually improving the customer experience.

Isn't it fantastic when the two are aligned?
What Google autocomplete tells us of our worries (Spanish)
There's a small link to the repository in the meta line below each project description, next to the last modified date. It's hard to find. I was coming here to suggest that on package detail pages, the package name should link to the project repository, and not recursively to the detail page. That was my instinctual expectation.
Crackpot => unsupported by evidence.

Calling proprietary software evil is an opinion, and there are plenty of examples of evidence that proprietary software was created in ways that one could label as evil. Give it a while and there might be some revelation which will cause lots of people to go 'oh, that Stallman was such a visionary, calling proprietary software evil'.

Now on this particular aspect of Stallman's reasoning I find him hard to follow because that would mean a whole class of something is bad whereas I believe it should only apply to instances on a case-by-case basis. But I'm going to hedge my bets here and sit it out for the next decade or two (assuming I have that much time remaining) to see if he might not be on to something again that is still hard to see from where we are standing right now.

One way in which this could play out is that in order to avoid certain societal fates is to have nothing but open source for certain classes of application (for instance, voting computers, software in use by the government in general or software that is used to power network infrastructure).

Don't be too quick to judge, Stallman has been right more often than I'm comfortable with on some of his most 'extreme' views.
Google Nexus 7 Full HD has any body buy it?need your reviews
The relevant slide is inline in the article, under the first appearance of the string "facebook". It was apparently redacted by the gaurdian; see nwh's link to the archived page below.
>>I do think that providing multiple options where most languages have one option built-in is unnecessary cognitive load.

(I'll assume you're not a troll despite acknowledging that you talk about a subject you don't know.)

You are seriously arguing against flexibility and configurability of your programming environment? I guess you don't like Lisp either?

To answer your specific point, re OO system: Today the de-facto Perl OO system (Moose with relatives) is better than the alternatives among other scripting languages. Without language extensibility, that wouldn't have happened.

Exactly where the optimum is for sizes of std libs can and should be discussed. IMHO, after a few work years, a week or two extra to learn an environment is worth it when you get things like Moose. YMMV, but since you acknowledge that you don't know the environment, well...
Thanks for giving me additional reading material :)
"Alternatively, you can use it the other way. Connect the gear at left to a tectonic plate. Rest your finger on the gear at right. Voila! You can exert a force great enough to stop the tectonic plate's motion. Plausible?"

Nope, the question here would be whether the material used to construct the left gear withstand the force that a tectonic plate exerts given that the gear system will not allow it to move. I don't think the mechanics of the tectonic plate exerting force on our gear system and our gear system exerting force on the tectonic plate are symmetrical.
No apology necessary. We don't have as many amusing translations, but every year we do watch the Robin Sparkles Holiday Special on the CBC as a national tradition.
U.S. releases documents on phone surveillance programs
like this?

Gyro the Cube: https://www.youtube.com/watch?v=a5Zx02qAacA
A Vortex Tied in Knots: https://www.youtube.com/watch?v=Ja886GtHlcE
I didn't check your codebase (I just used the library for a few projects a while ago), so you don't have to answer. But if you want to enlighten others as well as me; am I right in thinking that you have a reader while reads the file and then have a 'decoding module' for every blob. So it would be rather straight forward to port from Ruby such a decoding part and plug it into your library?
We use Duo for various things around here. Love it. It's much more feature complete than Authy (which, unfortunately will not work for any of our use cases).

More importantly, the company is run by well know and respected security researchers (Dug Song and Jon Oberheide).
I know they can. But why?
Of course. And by the time I zoomed enough to make the tiny text a comfortable size, the slides had more than doubled in size... forcing the text (and slide controls) well below the fold. So now I have to keep scrolling up and down to read the text and see the slides. Not sure is Speakerdeck is just a crap resource or this guy just messed it up. Either way, this is a horrible presentation of thoughts.
I understand your point, but you fail to realize that comments like "why are you surprised?" induce a kind of digital bystander effect: they're essentially defusing moral outrage via social proof. If you read a comment like that, you may think to yourself, "well, this originally seemed like something worth loudly protesting, but if everyone already knows about it, then I guess it must not be that big of a deal." It has the effect of numbing outrage regardless of the outrage's merit, and I can't see how that's productive.

If you feel that the outrage is in fact without merit, then attack that on logical/rational grounds, not by appealing to social proof.
This is great. I love the use of CSS for masks on the urinals to show the pee.
What would it take to get Senator Paul on a committee like this?
Performance doesn't just include CPU time, but also memory footprint. You might eat a similar amount of processor time, but you're not going to have a similar memory footprint with any kind of GC'd language, and if the GC happens to be a stop the world GC, you're likely to see pauses in the browser that will irritate the user.

Before the inevitable "memory is cheap" argument is made, I'd rather have my client app be a good neighbor. Having a GC'd process on a client munch through memory like it's infinite is just bad manners and makes some bad assumptions. (On the flip side, a GC'd process that tries to be a good neighbor by freeing memory aggressively becomes a bad neighbor in terms of CPU time, which has additional consequences in terms of battery life.) The JVM, for example, tends to only run its GC when it needs to. It is a horrible neighbor in this respect because it just takes all the memory it needs and only runs its GC when it really, really has to. This is one of the reasons it's relatively fast, but as a consequence puts a lot of pressure on the system. In such a scenario it's possible other processes will OOM and be killed, or the system will start swapping memory pages, or other processes will have to run their GC more aggressively (as V8 does in low memory conditions) which puts even more pressure on the system. All this adds up to very selfish apps that bog down a system and can become virtually unusable. These selfish apps are also unsuitable for use in poorer parts of the world where incomes are lower and additional memory is potentially unaffordable.

I think it's probably okay to take the attitude that memory is cheap when you control the environment and you're paying for the memory, but in any other circumstance, shipping software that gluttonously gobbles memory is probably unacceptable and the #1 reason why C++ makes good sense as a language choice for writing a browser.
For a real world story on (not) interacting with Broadcom (and AMD, who don't make a very good impression in that story either), read Jens' second comment on http://review.coreboot.org/#/c/2463/ (Feb 21).

I'm just not sure if Intel's process is really better for small customers (but you probably end up in the "small" tier faster than with Broadcom)
Hockey stadiums/large outdoor stadiums; clubs were less severe.
> It's not his place to rule on it. Not even because "just following orders", but for starters, because nobody has challenged it.

Then he is still responsible for his role in it.

> By this logic, almost every motion to almost every court in a real case is a rubber stamp.

If you believe that, you haven't followed many cases. Motions gets denied extremely often. Not least because there is a general understanding that it is worth fighting them because they often get denied, but also unilaterally by the judge when the judge believes on party is going too far.

This is what is bizarre about the FISC and that makes it worthy of being called a rubber stamp. There's absolutely zero indication that they are providing anything remotely like oversight, other than making sure the paperwork has the right wording to let the judges wash their hands of the matter.
It's too awkward not to be a ripoff. I could see how "Bang Your Friends" would be coincidental, but "Bang With Friends" sounds like a turn of phrase an older person would use while awkwardly trying to appear "with it" to someone younger. That is, you don't "bang with [person]" - you just plain "bang [person]." Unless maybe you're talking about group sex - "I banged [person] with [person]." Though that's a different product entirely...
Indeed. and he didn't insult the inventor of algorithms either. Look, not all jokes involving females are insulting Ada Lovelace. Not all jokes about gay people are insults of Alan Turing. Not all jokes about a specific practice of muslims are insults to Muḥammad ibn Mūsā al-Khwārizmī.
How to improve the quality of your thinking
One of the slides [1] has the full message text for a Facebook message. If they have it for Facebook, I'd be surprised if they also don't have it for email.

[1] https://image.guim.co.uk/sys-images/Guardian/Pix/audio/video...
I haven't seen much serious talk here of abolishing copyright. I think the more relevant question is "How many of these works wouldn't have been created if copyright were limited to a shorter period as it was originally conceived and not extended to be perpetual in practical terms?"

The answer is "basically none", as referenced elsewhere in the discussion: http://rufuspollock.org/papers/optimal_copyright_term.pdf
This sounds like online counseling, not actual psychotherapy. But subjects were randomly assigned so shouldn't be any self-selection bias going on.
I think the heat expansion of bridges can be put to use to power an interesting gear system art installation at best :-)
> "But if you no longer own it (so, if you sell the painting, so to speak), then you aren't."

But that isn't IP. That's the creation of physical objects - and our understanding of it fairly nuanced and not very controversial. IP by definition cannot be "lost" by the creator, since it's about ideas and knowledge rather than their physical manifestations of said ideas.

A painter may "lose" a painting when they sell it, that's not the point under contention. The contention is, for example, if the painter should be compensated if the new owner replicates it and beings selling copies.

IP ownership cannot go by a "you no longer own it, it's fair game" state, because IP by definition cannot be meaningfully removed from one person and given to another.

See: music. I give you CD with my music on it - should I be compensated if you distribute copies of this music? Should I be compensated if you perform this composition on your own (i.e. a cover)? Who "owns" the music?
The benefit of an online listing is easy access to package descriptions and repositories. When there are multiple packages for a given task, I'd like to know which is more heavily updated and supported. Correct me if I'm wrong, but I don't believe there's a way to open the Github page from that menu.
"Neither COBOL, nor SQL, nor HyperCard, nor AppleScript, nor Inform, nor any other "human-friendly" language, ever served to allow anyone to express a clearly-defined thought they wouldn't have been able to express in a language with more "punctuation-y" syntax."

The chap on the next row of desks runs 300+ full time students (course success tracking, attendance, nett funding per student &c) on a fairly large Excel spreadsheet. He owns it. He knows it. His colleagues feel that they can edit the data for their students over the shared drive. Works for them.

In the UK the funding methodology for Skills for Life funding draw down is, shall we say, complex. Median funding is £3k per student, so 300+ of those is not far short of a million. The students in question are also subject to monitoring by three other agencies, with overlapping data requirements. The cost to produce an application that embodied the business logic for this edge case provision would, I imagine, be quite high.

It works for us. If it breaks, it can be fixed.
Most browsers are developed in C++ because for the timeframe in which the projects started, C++ was the performant answer
My only disappointment is that there's no option for a 64-bit Atom. Yes I know that would mean a 2GB option instead of 1GB would likely be required, but doing OS development is way easier on a 64-bit system.

Otherwise, this seems relatively spot on.
Meet Mr. Cellophane, the web developer
Maybe this is just me, but most of the comments sound like useful (yet harsh) feedback on basic usability issues.
Scanning radio waves is fairly cool in the first place. Most people really don't have a clue what's going on and it's fascinating. There's an plethora of various services and devices in this area of spectrum.

http://www.ntia.doc.gov/page/2011/united-states-frequency-al...

Some uses I would consider besides general scanning and exploration would be: amateur radio (multiple bands), NOAA weather stations and satellites, various aviation services, device monitoring and prototype assistance, etc....
It seems like every few months a democratic idealist looks around and realizes that nobody chooses democracy as a decision making method when they have the choice, and goes about making tools to try to fix this peculiar fact.

The reason why nations use democracy as a decision-making method is 1) it has populist appeal and 2) they have a lot of resources to waste on bad decisions. The intelligence of a decision goes down with the number of people involved, until we arrive at the ideal of universal suffrage.
I have "friends" (read: we mostly argue about this) who fit your description.

They will tell you that there are rules in place to prevent spying on Americans (and if you take a look at the Foreignness Factor screenshots, there is a sense in which this is true)

They will also tell you that the benefits outweigh the cost. Here we have a system that has allegedly caught 300 terrorists, and they would tell you that spying on foreign people to catch 300 terrorists is a good trade.

I disagree with them on both counts, but you asked what they would say.
> there would be no coherent thing for the button to do--even if it could read their thoughts--but to interrogate them for hours to get them to decide what they really want.

Which is funny, because that's almost exactly what Bret suggested as a better way for less-technical people to create information-display software in an essay from '06:

http://worrydream.com/MagicInk/#designing_a_design_tool

In short, to take examples given by the user and extrapolate them, letting the computer do the formalizing, and having it ask for clarification on unclear points.

The rest of the essay is absolutely worth a read, by the way.
Yup, I do exactly what you describe, for the exact reason you describe. I believe that if everyone did it then it would have an impact.
I just read the actual XKeyscore slide deck. Unlike a lot of leaks, these slides are totally worth a look-see:
http://www.theguardian.com/world/interactive/2013/jul/31/nsa...
Note that, in the UK, while you may use a bluetooth headset while driving, you are not allowed to even touch your phone - whether to update the satnav or whatever, especially not to hold it to your ear - without facing a driving citation.

Someone was also stopped (and given penalty points, which add up to a ban eventually) for driving with promotional writing on the windscreen (the sales rep, who was also in the car for the test drive, offered to take the points and was very nearly charged with perverting the course of justice for it.)

It is not surprising in the least to anyone who drives here that this would be the case - glass is a visual distraction while driving, which blocks your view of the road.
If bribes are available then spend it on the judge...

A kickstarter to pay off his judge is something I've not seen yet and is an interesting hack on the system.

Or if forbidden by kickstarter, a startup competitor to kickstarter could have bribery as its secret weapon.

Imagine getting every NRA or NOW or Sierra Club or EFF member to donate to pay bribes in the 3rd world to help some cause.
To everyone, I urge you to stop commenting on religion. With all the comments I read, says the OP is innocent and it's the religion at fault. You do not have the complete knowledge nor the right to just go on insulting other's religion.

The OP is smart enough to use the language and not show the link to the posting that has landed him into the trouble.

I do have sympathy for OP, but this discussion is going way on a different track. I also advice the HN admins to delete this post.
There's an issue on mobile support: https://code.google.com/p/go/issues/detail?id=4672 It looks like somebody is going to work on it.
> No regular court would deny motions either if every judge or staff attorney had time to talk to you about your motions ahead of time.

Yes, they would, because the interests of the parties, and the law, are often wildly at odds, and even when they know the judge will deny a motion, a party will often want to raise it because raising certain issues are important if you believe the judge is wrong and want to raise issues on appeal.

A court that does not deny motions is ridiculous on the face of it. It's pretty much unheard of outside of banana republic dictatorships.
Why assume that inter-datacenter links are not encypted?
If you need shared state to pass a lot of data between CPUs than erlang might not be a right solution; however the part that needs to do it can be isolated, implemented in C, and communicated with from BEAM.

What always amuses me about LMAX is the way they describe it (breakthrough! Invention!), while what they "invented" is a ring buffer and is the the solution everybody arrives to first. This is the way how all device drivers communicate with peripheral devices, for example; and fast IPC mechanism people used in UNIX for decades. Even more funny, that it takes less code to implement it in C from scratch than use LMAX library.
Go Public or Stay Private: Which AWS Network Address Should PaaS Users Use?
Garantia Data's new blog