skysight-inc/HackerNews huggingface dataset:
> There's no C/C++. They are entirely different languages (even if C is supposed to be a subset).

I think the OP is trying to say that both C and C++ have international standards.

> Not exactly suitable for mission critical systems. The fact that they are used for that is more due to the fact that they can interface with hardware at a fairly low level and the amount of engineers with C (and nowadays, C++) knowledge.

And highly deterministic behaviors, crucial in real time systems. But I think Rust is trying to provide those guarantees too.
Show HN: NES emulator with a real-time rewind feature that also reverses audio
Would you please send me a pdf of your thesis?
I've had the same thoughts myself and always come up with the same conclusion: educated engineers would make great terrorists!

Turns out after a quick Google search there are a plethora of articles titled "Why are so many terrorists engineers?"

I wonder if there are many more good terrorists engineers who just haven't been caught yet.
A technical question: If he had been using whole-disk encryption (for example a macbook pro with FileVault) would that have effectively prevented them from doing the forensic searches that they did?

Specifically would that have inoculated him in this instance, where they did a bit-for-bit copy of the HD and then returned the laptop to him?
They do have that, but I suspect this has more to do with ads than those customers. If it was about those customers, Verizon would be paying quite a lot for them.
I think the concern is that I have, for example, around sixty different spices on my spice rack. Do I stick a button behind each one? My cluttered cabinet with AA batteries, AAA batteries, CFLs, compressed air, WD40, several dozen other items? How about each item in my cluttered fridge?

I think the Amazon Fresh Direct concept mentioned elsewhere by mason55 makes a lot more sense. Stuck to the front of my fridge I want a little scanner--one on my fridge, one by my cabinet, one in my laundry room. Running something across the barcode scanner when it's low/empty is as easy as pressing a button, and doesn't mean I have to put a button on/beside every single item, especially ones that move around my disorganized shelves.
Most companies, yes. Google, no.

It's completely against their current models. They're basically telling advertisers: You know that product we were selling you, that made us billions of dollars together? We're not selling it to you anymore, but it's still making us money.
Really? With a Google™ in the name, too? What do you think is going to happen in the next two hours?

1) They'll take down your extension because you're violating their ToS and their trademark

2) The extension will already piss off their "partners", but they can't really say that's the reason they're taking it down, so good thing you provided them with option 1)!

I have nothing against the extension itself. I search for such headlines all the time in Google, too. I just think it's reckless to taunt Google like this and give them an excuse to shut it down on a silver platter.
Hm, it's working for me. Did you try letting it sit a moment? The server doesn't actually store the content, so it has to load a blank page first. Eventually, you should receive the actual page content from a peer (via the server, to verify that the content is correct).
The Pragmatic C++ Programmer
> I'm probably not capable of critically evaluating the arguments in a book

That, my friend, is a skill you can acquire and grow.

Since we're on the topic of popular science books, here's a reasonable read that can help you start improving:

http://www.amazon.com/Art-Thinking-Clearly-Rolf-Dobelli/dp/0...
And the HT stands for HyperText and M for Markup, neither of which is programming. If HTML was a programming language, the web wouldn't need JS to be programmed.
To me the answer is not gender neutral upbringing, but rather emphasizing that everyone has the dame potential to achieve and make the tools available to everyone.

Let's say instead of gender differences, we had people with different physics handicaps, we wouldn't pretend there aren't handicaps, ache same time we would not steer people but rather provide them all with the same opportunities and not encourage or discourage because of a particular handicap. Let the people, children, figure out what works and doesn't work for them, given their abilities and handicaps.

The biggest problem I see is people steering or lowlighting certain paths because of some preconceptions --a deaf person can't sing well, instead let them prove they can't sing, or that they can sing, regardless of hearing.
No, its called intellectual honesty, or integrity. To subscribe to someone else's value system and order your life according to their views is stupid.
C++ is impossible to validate formally.

