skysight-inc/HackerNews huggingface dataset:
Actually avoiding C++ pitfalls is not that difficult as most of them come from C: manual memory management, macros, varargs, unsafe casts. In fact C++ provides safe alternatives to many of the unsafe C constructs, so if you stick to them you are fine.
Great point. It's also worth remembering that optimizations such as floating point at O3 will trade away accuracy for speed. C compilers are willing to give you... the wrong result... but faster than ever! Undefined behavior is another fun line of inquiry. Best to learn about the dark corners and avoid them where possible.
Not responding to the points you made regarding the CRA; responding to your specific actions.
Except by saying "people are free to make the WRONG choice," you're at the same time throwing entire populations under the bus, because...freedom!

The civil rights act didn't spring out of a desire for nanny staters to force us all to listen to Sting and eat kale three times a day. It came out of the fact that, decades after we abolished slavery here, entire regions of the country were filled with businesspeople who habitually discriminated against those former slaves, which couldn't have been good for business, but which they did because they were carrying around racist beliefs which guided their actions.

You could say "those business owners all made the WRONG choice" and, well, ok, but that doesn't really get us anywhere. It's also callous beyond belief to ignore the people that suffered as a result of there being no real consequence for that wrong choice.
Strict Control of Java Code Quality, Qulice.com
Hydrogen-powered drone will fly for hours at a time
Updating a Node.Js Web Application Without Downtime
cheers for everything, and this comment
I don't know perl or Ruby, but I know JavaScript, what now?
One of those posts where I read the comments and I realise how dumb I really am.
Why are you still responding? What kind of rhetorical trick is this?

"I'm not going to talk to you, because there's no way you and I could ever see eye to eye. ..... except now I'm going to call out some part of your behavior I don't agree with."

I can't figure out what you're trying to accomplish; this is a new form of internet snark for me.
I don't know perl or sed/awk/grep that well, but I know JavaScript pretty damn well.. So what do I do?

Look up man pages or Google Stack Overflow answers for 15 minutes to do what I need?

Or I can just use nip and write a quick snippet that does what I know and move onto what's most important, the task I was trying to accomplish.

In the end, nobody cares how I renamed all the images from lolimag_{i}.jpg to 2015_05_20_img_{i}.jpg, they just care that I did it.
I agree with kazinator: the title doesn't reflect the work. I bet I got something that does: Write Great Code [1]. Hyde helps a programmer understand how the compiler converts most imperative language features to assembler if it's doing it in a direct, lightly optimized way. It often gives C code next to assembler code along with optimizations you can do in assembler but not C. He also wisely created a High Level Assembler that embeds 3GL-style constructs and libraries in assembler code to help beginners learn it piece by piece instead of all at once. Enjoy!

[1] http://www.plantation-productions.com/Webster/www.writegreat...
He means rust
Without putting too fine a point on it, I think people should make an effort to try harder with their tooling. "This is for people who aren't 'devops'" can be just as easily read as "this is for people too aggressively incurious to step outside their sinecure for even the teensiest of seconds and maybe learn something."

Reinventing every wheel "because $my_pet_language" is fractious, generally worse than the alternative, and creates fairly unproductive noise--I think it's reasonable that people should catch at least a little flak for doing it. I mean, if criticizing anti-cooperative behavior is a waste of time, what was engaging in it? The idea that bash and GNU coreutils are "devops" tools, instead of the tools of basically competent Unix-based software developers, is so ludicrous as to be worth a little roasting. (And it has been a little. Nobody here, not even me in this post, is being more than mild.)

