skysight-inc/HackerNews huggingface dataset:
> This stuff was all well understood four decades ago. Much of it was forgotten outside the mainframe world, because threads and multiprocessors didn't make it to microprocessors for several more decades.

Here's an important distinction to make: this stuff was well understood in theory, but the practice is a bit different.

Semaphores are a neat theoretical concept but not a very good practical parallel programming paradigm. Semaphores are easy to reason about when writing proofs by induction that a parallel programming algorithm is working correctly, which is why they are still at the core of parallel programming education.

But when writing practical multithreaded programs, mutexes and condition variables are a lot more practical. Typically each mutex is coupled with one or more condition variables to wait/signal for conditions such as "queue not full" and "queue not empty". Incrementing and decrementing numeric counters is a very clumsy way to maintain a state of any kind. Implementing a semaphore requires grabbing a spinlock and doing this several times is unnecessary when you could just grab one mutex, check for the appropriate condition(s) and then wait/signal on the correct condition.

It is rather unfortunate that parallel programming is still primarily being taught in the theoretical manner (at least I was) using primarily semaphores, leaving too little emphasis on the practical implementation. It is important to understand the theory and know how to do the proofs but it is equally important to apply this into practice.

Every time I see someone "implement" a semaphore using a pthread mutex and condition variable, I cry a little. I've seen this several times in production code.

> It's very simple. That's the real use case for P and V. Linus' note indicates that in 1999 he didn't know this.

I'm pretty sure Linus was joking and he did understand what semaphores are used for. Every computer science curriculum has a course on parallel programming with bounded buffer producer consumer/problems, readers/writers problems and other "toy problems" solved using semaphores, followed by proof by induction that the solution is correct. And Linus did, eventually, finish a degree on computer science.
That's Dijkstra's later terminology. In EWD35 he introduced the operations as "passering" and "vrijgave". Then in EWD51 he uses "verhogen" and the neologism "prolagen" ("probeer te verlagen"). In EWD74 he switches to "proberen".

These documents are available from the Dijkstra archive: http://www.cs.utexas.edu/users/EWD/welcome.html
Handwriting by itself can help learning. It's not necessary to ever read the notes again. The questions is rather are there better alternatives on a computer/typing.
Most Popular Clever Uses and Macgyver Tips of 2014
Ask HN: Tobacco companies are the target of health lawsuits, why not marijuana?
Will marijuana companies become the new targets for health related lawsuits in the same way the tobacco companies have been?
Quick tip: Fixing the Prestashop slider (homeslider) – NemoPS
Protect your privacy – Help GnuPG hire a second developer
Whether they did or didn't know about the definitions, they should have at least looked it up to confirm before posting to the Linux Kernel Dev list or taking on Linus on the matter.
Dumb and dumber is better that the Next Big Thing
For every line of code (just to be pedantic).

I have customers still churning out wads Classic ASP who think On Error Resume Next magically fixes their shabby code. Makes me weep.
> But I'm not quite sure if there is a direct correlation between time spent writing tests and overall software quality?

Good point. We do not know, either. That is part of the reason why we do this research. :)

As has been said before, the easier to understand and maintain your tests are, the less amount of time you actually need to spend on them.

However, you could argue, that there must be some minimal amount of time that you absolutely need to spend on QA work like testing to ensure a certain quality.

We are investigating this.
Postgresql 9.4 stable committed
Ever Wondered Who’s Behind Those Viagra Emails?
"What makes the gaze of authority special is that the watched voluntarily simplify and order their own behavior to prepare to act on the desires of the watcher.

This is the reason authority induces power. Just by looking, it turns what it sees into a ready and waiting instrument capable of enacting its intentions within a space of desires. Authoritarian seeing is like a magnetic field acting on a domain of free agency."

...

"Why? Because authority exercised through direct coercive action is inefficient to the point of being useless beyond a certain scale. But authority expressed and exercised through the authoritarian eye is nearly infinitely scalable. The source of this leverage is of course the fact that humans (and agents in general), unlike non-sentient matter, can recognize and respond to being seen."