Rust inherently guarantees static memory safety in many situations, on the other hand.
I posted on HN a while ago saying that there was no chance of this happening. Obviously it did and I was wrong, but I still don't think it's a big win for the conservatives.

Two or three things happened that undermined the competition and swung it imo;

1) SNP won big in Scotland

Although the SNP has pretty much pulled the policy sheet from labour and added a few Scotland specific things in, the vast majority of seats they took were from labour. Fears of the SNP deciding politics in Westminster also diminished labour support in England. For example, I vote labour but am pro-union so could never support the SNP directly or indirectly. Therefore I can't vote labour.

In a sense they were damaged by their own success, their whole plan was hinged on being the kingmaker for labour which actually instead of hooking onto labour support, actually cut labour support (drastically).

2) The crushing of libdems.

The lib dems lost 50 or so seats, a crushing defeat but a big loss was expected. The thing is, most of those seats flipped conservative, so we voted to punish libdems and the conservative party profited the most from it.

3) UKIP leveler

At the outset, Labour was set to be split by the SNP, and the conservatives split by UKIP. While the first happened (SNP won a lot of seats), the latter did not. UKIP did not make a lot of headway (for good reason probably). FPTP while it does have its flaws, does tend to keep "hated" parties out. Given the choice between conservative and UKIP most people vote conservative (tactically).

tl;dr scotland voted conservative, and we hated libdems more than tories
You have to be a little smart about C++. Avoid using anything dynamic (including exceptions, dynamic casting, etc).
> I mean, what's the idea, having a button for every single product we buy?

It's a button for every repeatable commodity buy you make. Most applicable use cases are: toilet paper, detergent, cleaning supplies, certain groceries. In other words, it eliminates pretty much all friction to ensuring that you're always stocked with those products. You're right to be skeptical, but even just reducing a small amount of friction to buying means better convenience for the consumer and more money for Amazon.
Additionally, even the microbenchmark barely supports it based upon the size of the error bars
Question for the data scientists out there: is it more straightforward to become a data scientist from a software engineering background or from a math background? Data science is a varied field, but from what I've heard a lot of the work is munging data (which is a fairly easy task for a skilled software person).

Also, I'm glad the author added the twitter endorsement to the article --I've been considering creating a twitter account, and the fact that the author found it so useful helps with my decision to devote time to creating an account.
niché is the past participle of Nicher, to nest.

https://xkcd.com/326/ ?
How to grow your freelance career with a time tracking tool
What, how is that at all different from any of the hugely profitable tech companies today? Apple, Facebook, Twitter, Uber, Airbnb, all of them operate closed platforms.
Note the translation is done by a company which makes C++ static analyzer for a living.

This might be the case of conflict of interest and/or heavy bias.
Should be titled "Shelling Out Sucks In Some Languages". Python gets this right with the subprocess module in stdlib, as the author points out at the very end.
So it's not so much that they intended to have a "first click free" policy in the first place but that they are forced to do an exception in order to remain in Google's index. That's interesting, I always wondered why didn't they apply the same policy to being linked in Reddit or HN.
Right, which is why a subset of C or C++ (like MISRA) is used for critical applications.
Find out how to specify a regex which will be used to validate incoming values
If you have an iPhone, the carrier has nothing to do with your updates.
TL;DR the implementation is currently slow and there's a lack of tooling.

No shit. C++ has been around for 30 years now.
Is the connector open source?
I have made my living as a C++ programmer for 20 years.... C++ is not going away any time soon, but Rust looks pretty cool... I see no reason to bash it.
Wow. He could also say that people are "indifferent" to poisoned food, as long as they can't taste the poison.
> Instead, code that shells out with programmatically constructed commands is typically riddled with potential bugs in the best case and massive security holes in the worst case.

This sentence sounds eerily similar to what we have with SQL Injection. Same concept: constructing raw commands for untrusted user input. The solution is equally simple: input validation (where possible), parameterized queries/shellescape.

