skysight-inc/HackerNews huggingface dataset:
While I do not disagree with you, I still do think that even these cases mutexes and conditions are more practical.

Take the "rate limiting" example you mention (also one of Linus' examples in the OP). You initialize a semaphore to `max_concurrent_connections` and call `semaphore_down()` when you enter the connection handling sequence and `semaphore_up()` when you're done. Now this works fine and is an idiomatic example of using semaphores.

However, in the real world, this kind of situation rarely happens in isolation. What happens if you need to terminate the application for whatever reason, and do so cleanly? If you're under contention, you might have a dozen threads waiting for the semaphore go up and your only option is to kill them. Or implement some logic for this case (using another semaphore) to make sure the application hasn't been terminated while we were waiting for the rate limiting semaphore.

You can implement this cleanly using mutexes and conditions, by creating a "killable semaphore" synchronization primitive. While this is similar to a semaphore as an idea, it's very difficult to implement it if semaphores are the only primitive you have. Additionally, you probably want some kind of timeout if the queue is full.

So in practice you need something like:

while(true) {
socket = accept();
int status = rate_limiting_enter(my_rate_limiter);
// NOTE: someone else may call rate_limiting_terminate()
if(status == OK) {
service(socket);
rate_limiting_leave(my_rate_limiter);
} else if(status == TIMEOUT) {
send_busy(socket);
} else if(status == KILLED) {
send_terminate(socket);
break;
}

close(socket); // this must be called or resources leak
}

Now, while this is theoretically very similar to a semaphore, it has other real world priorities (like timeout and termination) which are very difficult to implement using Dijkstra -style semaphores with only P() and V() operations (and you definitely need more than one semaphore).

This has been the case in almost every practical multithreaded programming scenario I've had. The solution could be thought of using semaphores (and I frequently do) but in practice, there's always some real world conditions (timing, contention, errors) that must be met.

It is very trivial to implement semaphore-like synchronization primitives using mutexes and conditions but not vice versa.

Semaphores are very good for textbook examples and a mental model but not so much in practical software.
Now your hosts were nice but they were not completely altruistic either.

Despite often being illegal, Soviet Union had a history of people holding a portion of their savings in foreign currency(just look up Bulgakov's Master and Margarita or Ilf and Petrov's Golden Calf for early references).

So if your local currency is in a free fall you would be well advised to convert your local roubles into hard currency.

I rememember very well the day that my father exchanged 10,000 roubles for $1,000 in the late 1980s from an American tourist.
The official rate was ~1.3 dollars for 1 rouble (rouble was officially more valuable than dollar!) at the time, but the catch was you could only exchange a few hundred at a time in very special circumstances. (I believe this is how it is in Venezuela right now too, other places with currency controls).

So your hosts were making a nice gesture but also being smart in times of uncertainty because historical precedent was that their roubles would become worthless not come up.
Linus absolutely a semaphore genius.
Show HN: Dull – The best of the Internet in one app
Revealing the hidden side of transformation
> "Dijkstra was probably a bit heavy on drugs or something (I think the official explanation is that P and V are the first letters in some Dutch words, but I personally find the drug overdose story much more believable)."

I personally have made remarks that were WAY more potentially offensive than that, verbally, with friends. But, accusing Dijkstra of being a drug user, on the Linux kernel mailing list, from a @transmeta address?

That's grounds for termination in many companies, even if you don't get lawyers involved. I think he's only able to get away with it because he's Linus.
Searching for Moon Rocks in Iowa
Hands down my favorite on this front is probably the Clojurescript Koans site: http://clojurescriptkoans.com/
"The idea that surveillance is universally nefarious and undesirable, even when limited in nature or scope, seems a tired and stereotypically American trope to me."

Clearly there are some obvious benefits to some surveillance, but whether or not they outweigh the negative aspects is an issue that's clouded by the fact surveillance isn't being done legally, reasonably, or in a limited scope a lot of the time. The problem arises when everyone feels they're under surveillance but no one seems to see the benefit. I think people would be much more willing to accept (limited) surveillance if we weren't continually told that crime rates are worsening, we're constantly under threat from terrorism, and everyone is a suspect. Couple that with the fact that most of the media coverage of surveillance is when it's being misused and you have a recipe for people not wanting to be watched at all.
A Ruby Refactor: Exploring Dependency Injection Options
Seeing the Galactic Forest for the Trees
Funny that the library is not open source, but still they do host it on a public github repo. Doesn't make much sense to me, and there should be some clarifications on what is authorized and what is not.

Github is "Free for open source projects", I have always wondered what definition they would use for "open source". Looked for it a few years ago, and didn't find it. Any clue on what's acceptable policy for them? Maybe they consider that public repo = open source, because code is accessible?
Beautiful Interactive Christmas SVG Illustration
Inside the Buzz-Fueled Media Startups Battling for Your Attention
Well, if you can intercept the request to the server to can also change that parameter of the TLS certificate hash.
What Darwin Screwed Up About Evolution
Ann Arbor's FarmLogs Closes $10M Series B, Plans New Premium Features
Ever since it came out, I have told my children that he is cute, but he's a spy. He is not allowed in our house. I tell them that I would never tell Santa about their mistakes so they can be assured of getting presents under the tree. What kind of pressure is that for a young child?! One of the rules is that you aren't supposed to touch the doll. I tell my children that if they see that subversive bastard (I don't use those words to them), they should grab him with both hands and throw him out of our house. My daughter was worried he would run back to Santa and tell what she had done, so she decided that if she found him she would throw him in the fireplace. I settled on putting him in a box until after Christmas. I can't condone violence, even to a doll. We named him Google.
Burning Buildings to Building Businesses: The Firefighting Entrepreneur
No, that's deniability (OTR has that property), something very different from PFS.

PFS just means you've got session keys that can't be derived from the long lived authentication key.
The Sharing-Economy PR Stunt That Turned into a Real Business
I'd argue 'false drama' is the real culprit. A bit like your comment is adding to this thread.
This brings back some memories. I remember talking about the different ways of calculating the Fibonacci numbers in an old comp.lang.java usenet thread about recursion, memoization and dynamic programming from 2007,

http://coding.derkeiler.com/Archive/Java/comp.lang.java.prog...

The thread discusses the exponential, linear and logarithmic algorithms.
Technology Radar January 2015
Seven Reasons Your Social Media Should Include Instagram
Meta comment:

Original article spread over 5 pages. Forbes offers single page view but they tied the page onload event to call up the print dialog. Archive.org is not able to display the single page article, but textise.net is able to show Archive.org's single page version. And textise.net is unable to show Forbes single page version without going through Archive.org link.
Everybody rational knew that it cannot be done.
What will get you thrown off a plane
You Can See Our Holiday Lights All the Way from Space
The password mentioned in the post is also there:

https://github.com/Dao007forever/Linux-settings/blob/master/...

https://github.com/Dao007forever/Linux-settings/blob/master/...

https://github.com/Dao007forever/Linux-settings/blob/master/...

> the moral of the story here is - if you do not want someone to find it - do not publish it online

I doubt it's intentional. I will note that on Windows, if you're using ActiveDirectory, it's much more difficult to make this kind of mistake.
In the 80's and early 90's Dr Dobbs was probably the eminent source of advanced programming knowledge, and a pretty huge influence on programmer culture in general. It was for example the place where the GNU manifesto was initially published, and many of the big name programmers of the day where regular contributors.

It also published a number of fairly legendary article series where many of its readers got their first introduction to topics like operating system design or writing your own C compiler. So basically if you programmed in the 80's or 90's it was most likely a huge influence on you.
Pirate Bay Shutdown Didn't Stop People from Sharing
Some of us still have to support IE6.
Incremental testing. They don't even have a landing site built yet, nor FAA permits for that. But get a few landings on a barge down and they'll improve confidence in the process a great deal.
I've always taken them as child-friendly introductions to the idea that life is sometimes hard, and that bad things can happen to good people. I suspect, though I don't know, that children of Grimm's era were obliged to play a part in society far earlier than they are today, making such lessons quite valuable. (The idea of preserving innocence is relatively new).
Find out why he wants the NDA. Sometimes it is because they don't want it publicly known that they hired a freelancer to do the work. He might not want you shouting from the rooftops, "hey, I was the one who built this!"

If that's the case you can word the NDA so that it gives them what they want and you don't give up anything you don't want to give up.

It could also be that in order to implement the game (or whatever) you could require access to business strategy information (like pricing, upgrade dates...) that they want to keep secret. You can word the NDA to cover this but not the technical stuff.

Or if none of this applies then you can point out that NDAs don't cover information that is available publicly so any "ideas" typically won't be covered once they are publicly available.

And as others have pointed out always have your own template to start from.
Ah thank you. Fun read.
On the Tonight Show with Jay Leno, years ago, they had a contest between a ham radio operator using Morse code and a 20-something texting to his friend. Morse code was faster.

Therefore, I propose we all exchange texting for Morse code.
Why do I get a downvote for this? Angular 1.2 weights around 108kb and jQuery around 1.11 around 96kb and one gets a whole lot of extra functionality with angular if you use its strenghts correctly.
But if you care about programmer productivity, you use jQuery, then you profile, then you optimise where required.

The last step isn't usually necessary.
Could be the fact that Microsoft updates their iOS and Android apps before the same app on Windows Phone. I've seen that complaint from some of the WP community.
patio11 already gave you awesome points, as usual. Below are some of my personal points/experience.

I have helped a lot of small businesses with their technology, positioning and marketing and this is one of the most common issues owners bring up. Typically they will say they don't want to be "known" or be out if front because they worry about their identity and the issues around it. Sometimes they say they want their brand to be known not them, but in the early days their brand and themselves are the same which people don't understand a lot of times.

However, it is the #1 mistake I think people make if they want their business, or personal brand to grow. You cannot hide, you cannot turn down press, you must be out there and be genuine. I do advise clients though, that if you are posting what you know to be controversial content on a forum, blog etc and you feel it would be damaging to your brand then first, don't; but if you must, do it anonymously. The problem I see is that rarely is anything ever anonymous, even when you think you are, so its easier just to be you. On the controversial comments, I don't mean that you simply disagree with another view point i.e. you think Ruby rocks and node sucks. I mean when someone has a view that is anti-pattern to common polite society, e.g. racist comments, sexist comments etc.
Majority of weight loss occurs 'via breathing'
I am able to draw conclusions, but when there is no basis for drawing conclusions I won't. What you call conclusion in this case is a pretty elaborate and unreasonable fantasy.
Aerodynamically it wants to be aligned along the vertical axis. Similar thing for thrust forces. So at a minimum you want to decelerate all the way down from terminal velocity with the vertical direction aligned to the direction of travel. And that only leaves a narrow window of time after which you could bother concerning yourself with reorienting. And, of course, reusing the main engines saves on complexity a great deal.
GnuPG needs your help
or just calculate the eigenvalues & eigenvectors of Q.
An interesting mental model is a biplane (well, a grid of 20 not just 2) of really small leading edge slats. That's obviously not exactly how they work, but for seven word summary, not bad.

They're originally a "Russian thing", for a decade or so it seemed like every missile they designed had grid fins.

They're an example of high optimization. Around certain speeds they work REALLY well and weigh practically nothing and the control forces are very low. On the other hand they're little more than speedbrakes around other airspeeds.
Was amused to click through and see it was my username involved.

Mostly as I gave up ever trying to do anything with Bitcoin because I simply can't get my head around any of the practicalities, lol, so it definitely wasn't anything of mine! ;-)
Any sufficiently advanced vulnerability scanner contains an contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a type system.

Seriously, the solution isn't better scanners or better tests, it's better languages. Make whether something is taking a potentially-destructive action part of its type, and then the compiler ensures that all such routes are appropriately protected; you can do this today in e.g. Spray (which I'm using in production, so this is not some ivory-tower theoretical solution).
RTB may be an answer, I am not sure it is the answer. It introduces some latency to the visitors, is very data heavy process and is realistically more a supplement than a disruption. (some fellows are a bit skeptical: http://adage.com/article/digitalnext/rtb-overhyped-technolog... )

If it's a race to the bottom like Uber than that's not good for website owners. And RTB automates just one side, the buyer side could/should be automated too.

All hassles aside, the best advertisement method for visitors and website owners would still be the old fashioned way of hosting the ads on the webserver itself and doing CPI/CPM (best as in not sitting in a glass house, and no need for Adblock/Noscript as last resort). Google used MySQL for Google Ads until ~2012, it should be fast enough for 95% of the websites. RTM is write heavy, old style CPM isn't by today's hardware standards.

The disruption could be to get more ad-buyers on this bandwagon (again). Only the website owner (theoretically) and (as good example) Amazon.com can provide good matching advertisement. I have yet to come across a Google Ad or one of the other ads that displays content that interests me at all.
Looks like it was fixed a week ago?

https://github.com/doorkeeper-gem/doorkeeper/commit/c1b5c45e...
A New Paradigm for Computing: Data-Centric Systems
What does all of this have to do with the simulation argument?
The bad, the ugly, the awesome in life of a new business
Mostly from sources regarding hot air balloon flight and I don't in any way claim to be qualified in this area but:

Normal Air Mixture, Dry at sea level (1013.25 hPa) and 20 degrees Celsius: 1.205 kg/m3

Normal Air Mixture, Dry at sea level (1013.25 hPa) and 100 degrees Celsius: 0.946 kg/m3

Difference: 0.259 kg/m3

C02 at sea level (1013.25 hPa) and 20 degrees Celsius: 1.829 kg/m3

Difference from Normal Air at 20 deg C: 0.637 kg/m3

C02 at seal level (1013.25 hPa) and 75 degrees Celsius: 1.541 kg/m3

Difference from Normal Air at 20 deg C: 0.336 kg/m3

As you can see, by these rough numbers a normal air mixture as present on Earth should theoretically be able to act as a lifting gas at least equivalent to hot air given the conditions in the layer of the Venusian atmosphere that the article is considering. Feel free to correct if you see any obvious errors, I just used the ideal gas law and some figures for gas constants I found on engineeringtoolbox.com and I'm definitely not a physicist by any means.
The heavy stuff is all at the engine-end, so absent any lift, that's the orientation you get.

Shuttle SRB's hung from parachutes in the nose, but a chute landing is still pretty fast. The hot motors were dunked in salt water at speed... generally worse all round. Solid rockets are one-shot deals that can't be relit.

The Russians have been working on a booster that deploys a wing and glides back home, with a little nose-mounted engine to drive it. But that's been in development hell for over a decade.
Crazy theory but stick with me please -

Why aren't we as users allowed to fine grain the data on our device that we want the app to have access to?

A benign example would be a camera app; it wants access to my camera and mic, perhaps the local storage. It may have further features to store images in it's cloud service, assign the image to a contact and so forth.

But as a user I only want the app for it's picture taking ability - the app requests at the point of installation the permissions it requires, and I only grant it access to the camera.

It's then down to the app / developer to handle the exceptions and offer a message saying "You have taken a picture, but the app doesn't have permission to save it to storage. Please allow access by clicking here, otherwise this feature will not work/be unavailable".

A bit more of effort on the developers part, no question - but a user than has complete control over what an app can access.

I'm not an app developer, but skimming over how intents work and chiming along with this article - I don't think it would be a significant change to the underlying structure of android to hand back specific permission controls to a user.
Corning Bets It Can Reinvent Glass Again
For exactly the same reason that doesn't happen when landing an airplane, it's not efficient, it's complex, it's error prone. Parachutes means you have a recovery zone not a precision landing. Efficiency is all about operational efficiency, and fuel is the cheapest thing in the whole system. Burning a little fuel so that you can have a fully powered, highly controlled, high precision landing means that you are able to recover tens of millions of dollars of spacecraft reliably, and that's far more important than saving a few dollars in fuel. Precisely the same reason why airplanes do powered landings even though they have wings and it would be far, far easier for them to coast to a landing without using parachutes or whatnot.

As for wind, the rocket isn't going to be launched if there's a risk of high wind gusts regardless, and most anything else the vehicle is capable of compensating for with its thrust and fins.
Not very functional at the moment. Especially if you don't use jQuery - the top 200 are practically useless IMO.

That being said, being able to search for a library im already using, and seeing what are the top libraries that are used in conjunction with it would probably help.
Hypersonic Grid fins: SpaceX
Ah ok. I wonder whether they ever truly made the transition to the web, or how successful they were at attracting new readership or driving in search engine traffic.(I am basing this purely on the fact that I had never heard of them until now and that their website has never come up in search queries i make)
A limited way to achieve PageRank-like statistics could be parsing all the js package repositories (like npm, bower, atmosphere, etc.)
Type-2
> However, the point Linus was making (in a humorous way) was that like most computer scientists / mathematicians, Dijkstra was overly fond of obscure, single-letter names, which nobody ever intuitively understands.

If he was making this point, I find it ironic, considering that the purpose of the post is to explain the distinction between two obscure, poorly-named technical words, which nobody ever intuitively understands.
Urban Death Project plans to make compost from dead people
CBC writes:
Spade said the reception to the idea has been positive — mostly.

"People love the idea of growing trees," she said. "They get really squeamish with tomatoes."

http://www.cbc.ca/news/technology/composting-the-dead-the-greenest-goodbye-1.2873402
I think it is impossible to write a complete vulnerability scanner. If by complete you mean that your application should be guaranteed "secure" after running the scanner. Security has always been a moving target. However, I've heard great things about the job that Acunetix[0] does.

[0]
I think it is not done that way because it would overwhelm most users. Maybe it could be some kind of expert mode, though. Don't some Android mods (like Cyanogen) allow you to do that?
Great project. I've been using it for years! Keep up the good work. I just donated a bit. Hope it helps!
You Prevent Yourself from Succeeding
I'm pretty sure the affected people will visit the original site, and I'm not sure they will visit the site you mention.
The Distributed Post Office: Instant Hierarchy for Mesh Networks
Mind and Sense Spa at Best Delivers Luxury SPA Packages in Dubai
Can Chuck Goldman’s Next Co Bringing Enterprise to Legalized Sports Gambling?
Assuming the application code is completely secure, then that's a big part of the problem solved. But there's also the application server and any other services running on the machine hosting it.
Yes, it is a lot of fun. I used two TODO lists just like you did, but my "v2 past the deadline" list had way more items in it.

I like to plan my actions methodically too, but sometimes I had to use 1GAM to develop my improvisation skills. When I was short in time and the month was about to end, I had to quickly come up with something before the deadline. That's when I had to prioritize the "get things done" instead of "plan the whole thing". I've learned a lot from it.

I wish you and your friend all the best regarding you game :)
The article seriously contains an ad to...

Buy the Elf on the Shelf

Wow
Show HN: Horntell (Making your users pay is hard. We can help.) ;)
Just to nit-pick, the simulation argument doesn't rely on simulations-in-simulations, let alone an "infinite regress".

If we consider the proposed form of simulation to be feasible/reasonable/etc. then the existence of one simulation would give us 50/50 odds of being inside it. With two simulations running, we're more likely to be simulated than not.

The simulation argument claims that, if such simulations are possible at all, then there will be very many of them. In which case, the improbability of being in a particular simulation is more than compensated by the number of simulations.