...

"The condition of a social system that has submitted to authority is a sort of self-reinforcing, self-perpetuating collective learned helplessness."

http://www.ribbonfarm.com/2013/03/22/social-dark-matter-on-s...
In addition to this, it will be required for the middle booster of the Falcon Heavy, which has its first flight next year and which will be too far away from land at separation for a boost back.
Something to keep in mind when dealing with goverment agencies: they don't care about saving money the way a business would. This was an eye opener for me when I discovered this.

If you told a business that your product would save them $50K a year they would love it.

If your product saves a government agency $50K this year, they may have their budget reduced by $50K next year as a result. Any money you save them doesn't necessarily help them (the agency) in the same way it would for a business.
but we argue that if a kid is okay with this bureaucratic elf spying on them in their home, it normalizes the idea of surveillance

Bazollocks. Before the Elf turned up, my children had already become used to two far worse "spies" that can follow them around the house and issue summary justice: their parents! 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.
Creating a LinkedList with C++
Rainforest QA (YC S12) Is Hiring Engineers in SF (or Remote)
Terry Davis' (TempleOS) Brutal Take-Down of Linus Torvalds
> Alternatives exist. For example: message passing, and STM (software transactional memory). Anybody know of other alternatives?

It should be noted that spinlocks, mutexes and conditions (and semaphores) are building blocks that are necessary to implement message passing, software transactional memory and other non-trivial parallel programming constructs. (at least until we have practical hardware transactional memory).

Spinlocks, mutexes and conditions are a "necessary evil", not "considered harmful".
Vintage doesn't mean obsolete.
I've been reading Grimm's fairy tales, and a few of them (heck, most of them) leave me wondering why the heck people would tell that story. For instance, there's one called "The Turnip".

There are two brothers, both soldiers. One is rich, one is poor. The poor one gives up soldiering and becomes a gardner. He grows a huge turnip, and gives it to the King as a gift. The King is impressed, and declares that the gardner shall be poor no more, and gives him gifts, proclaiming that he shall have even more than his brother.

The brother then gives the King gifts, expecting to get rewarded by the King and return to being wealthier than his brother. The King is impressed, and gives the brother the most impressive thing the King has--the giant turnip. That pisses the soldier brother off, and he hires murderers to kill the gardner brother.

The murderers lure gardner brother out to the woods, and prepare to hang him, but they hear a traveller approaching and panic, and only manage to get the gardner stuffed in a sack that they hang from a tree and then they run off.

By the time the traveller arrives on the scene, the gardner brother has managed to make a hole in the sack and get his head out. He hails the traveller, and finds out that the traveller is a student in search of knowledge. The student asks what the gardner is doing in the sack. The gardner tells him it is the Sack of Wisdom, and by hanging in it from a tree, one acquires the secrets of the universe.

The student begs to be allowed into the sack, and the gardner agrees to change places. The student rescues him, gets into the sack, and the gardner hoists it up the tree. The gardner then steals the student's horse and goes home. (Some versions have the gardner send someone an hour or two later to go cut the student down, some just end with gardner riding off on the horse).

WTF?

What is the point of this story? I don't see a lesson...no bad guys get their comeuppance. The guy that I thought was going to be the good guy (the gardner) ends up stealing from the naive student when it suits him. Is the lesson that it is really every man for himself and so when someone does something bad to you, go ahead and find someone else you can screw over to fix your situation?
You're referring to https://cs.nyu.edu/~yap/classes/os/resources/EWD74.pdf while 'passering' and 'vrijgave' are already mentioned in http://www.cs.utexas.edu/users/EWD/ewd00xx/EWD35.PDF
No, they aren't. READ_CALENDAR is a separate permission from READ_CONTACTS.
Social Influence Startup PeerIndex Acquired by Brandwatch in Cash/Shares Deal
Yes, this is certainly true to a (I think) minimal extend. Why? Because improving the time you spend on testing is something that is essentially hard to do -- and only a meta-information, anyway.