The barriers to people shelling out securely are the same we had/have with SQL Injection:

1- Education: Many people are unaware of these solutions.

2- Bad habits reenforced by bad code examples. People don't use these security best practices in the simplified code examples included in a blog post, documentation, or a Stack Overflow answer. I joke that the only SQL code example on MSDN that isn't SQL Injectable was the example for parameterized queries (I'm not that far off). Sadly It's not much better for escaping/defanging shell code.

Shelling out also had the added problem that far fewer people do it than use SQL, so the propagation of security best practices is going to be slower. Luckily it also means there are fewer places that screw it up.
I too find this question annoyingly untouch in these types of articles.

Growing up, I was always told that yoghurt was good for your stomach because it contains bacterial cultures that are healthy, yet with the recent surge in "gut bacteria control your health" kind of articles, I have yet to see anyone talk about if I should be hunting down different kinds of yoghurts and yakult types of products.
Calling Veterans to a New Service as Exceptional Business Owners
Not true at all - HuffPo has grown, Adapt.tv is a big win, 5Min was the foundation for video (they're top 3 now), Weblogs Inc setup content division, etc. I'm sure there are some bad deals done, but they've had a great track record on buying+integrating.
How nature can mummify a brain
This made me snort. Apparently other non-fashion based reasons are incomprehensible to straw men.
Ditto.

If Rust had a formal standard, and had the tool ecosystem, then I could see it being an interesting possibility for critical systems, certainly for the same places that Java + RTSJ would be appropriate. I won't be the first one to try and push a Rust-powered device through regulatory approval though.
> There's no C/C++. They are entirely different languages (even if C is supposed to be a subset).

C++ is a subset of C, not the other way around.

> the fact that they can interface with hardware at a fairly low level

That's certainly one reason. Others include raw performance (think real-time safety-critical applications), no funny abstractions, tighter memory footprint, more flexibility, etc.

> and the amount of engineers with C (and nowadays, C++)

While I believe there are a number of C++ engineers out there, I'd wager that the number of competent C language engineers has dwindled over the years. Sure, everyone learns some C, but to know it well enough to write embedded real-time safety-critical systems is a whole different game. (not to mention the number of Java engineers has greatly outpaced even C++ engineers, thanks to University teaching Java, Android's dominance, and the lower barrier to entry).

> The 'formal' standard doesn't help you much when there's so much undefined behavior.

The formal standard defines what is undefined. Your safety-critical code shouldn't rely on some compiler-specific quirks or some magical code, but rather it should stay within the bounds of well-defined behavior.
>OK, but doesn't it imply that I do not need Rust at all because I could write 90% of my code in Go and the rest 10% in C? Only silver bullet seekers and airy-fairy (t)he(o)retics will use Rust just for the sake of feeling contented about having 100% of a program written in seemingly one language.

Have you actually tried to do that or understand what Rust unsafe code means ? Interfacing between different run-times and memory management systems is complicated (and often slow), rust unsafe is simply giving up on compiler verification.

He misses the point on premature optimization entirely.

>For Android, it's also hardly probable, but for a different reason: there is way more than one architecture there, so JVM will do much better

And yet people write C++ code for Android, or is he arguing that Rust won't replace Java on Android (that's a pretty big straw man)

>I can't but remind you for one more time that the source of troubles is usually in humans, not technology . If your C++ code is not good enough or Java code is painfully slow, it's not because the technology is bad - it's because you haven't learned how to use it right. That way, you won't be satisfied with Rust either, but just for some other reasons. Isn't it easier to learn how to use more popular tools and start liking them?

Different tools require different amounts of effort to get things "right" and it's not simply a matter of "learning things" - humans have limited brain power - there's only so many things you can be aware of at any time - good tools reduce the number of those things required to get the job done - C++ is bad at this.