HN doesn't go for gratuitous negativity, and that's pretty cool, but if this thread's any measuring stick, negativity at this sort of behavior is a long way from gratuitous.
I would like more companies to let the candidate submit any project that they've completed in the past 6 months, or give them a small open-ended project and let them choose how they want to build it. It gives the candidate a chance to showcase what they are capable of, and it allows you to judge their programming style.
A fair point, and I'm actually tempted to do just that. I wonder, though: why on earth would anyone trust code that I have signed? At least the developer has (maybe) built some level of trust. But what's the benefit of signing by some random third party?
There's really not that many possible way to beat GNU grep at least in the regexp matching case. It's as close to the optimal solution as you'll find (especially with `--mmap`) and really, as close as is possible.
This is an absurd comparison.
Yeah, why they're going through all that hardware effort, I dunno. Simpler developer workflow I guess. Would be interesting to do a cost/benefit vs. just using a Linux stack.
I'm not sure. Maybe. But I certainly don't believe the US's warmongering is defensive.
Tools Before Humans
If I was going academic and imperative language, I'd suggest this old paper written by The King of Simple Languages and Compilers:

http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf
Logjam: the latest TLS vulnerability explained
Is this a sort of informal RFQ? What's your budget?
With anything you're trading money for time. If you don't want to pay their more than fair asking price, then use your time to roll your own solution. It probably won't be as good but, as you say, your business may not succeed so why allocate resources towards the best solution before you've even proven your business model?
This is not really different to a civil lawsuit. If one side has deep pockets or significant in-house legal resources, they can delay the process with all kinds of legal motions and maneuvers until the other side runs out of money.
The revocation of self signed certificates, yes...
Woohoo! Partial updates on jsonb (jsonb_replace function)!
Higgs Machine Learning Challenge Visits CERN
I suppose one could use a round-robin sharding approach like you mention, but it goes against Kafka's design, and it's not necessary.

Kafka divides a queue into partitions. Each partition is a completely independent silo. When you publish messages, Kafka distributes them across partititons. When you read messages, you always read from a partition.

This means partitions are also the unit of parallelism: You don't want multiple workers on a single partition (because of the labour division problem you mention). Rather, Kafka expects you to have one partition per worker.

This is more elegant than it sounds if you're coming from something like RabbitMQ. Partitions (ie., queues) in Kafka are append-only and strictly linear; unlike RabbitMQ, you can never "nack" a message in a way that results in the message ending up at the back of the queue and thus violating the original message order. Rather, Kafka expects each consumer to maintain its "read position" in the queue. Failure handling, then, is simply a matter of winding back the read position. And unlike RabbitMQ, there's less need for complicated routing, dead-letter exchanges and so on, because rather than move messages around, you're just moving a cursor.

Of course, message order is only preserved within a single partition; if you publish messages A, B and C and you have 3 partitions and 3 workers, then in a real world, messages may be processed in the order C, B, A. That sounds bad, but then other queue solutions such as Que or RabbitMQ suffer from the exact same problem: If you run 3 workers against one queue, your queue may supply each worker with messages in the right order, but there's no guarantee that they will be processed in that order. The only way to guarantee ordering is to have just one worker per queue, using some kind of locking (RabbitMQ does support "exclusive" consumers). But then you don't get any parallelism at all. So I think Kafka's solution is quite sane, even if it's more low-level and less developer-friendly than AMQP.
In the end, nobody cares how I renamed all the images from lolimag_{i}.jpg to 2015_05_20_img_{i}.jpg, they just care that I did it.