An example: A quality assessment of your code tells you that your methods are too long. This gives you a concrete task to do: You simply split all too-long methods. However, with testing time, this is not so: Increasing the effort spent on testing is something you cannot "just do" without a sensible plan. If you want to increase this metric, you have to start to think what is wrong with your current test strategy (maybe nothing's wrong at all), and come up with an action plan of how to do.

If you're that far in the game already, I think this metric has done what it can do. Plus, you'll likely see an increase in the metric. Which is justified.

Coming up with (critical) test efforts in the wild is our task now.
Squire – the textarea of the future
This is an interesting interpretation

The chlorometane results were a true result after all.

However, I have the impression that, organics, in contact with perchlorates (or any strong oxidant) will result in CO2

Also, it was repeated one week later, with no results

http://en.wikipedia.org/wiki/Viking_lander_biological_experi...
"Flatland" comes to mind with respect to the latter part of what you wrote.
Bingo. And in the MSSQL world it's common to also have Active Directory and use that for authentication (each server automatically has a unique "account", and SQL login permission can be granted using that).
I would argue that you could get that experience by establishing a colony on the bottom of the ocean. Conditions there are also deadly to human life without protection, and getting there and back is also not easy. Not as hard as getting to a different planet, but if we want to learn how to sustain human life in artificial habitats, then a colony 10km under water sounds like a way to start.
I think its fair to say you contributed to the construction of a culturally significant form of contemporary literature, whose affects can be traced throughout modern humanity. DDJ was the driving force behind a lot of free thought, about thought, and about how to apply thought to machines, and thus the universe, and for this fact I thank you, also, for the impact DDJ had on my life over decades of computing.
Cert-pinning in the application for their own server is totally doable, that's exactly what Google is doing with Chrome.
> Basically, it's just way too cold or way too hot everywhere but Earth.

That's not really true. Only a thin layer of Earth's crust and atmosphere are great for life. Such Goldilocks layers aren't that uncommon if we look at all boundary climates on each body (subsurface sea boundaries, polar boundaries, higher atmosphere boundaries, etc), and not just the boundary analog to Earth's.

Even Mercury has free standing water ice. Somewhere between that ice and the scorched plains there's going to be a somewhat comfy place.
January-October 2014 temperatures highest on record
Field Service Support with Google Glass and WebRTC
Not a bad track record, but not flawless: http://www.cvedetails.com/vulnerability-list/vendor_id-10919...

The 9.3 one was world-destroying, nuke-from-orbit type bad.

"execute arbitrary code via an SMTP session" is not what you want to hear in a bug report.
The Costs of In-House Vs.Cloud-based Development
Do your research on what Wifi devices to use. Many don't work and others are unstable causing agony and frustration like a thousand burning suns. After all you rely on drivers that compile perfectly on ARM.

This one works well:
TP-LINK TL-WN722N
Forget Connect. It's a barren dustbowl full of tumbleweed. If it's urgent shell out for a PSS support issue. Can't remember what we pay per "urgent/high priority" incident but it's small potatoes compared to waiting around for a response on Connect.

I've emailed Scott Guthrie a couple of times in the past about the sorry state of Connect. Maybe they'll just shoot it in the head and stop pretending it's useful to anyone.
Yes something similar to this, but less of a tour and more gentle messaging when they try something new.
Nice resource, thanks!
A lot of us install ad-blockers because :

1. We want to speed up web-browsing experience.

2. Save internet bandwidth.

3. Are quite tired of highly intrusive, epileptic-seizure-inducing flash ads (some of them with audio).

4. Security reasons ( I personally use Noscript which has the side-effect of blocking ads)

5. Simply refuse to accept tracking cookies.

I wouldn't mind viewing unobtrusive text or image ads without tracking cookies (eg: StackOverflow) but very few websites actually implement those. I asked the owner of Phoronix.com about this a while back (who also seems to be having issues with the financial side of things)- Basically unobtrusive ads have much lower value than the obtrusive ones.
> most computer scientists / mathematicians, Dijkstra was overly fond of obscure, single-letter names, which nobody ever intuitively understand

If you use a word too common, it's too easy to confuse the definition of that word with the definition of its use in a different context. You must not understand the pain of reading two mathematical books and trying, with the utmost sincerity, to figure out whether the authors are actually using the words the same (such as set, relation, abstraction, object, even things like function). There's the distinct definition, and there is the contextual use, which can theoretically differ for everyone depending on the origin path of native language. You can never know if someone is altering the definition or discovering / describing something new, and they are using the wrong word. Discovering the perfect word for the concept you construct in code or math is an art.
Power Dressing: why it's exoskeleton time
Did you ever write up anything about that process? It sounds like an interesting story.
In order to go to Mars, and come back quickly and safely, it would make sense to send supplies of various sorts on a robotic mission (or a number of them). This way there would be plenty of fuel on Mars.

Another possibility would be having a launchpad in Earth orbit, so that many different modules would be assembled (a lot like the ISS), but in a configuration that's designed to travel to Mars. Launching it all at once from Earth does not seem like the safest or most efficient answer to getting a very large mission payload into space, given current technology. This way, there would be allowances for failed launches, while the human crew is brought into orbit using more tried and tested methods (with sufficient rescue mission planning), on a much smaller budget than the whole mission cost.

Some kind of Exploratory Space Station seems like the way to do it.
A ten year Apple Inc. iPod and iTunes antitrust lawsuit is finally over
That's possible, but besides the point. The point is not to set up clear, unambiguous, "perfect" choices, but to wade into the long lasting philosophical question of whether our reality has a physical existence - one of the oldest questions of philosophy - and recast it in terms of technology.

The point is that unless there's some fatal logical flaw in the set of choices, some combination of the choices needs to be true, and whichever choice or combination is the correct one, it has profound implications on us.
after 10,000 hours you're still calling jQuery a framework?
iOS has taken option 1 since the beginning and it works.

I can install Instagram and deny it access to the camera. It still works, it doesn't crap out on me. I don't need to install 3rd party rooted tools to provide fake camera for it.
My mind added an exclamation point to that headline.

Good News! You May Have Missed 2014!
I agree, 2013 is pretty solid and feels a lot snappier compared to 2012 and 2010 (I have all three installed).
This naval robot looks and swims like a shark
Ship ES6 classes. (Closed)
Competing is a pain in the ass, since at the end of the day lowest bidder basically always wins. So it really ends up a race to the bottom and I've seen more than one contract to go bidders offering to do projects basically at a loss.

There is another way however. Many places have a lower limit, where projects under that don't have to go out for bids. Find out what that limit is and keep your project under that limit. This does require you to get to know people in decision making positions, developing an understanding of what problems they face and sell proposals directly to them.
Grabbing cookies can be done easily as an offline attack though, assuming they don't clear cookies on every shutdown (which I'd bet 99% of users don't). You simply copy their cookies file/s from chrome and temporarily replace yours with it.

I previously carried out a similar attack whereby I temporarily borrowed the hard-drive out of a housemates laptop when they had left it not locked in their room and gained access to many of their frequented accounts (after they had made a point of saying I wouldn't be able to gain access). I was able to maintain access for several months changing subtle things before someone else notified them and they cleared sessions.

The cookies file is generally small enough to easily upload in the background if your passing around casual programming apps with friends. I don't condone this, but it's a very hard attack to mitigate without services breaking UX. Shopping websites do this by asking you to re-enter your password before changing account details/making a purchase, I'm not sure whether such a UX change would hurt social media.

Note: This was all probably around 6+ months ago, chrome may have mitigated this exact attack since by encrypting the file with something Google account specific.
So I decided to read some stuff on there today and after a couple of articles I got sent to a forced "login or register" page as my 2 article limit was up. No wonder the Ms are limited!
jQuery should be pre-JIT-compiled in browsers. performance problem solved.
Could you explain what you're referring to in the last sentence please?

(An example of how the Windows phone permissions and intents systems work in practice would be nice too)
Not the addressed poster, but regarding rewards cards (that I avoid as well) vs ad tracking: You only show your rewards card when buying something in the store the card is valid in/offered by, not when entering a random 3rd party building or when crossing the street. But ad tracking (especially retargeting) spies on you whenever you browse the web without precaution.
Crash Course on Vagrant
In addition to what everyone else said: location and range safety.

The launch sites they use were built for non-recoverable launch vehicles which are dropped to the sea. The launch sites have a narrow range eastwards, and SpaceX needs to adhere to the restrictions despite being able to land the boosters safely. This means that their rockets will inevitably be going over the sea.
I learned cursive many years ago, and Handwriting was a reliable C- (or maybe D) for me during most of the primary grades. I can write a legible hand now, but find that I use cursive for Christmas cards and notes of condolence. I do take notes with pen and notebook, but generally not in cursive. If a genie showed up offering only one of clearer cursive or better typing, I'd choose the latter.
> as fast as you can get.

But yet 10x slower than a single indirect jump.

> just you can mechanically simulate it when not available.

It's too slow to ever be anywhere near practical - for this reason, almost no JVM language implementation really does anything like this, besides kawa, bigloo and alike, which are slower than some of the dumb interpreters like SISC.
Out of curiosity, why do you think your handwriting is so bad? Motor skills or something cognitive? E.g. can you draw, solder, sculpt?

Do you believe its a trade-off with a different type of skill that you have as a particular strength?

Mine tends to vary. Occasionally its beautiful, mostly its average and sometimes its scrawl no matter the effort. I'm not sure about the mechanism behind the difference.
I think its mainly because tobacco companies acted in many ways very wrong.

For example:
- denying any link between smoking and lung cancer.
- added stuff to tobacco that might probably increased addiction
- etc.

There have been several "waves" of lawsuits since the mid fifties. Here is a nice comprehensive overview:
http://publichealthlawcenter.org/topics/tobacco-control/toba...

The marijuana companies will probably get the same problems if they continue the path of tobacco companies.

Greets,
Chris
The simulation could be lazy, only simulating what it needs to for the observers contained within. Keep in mind that if you are inside a simulation, your sense of time is artificial. When something requiring more fidelity is run, the entire simulation could slow down, or stop momentarily while lazy contexts are evaluated, and you wouldn't know it.
Yikes!

I'm still impressed by qmail's track record: http://www.cvedetails.com/vulnerability-list/vendor_id-86/pr...
Does anyone know if Germany plans to introduce one as well?
Massacre in Peshawar
I'd like to see the IE 7/8 versions of these snippets on the site in the OP. Wouldn't be so concise then, eh?
8 Stunning Content Marketing Statistics
This is why I love xprivacy. It gives me a popup when an app tries to access something, and I can whitelist or blacklist it, either on a temporary or permanent basis. Unlike google's halfarsed attempt at a privacy layer, it also doesn't give an exception when an app tries to access restricted data as that can cause apps to crash; it just sends back fake data (device ID is DEFACE, contacts are empty, location is christmas island, etc.). It also covers just about every permission you can think of, unlike app ops/privacy guard that are just a few.

Although really, what needs to change isn't just in android itself; it's also developer behaviour. Stop trying to do intrusive things like prefilling forms, as it doesn't benefit the user in any real way.
you didn't ask for citations and I'm not your researcher here (youtube syria yourself). I gave you the sources that I wanted for the points you questioned initially. I should have ignored your entire comment when you called everything I said as fantasy without giving any citations or proof for your opinions. now go and argue to the next table.