I agree with some of his points about the ergonomics and the implementation/tooling but I also feel like those are just growing pains - now is the time you start working on Rust for your weekend github project and start paving the way for actual real world use by early adopters which is at least a year off from this point.
Please, please, pretty please don't lump in Kahneman with Gladwell. One is a Nobel laureate scientist, the other is a hack writer.
What Tesla and Apple Both Know About Entering New Markets
I see it a lot like Windows PC OEMs. Microsoft makes Windows. You can install it on anything that will run it. On its own, it has its strengths and weaknesses but it is a generally capable PC operating system.

But anyone who has dealt with Windows PCs for the past decade or two are familiar with the concept of doing a wipe and a fresh install on some poor chump's laptop or desktop because it came loaded with so much garbage from Dell or Gateway or HP that the thing ran like utter shit.

Thankfully, with a desktop OS, you can do that but on mobile, since the OS needs to be built with all sorts of proprietary drivers "baked in" it's not a matter of just installing base Android and running an update process to install the drivers for chipset and radios and other stuff.

It was bad enough when cheap PCs gave the entire platform a bad name because in theory you could fix that with an hour or two of work. But with something like a phone, it can be damn near impossible to get hold of "stock" Android properly ported to your device. Even when a factory image exists, it may require more tweaking and bypassing than most people are comfortable with to get the thing installed.

This does indeed reflect poorly on the OS as a whole but since OEMs only see Android as the solution to a "we need an OS for our hardware" problem, they don't seem to have much stake in the overall impression of Android.

After having a couple of HTC phones and a Samsung phone, I just started buying Nexus or Nexus-like devices (like the Moto X) because, like you, I actually enjoy using Android when my devices aren't kept on outdated versions and loaded with unwanted addons.
Original article: http://www.slate.com/articles/health_and_science/science/201...
How brewing anger over K-Cup change finally forced Keurig to surrender
Those aren't the same in Python 3.

$ python3
>>> [2 * x for x in [1, 2, 3]]
[2, 4, 6]
>>> map(lambda x: 2 * x, [1, 2, 3])
<map object at 0x7f160f535438>
It doesn't just stop there. They tend to rewrite a lot of things that you could do in SQL on NoSQL databases(Irony..) albeit the implementations are half written, buggy and break on adhoc inputs.

Even more worse, these sort of things come and bite people while these design schemas. After NoSQL database fashion has taken off, schema design, performance tuning et all are rapidly getting rare skills to find people with. This results in all kinds tech debt.

Much could be avoided by having good SQL skills.
It's a little silly to quibble about speed when the language is still being designed. There is plenty of time to optimize the language; there's not much technical barrier to matching the speed of c/c++, especially when allowing unsafe code.

However, something I've noticed from the land of C++ is some peoples' issue with the idea that thread safety is difficult. In fact, they appear to downright bristle at the idea that they might not write perfect code and that they might lose the ability to run with fast-but-not-correct code. I don't think this is a conscious reaction, but it seems similar to what's going on in the article.
It's a bit soon to repost this, I think.

Exact dupe, just 3 months ago:

https://news.ycombinator.com/item?id=9105494

A year ago:

https://news.ycombinator.com/item?id=7507254

Two years ago:

https://news.ycombinator.com/item?id=6625013

https://news.ycombinator.com/item?id=6620536

https://news.ycombinator.com/item?id=6332363

https://news.ycombinator.com/item?id=5258171

Three:

https://news.ycombinator.com/item?id=3987589

Four:

https://news.ycombinator.com/item?id=2052272

Five:

https://news.ycombinator.com/item?id=1506376

Six:

https://news.ycombinator.com/item?id=677089

https://news.ycombinator.com/item?id=370874

Eight:

https://news.ycombinator.com/item?id=75774

https://news.ycombinator.com/item?id=42627
What about AJAX? Does it load/read/index data after the fact?
Feels very fast. Good job!
I wonder if most of those people are also iPhone users - because guess what, their idol Steve Jobs was treating people like that on a daily basis, in order to have them make the iPhones these people have today.