Yeah sure if you mastered perl, grep/awk/sed and can whip up what you need in a few seconds, more power to you, but I'm not going to waste an hour of my time googling and reading man pages when I can take 3 seconds to write a quick function in JavaScript to do what I need for that one task.
Two-factor authentication using SMS and email with ASP.NET Identity
I wrote a similar CLI in Ruby (https://github.com/jpb/rb) inspired by the Python equivalent (https://github.com/Russell91/pythonpy). I've never really used rb though - these tools are very limited by their dependencies (in comparison to the common unix utilities you find on almost every system).
Isn't LISTEN/NOTIFY basically useless for queues, since NOTIFY will wake up every single consumer, causing a polling stampede?
Stop spreading FUD please.
The 'fine-grain' of IAM varies considerably depending on which AWS service you're restricting. You can add extra flexibility with 'Conditions', which I'm sure you're aware of, but I think it's a bit of a misrepresentation to paint IAM as being poor quality. AWS is a very complex environment; I can't see how you could have a user-friendly yet fine-grained user control for something that complex. Anything you choose is going to require training in how to use it.

I wouldn't say I'm happy about it, but neither am I unhappy, and neither am I happy about anything in the world of security (also in today's task list is updating https cipher lists... again...). Not even the simplest thing in security is easy. For example, the basic concept of a password is simple, but actually implementing it? Ugh - it involves every layer from backend to frontend to user training (the hardest part - no sticky notes, no friendly phone calls, no passing around in emails...).

Anyway, for those not used to IAM 'Conditions', an example of use. The following allows Packer (an AMI builder) to destroy any EC2 instance, but only if they have the tag 'name' as 'Packer Builder'. Conditions don't work for everything, so they're not a workaround to get fine-grain everywhere, but they do add a lot of flexibility.

"Sid": "AllowInstanceActions",
"Effect": "Allow",
"Action": [
"ec2:StopInstances",
"ec2:TerminateInstances",
"ec2:AttachVolume",
"ec2:DetachVolume",
"ec2:DeleteVolume"
],
"Resource": [
"arn:aws:ec2:us-east-1:xxxxxx:instance/*",
"arn:aws:ec2:us-east-1:xxxxxx:volume/*",
"arn:aws:ec2:us-east-1:xxxxxx:security-group/*"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Name": "Packer Builder"
}
}
Exception throwing is the goto of 21st century. The article's examples aren't the worst, it's common seeing exceptions for business rules in Java/.NET land.
> circa 1995

How about this one from just last year: I'm writing an application that encrypts packets using datagram TLS with OpenSSL. Take a raw packet, send it through OpenSSL, it comes out the same on the other end and everything looks fine.

Then I try load testing it and start getting mangled packets. Application data where there should be IP headers and vice versa. So get out the debugger and find out that the data going into SSL_write() on one end isn't the same as the data coming out of SSL_read() on the other end. No TLS error, just mangled data.

So I install the OpenSSL symbols and discover that the data going into the cipher is exactly the same as the data that gets decrypted on the other side, hence no HMAC verification failure. But OpenSSL by default compresses data before encrypting it, and decompression output is not the data that was originally compressed.

TLS requires records to be delivered reliably. Datagram TLS, by contrast, is like UDP. Packets can be lost. And if they are, you can't use stateful compression or the lost data creates a hole in the decompressor's stream and corrupts the output. But OpenSSL was doing exactly that. So disable compression and the problem disappears instantly. (After three days in a debugger.)
What made you decide Telegram was a worse choice than Whatsapp? At least Telegram doesn't send nasty letters to people developing unofficial clients.
Learn Perl and increase your value instead of being a one-trick-pony !
The best advice to a teenage daughter who wants to make money
You suggestions are great if you don't want to use anything like the standard library or just about any other library. Unless you want to write tons of boiler plate wrapping these things up.
These things are possible... but this gets at another aspect of AWS's design in particular.

I do a lot of my AWS work in CloudFormation. When I hit a wall, the answer is pretty much always to stand up an EC2 instance that can speak SNS, grant it larger-than-necessary permissions to my VPC, teach CloudFormation about it as a custom resource type, and have it serve as a proxy for the not-configurable-enough resource, allowing it to assert its own policy and make third-party calls before making the real callback into your VPC [or not.] It's the AWS equivalent of writing a factory method to wrap a badly-written constructor.

To generalize that thought: IAM "users" are made to either be people (e.g. your developers, your ops people), or representative tokens for entire third-party organizations (e.g. a CI bot.) Despite the existence of IAM roles, IAM isn't really made to assert "machine-agent"-granular permissions.

Instead, what you really want is to imagine a third-party service running in the AWS cloud that does exactly what you want. You would grant that third-party's IAM user overly-wide permission to play with your VPC, but trust it to only do what it should, because, obviously, you have a business relationship and it would be dumb of them to abuse it.

As soon as you can see what API needs to exist, you can turn around and become that very same imaginary third-party: make a separate AWS account, stand up an API server in it that takes requests to do what your "clients" want, and then, in turn, make requests to the AWS APIs on their behalf to accomplish those things.

AWS isn't a high-level framework; it's a kit of low-level tools. (This is really what the PaaS vs IaaS distinction implies, I think.) AWS is built assuming that you're willing and able to take their tools and pipe/script them together to build the higher-level components you need. And, since AWS is for web services, that assumption comes in the form of expecting you to be able to pipe, hook, or wrap any of their APIs to/with/in your own API.
See http://arxiv.org/abs/1401.4356, a paper by Ross Anderson and Robert Brady. They've since expanded the theory greatly, with other papers on arxiv.

Also, check out this fascinating debate about these matters on Scott Aaronson's blog. Link is http://www.scottaaronson.com/blog/?p=1255

Brady and Anderson have many posts in this debate, and IMHO, wind up winning.

It's looking more and more like physics took a wrong turn with the Copenhagen interpretation of quantum mechanics.
Learning to use sed for that kind of trivial task would take, what, a minute? Maybe two? If you know regex, you know enough of sed to do anything, and if you're not using regex in your JavaScript transform you're quite inarguably (and I don't use that word lightly, but regular expressions really are required knowledge) screwing up anyway...so what's the point?

Polluting the global namespace with yet another tool that's worse at its job than the existing ones because of a particular breed of aggressive incuriosity and epistemic closure is real weird. (This isn't a failing unique to the JavaScript community. Go people love doing this, too, creating bad solutions to solved problems. You used to see it a lot in Ruby, but the community seems to have grown up a little.)
Extensive prior discussion: https://news.ycombinator.com/item?id=9575683
They also received a grade of 'F' in their official Animal Review.

https://animalreview.wordpress.com/2008/05/04/pandas/
https://chrome.google.com/webstore/detail/lazarus-form-recov...

https://addons.mozilla.org/en-US/firefox/addon/lazarus-form-...

You're welcome! ^_^
Accurate Weather Forecast
Stripe is a fully featured product and platform now with so many customers: it's the go-to payment provider for pretty much every startup. Do they really need this money? If so, that's scary. I want my payment provider to have a rock solid business model, not still burning VC cash.

I would expect that at this stage Stripe ought to be pulling away from VC money, as their profits hopefully increase. There are, of course, valid reasons to take VC money at a late stage - fuelling expansion is the main reason. But does Stripe really need the money to expand? I would hope that they could support their expansion themselves.

Normally I wouldn't care much, such as when Uber raised a bunch of money recently, but Stripe is different because they're so central to my business. I really need them to be rock solid. It would be a huge pain if I had to switch payment providers, especially with all of the subscription logic that Stripe provides.
A Stereotypical Day
South Korea mandates spyware installation on teenagers' smartphones
Updated NASA Data: Global Warming Not Causing Any Polar Ice Retreat
There was and still is a very big push in the States to find your life's fulfillment in your work first. Its very ingrained into our culture these days. I think it stems from the old cliche "if you love your job, you'll never work a day in your life".

Doing work that you hate is maybe not frowned upon, but if you have that sentiment people will strongly advise you to switch career paths to something that you would find more fulfillment in.
Well, and in your comment here, you're writing something more substantive than "why not use...", which was literally the gist of several of the top level comments.

I'm not sure I would characterize it as a "because my pet language" tool; rather, it allow one's main production language to use shell pipes, which can be quite handy for a variety of uses.
My reading of the bug is that it would write random data from memory owned by the OS, not necessarily other files on disk. Certainly no better (and could very well be worse), but just a clarification.

(Going back and reading the post again, it seems that it's even worse than that, since a virtual environment hitting this bug could get data from the host. This opens an attack vector for a guest to bypass the hypervisor and compromise sensitive host data. I don't know if data from other VMs on the system could also be exposed in this way, but that would also be quite bad.)

Anyway, I think my rambling caused my point to get lost, because I wasn't trying to argue that Microsoft are justified in their "don't do that" comment. But no sane, realistic OS can prevent against every hare-brained thing a driver developer is going to do.
Should probably put in a default 25% for vacancy and maintenance, although most investors I know analyze investments with an even wider margin. The cap rates generated are meaningless otherwise.
There are no CAs. The whole point of the proposal is to use self-signed certs.
Follow 70 amazing PHP developers with a single click
The SEO Backlinking Strategy [Infographic]
Start a company and only have your employees work 4 days a week. Some companies do 4 ten hour days.

https://thoughtbot.com/jobs
I roughly agree with your sentiments. I am currently a Stripe customer, but if I wasn't this funding would make me think twice about doing biz with them. That sort of money creates all sorts of perverse incentives. For these reasons, we looked at Zenefits, and ended up going with the someone else. People there just have not perspective and no real reason to place value on the customer when they have money to burn.

The counter-example is Github. They took $100MM from AH which they did not need. Fortunately, from the customer's perspective the product has not suffered. That being said, they have had some internal management issues that I suspect they would not have had if they didn't have money to burn.
I actually wrote about this problem recently [1]. (Note that in that comment I'm not describing a job system, but rather a system for keeping one or more secondary stores in sync with a master database.)

If you're using an external queue such as RabbitMQ, there's basically no way to guarantee a queue message being fired without a "two-phase" transactional approach.

Let's say your use case is creating a user and sending an email verification email. You need to:

1. Start transaction.

2. Create the user.

3. Insert a tuple into an "events to fire" table.

4. Commit.

5. Fire the event.

6. Delete the tuple.

This ensures that if the transaction fails, nothing is fired; if the transaction succeeds, we guarantee that the user now exists, and that the command to fire the event also exists. Thus, if step 5 fails, we still have the "events to fire" tuple, and we can have a cron job running every minute that picks up stragglers. (In practice, you'll need to run steps 5-6 in a transaction that exclusively locks the tuple so that a concurrent cron job doesn't do it.)

This way, you're risking duplicate events, but you'll never lose the event, unless RabbitMQ falls over. Duplicate events are of course unfortunate and undesirable, but missing events are worse.

Of course, with the above solution, it could be argued that your "events to fire" table is a queue itself. The good news is that RabbitMQ is much better at scaling a queue than Postgres, so the duplication of work isn't actually that much of a problem. The "events to fire" table can be optimized in various ways; Postgres supports "unlogged" tables, for example.

Another approach which will be available soon is Bottled Water [2], which gives you pretty much the above, except without needing to maintain the "events to fire" table. But it's definitely more complicated.

[1] https://news.ycombinator.com/item?id=9490583

[2] http://blog.confluent.io/2015/04/23/bottled-water-real-time-...
>Why does observation cause the wave function to collapse?

it becomes much clearer (at least to me) once "observation" is replaced with "interaction" because the former is really not possible without at least a quantum of the latter.
I never said that it was, but as recently as the 1940's, the US had a clear-cut moral imperative to engage in war, and that required the US government to hold secrets. (For instance, in my analogy of the amphibious assault, Beachhead B was Normandy and Beachhead A was Pas-de-Calais.)

If your theory of government doesn't allow for all the good things the US government has done in the past century, it's not a credible theory of government.
Data behind confirmation of the Higgs Boson
Ask HN: Have you immigrated to the US from another country? How did you do that?
Hi! I am an aspiring programmer, and I live in a forlorn country where a future for a programmer, entrepreneur, or a computer scientist looks pretty bleak.

If you have moved to the US from another country - can you please share your experience?
Mine returned the last account I tweeted at, Puma's HQ...
Krown.io – What the Lion King Opening Sequence Really Means – Krown
What is the story behind the last photograph with the two women? You mentioned that most women on your trip were totally covered except one you saw at a currency exchange.

Great article by the way.
Build an Advanced Notification System for WordPress