Musk, like all hard-core leaders demand extreme performance out of an employee, because it's the only way to have extremely high quality products and without delays. Whether it's because your wife is having a baby, or you forgot to put the alarm in the morning or got stuck in traffic, those are ultimately just "excuses" to him.
If you don't care for portability and you need "advanced" language features like arrays and other bash-isms why do you hurt yourself by using such a terrible programing language?

In my experience shell scripts are fine for starting (and restarting) various programs and daemons or as thin wrappers around other apps. Beyond that I don't see the point. There's nothing other languages won't do better.

I've seen many "small bash scripts" grow up to thousands of lines, adding features one by one. And then you have to maintain that mess that catches fire every time an unexpected condition occurs because error handling in shell scripts is a joke.
They may have needed it at one point. At the time I quit AOL, there was no way to keep the email address, and they did not provide IMAP access or forwarding. Seriously. They (very badly) practiced the lock-in attitude. I just visited mail.aol.com and realized that things have changed a lot.
more insidious theories aside, this is probably at least used to drive the "warning, this looks like a phishing attack" which gets inserted inline in some emails.
It seems ID's are assigned sequentially, so by timing your submission you should be able to get a predictable url.
In defense of the list, I don't think it was intended as a blueprint for becoming a well-rounded and educated person, it was meant to provide a curriculum for learning the sort of technical skills people at Google would like to see in a candidate.

That said, there's actually a tremendous amount to learn on this list, and there are only so many cells to hold information. While it's always nice to say "and yes, also learn history and literature", truth is, eventually you have to not learn something in order to learn these things.

This may be a case where where the extreme rigor of the interview process and tolerance of false negatives may hurt large companies and create an opportunity for small startups and individuals. Here's why - a candidate who is very very talented at CS but also learned history and literature might come in at 90%ile, but let's say it's nearly impossible to come in higher than that without neglecting those other topics. However, the interviewers are all demanding a 95%ile+ performance. As a result, they pass on the more well rounded candidate.

It's even more insidious than this - because they select for the 95%ile, and it is very very rare to be able to achieve this feat without a single minded focus on CS, the people doing the interviewing will be at best faintly aware, and possibly completely unaware, of what they are missing.

Before getting too irritated, though, remember that any blind spot on the part of a large company is an opportunity for a small, nimble one. This is largely what is going on, I think, when you read those stories about talented programmers getting rejected by google and Facebook and coming back 5 years later to sell them a company for 100 times what their salary would have been. Of course, it's a much higher risk path that requires being broke for a while, and may just not be an option for people with other substantial life obligations.

There's this story I really liked about Andre 3000 (sorry, no link, just something I read, may be apocryphal). During an interview, he was asked how he chose the three chords for the song, and his answer was that he was learning guitar and those were the three chords he knew so far. So he took just the slightest bit of knowledge and turned into something great.

I read this at a time when I went to a music store and saw an incredible guitarist doing such impressive things with his instrument that he drew a small crowd. He wasn't just showing off, he was the local instructor. I believe he was also available for small gigs, weddings, parties, that sort of thing.

A lot of companies would pass on Andre 3000[1], and hire the awesome guitar playing dude, because Andre 3000 wouldn't be able to play a Bflat scale on demand or explain the circle of fifths or sight read a medium complexity piece of music at at least 150bpm. And I'm not knocking those skills, if you're a musician, by all means, yes, learn those things. But if that's all you focus on, to the exclusion of more creative things (and there's enough complexity that you could easily do so), you will starve other important things.

[1] prior to the hit. eventually, accomplishments do speak for themselves.
I don't think it's Silicon Valleys fault. I see the same philosophy in every industry in every city in the US.
> C++ is a subset of C, not the other way around.

This is not true, the two languages have diverged: http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B