skysight-inc/HackerNews huggingface dataset:
I have no idea how you derived that from that comment.
Just as inexperienced as this Kerningham guy.

On the other hand, I'm happy if my C code compiles, so I shouldn't throw any stones here.
I have a dream-Martin Luther King
>he helped likely criminals escape the reach of justice

The lie detector is ineffective, and "catching" someone based on it is not justice, regardless of their guilt.

Consider a thought experiment (which is admittedly loaded, but instructive, I think): suppose that the government is institutionally anti-Irish. During their interrogations, they routinely ask for documentation of family history, and if they find that you have Irish ancestry, that weighs heavily against you.

As an objector to this unjust state of affairs, you specialize in falsification of documents to obscure Irish ancestry. Some of your clients admit to you that they have in fact committed crimes, but you help them anyway. Have you "committed a horrible deed" in ensuring that their fate is not decided by non-evidence?

>Perhaps we as a society rely to much on this "so called" technology

Perhaps?
May I offer some practical advice?

You do have extensive logging, especially around the buggy code?
Do you have source-level debugger that shows your variables and that can step/trace through code?

These are the 2 tools that I have found most indispensible when squashing bugs in the past. Somehow source-level debugging seems to have disappeared from the developer's toolbox the last couple of years. I am told you don't need it anymore as you can write tests (???).
The Mac client crashes a lot with ~10 shared folders checked out in my experience.
If you want to check the various words in isolation, surrounding spaces might cost you some matches, e.g. at the end of a sentence ("It's a piece of shit.") or when followed by a comma. Also, did you ignore case ("Shit happens.")?

How about trying \b[Ss][Hh][Ii][Tt]\b and the likes?
Does it occur to anyone here that he is set up and put in prison to teach someone in prison working for some shady agency how he can deal with his next interrogation and be set free of guilt? Would be a great movie script, though.
That space before the closing slash is actually not allowed in XML, but was required for browsers that couldn't interpret XHTML. XHTML was broken from the get-go; the only virtue it had was that it taught a generation of web developers to be consistent in their markup.

(By the way, since sibling nodes have no specified order in XML, there's no reason why one paragraph should have followed another on a web page consistently, and the <ol> was an oxymoron.)
They are essentially inadmissible as evidence (this is apparently not quite that clear cut, but as far as I can tell, it'll do for our discussion) but it is not disallowed as a post-conviction measure. Apparently, once you've been convicted, the laws of logic magically stop applying to your situation.
I'm still not really getting it. Which IP addresses are they referring to when they say "huge swaths of the internet"?

Most IP addresses... most notably including the victim's IP address. Scenario: Attacker sends 36 byte DNS query with a falsified sender address (that of his victim) to, say, Google's DNS servers. If the origin isn't verified through something like IPsec, Google won't be able to tell that the sender was forged. Google then sends 3000 bytes to the victim, thinking they're simply replying to a request, whereas they're really (unknowingly) facilitating a DNS amplification attack (so called because the attacker turns e.g. 2Gb/s of botnet traffic to DNS servers into 200Gb/s of DNS responses to the victim.)

Your random residential ISP may limit their DNS service to customers only -- unless the victim also happens to be a customer of said ISP (the very rare case), the victim's IP address will be refused service, and not sent a response. While this blocks "legitimate" requests (without forged senders) as well unless you're actually on that ISPs network, in practice this is rarely a problem -- DHCP is probably advertising the DNS servers which will respond to you on whatever network you're on. Aside from preventing other ISPs from having their customers freeload off your ISP's DNS server, this also prevents the attack (at least with regards to DNS servers.)

How do they differentiate between a legit query and a DDoS query?

CloudFlare, being on the sending side of the equation, can track what DNS requests are going outbound even without IPsec, and drop inbound responses which can't be matched up against one of those requests. That sounds expensive however. I imagine they do something much cheaper, like simply drop all inbound DNS traffic except the approved list of DNS servers that are probably advertised over DHCP anyways. Again, this can block technically "legitimate" requests where someone really did want to intentionally use some other DNS server, but again, rarely a problem.
It seems like the C99 _Bool type implements the same implicit type conversion brain damage.

It does: "When any scalar value is converted to _Bool, the result is 0 if the value compares equal to 0; otherwise, the result is 1." (from §6.3.1.2 of the N1256 draft)

Compilers will happily compare/set pointers to 0 since that's the null pointer constant (§6.5.9, §6.3.2.3), so there's no warning:

% cat foo.c
#include <stdio.h>
int main() { _Bool b = "blah"; printf("%d\n", b); return 0; }

% gcc -std=c99 -W -Wall -Wextra -o foo foo.c

% ./foo
1
Interface between atoms and superconductors
Google Analytics Implementation Guide in 10 Steps
Retask: Simpler alternative to Celery
F.B.I. Sharpens Scrutiny of Syrians in U.S.
There was a wire and some fraud? Prosecutors love to throw everything at the wall to see what sticks, it also helps them extort a plea bargain when the choice is between argue your way out of 1000 years in prison or take 5.
There were few enough curse words that I manually checked the output of not requiring spaces. Regarding the case sensitivity, it looks like I missed 12 instances of swearing because of that. Also, grep has a "-i" parameter, which makes it case insensitive.
I feel like sandwiching some phosphorus into that and hitting it with some high voltage AC current, just for kicks. The electroluminiscence should make for an interesting light display.
Oh, when I say limiting violent speech, I just mean with respect to one of the classes identified under existing anti-discrimination laws (e.g. the laws about employment), i.e. the same classes that you would commit genocide against. The government is not such a protected class. At least some of the non-US G8 countries with hate speech laws don't limit violent speech against the government, as far as I know, and I do understand why being allowed to talk about overthrowing the government is important.

Minimally though, I still don't understand why we need to allow people to advocate genocide. It's pretty clear what genocide is, and it's pretty clear that it is never good. In some countries, if I remember correctly, this is the only form of hate speech that is forbidden.

Like, I get that the argument is that it's a slippery slope, but many other countries have demonstrated there's a workable middle ground (Canada, UK, France, etc.). If you read the hate speech laws for each country on Wikipedia you'll see that in some cases they are quite narrowly defined, and I'd be perfectly happy with those.
I've never seen Google pick up a temporary highway closure in Canada. And while vacationing in Norway I found the built-in maps on the GPS unit of my Norwegian rental car more accurate regarding ferries and tolls.
I love how penguin is halfway between bastard and crap, I'll update my swear word dictionary.
Can anyone explain the inclusion of "penguin"? I know Tux is the mascot and all, but is it some kind of inside-joke-swear-thing?
Why can you sign away your right to legal recourse in some contract, one that you sign on your phone with a swipe of a finger? That's ridiculous.
I hope Uber can succeed in taking a stand on this. Tips are terrible for both consumers and workers; the only beneficiaries are the employers, who get away with underpaying their employees. And most of the world agrees. Why is North America so slow to realise this?
It's not an optimum ordering algorithm, it's a top-k problem. The overall order is not requisite, nor is the order of the top-k elements. The problem is that it provides no useful insight into whether the candidate will be a capable PHP programmer. The most productive, capable PHP developers I've worked with would not likely fair well on this kind of question, while some of the most useless, hapless programmers I've known live for this kind of question. I agree with the sentiment that these kinds of questions are largely asked to make the interviewer feel smart.
That is not quite a nuanced enough approach to be effective.

First of all, what you have to do is determine which questions are "control" questions. These are questions where the interregator expects less than 100% honesty, and they use responses to these questions as a comparison when asking you the "relevant" questions. For example, they might ask "Have you ever lied to get out of trouble?", or "Have you ever revealed a secret told to you by a friend?" You use your false-positive triggers on these questions, exaggerating the response the interrogator will associate with deception. [Edit: To clarify, the point here is that you don't want to give the interrogator a high entropy data set; that would just lead to them thinking you were lying at random. You want their data to give a very specific indication: that you have been truthful on all relevant questions]

Secondly, the latest edition of The Lie Behind the Lie Detector[1] notes that examiners have begun using sensors to attempt detect physical countermeasures, such as sensors to detect changes in weight distribution. It has not been determined if they are able to detect intentional anus constriction, but in the interest of caution, they advise sticking to mental countermeasures and tongue-biting, which definitely cannot be detected (although I would expect some attempt to detect the latter in the future).

Finally, it's really important to remember that these examiners are interrogators. The lie detector is a tool that they use, and in many ways it is a misdirection. One of its key purposes is to make you feel that they have an edge. Knowing that you can fool it is an important piece of the puzzle, but you must always remember that their bottom line is to get you to make damaging admissions. They are well-trained at this, and they will certainly use other techniques besides their toys.

[1] https://antipolygraph.org/lie-behind-the-lie-detector.pdf
What the actual fuck. Polygraphs are unscientific bullshit snake oil anyway and I can't believe America still uses and believes in them.
Okay, let me put it differently: I'm not an image compression researcher, but I find it hard to believe that you actually need pictures of naked women to judge compression quality. Pictures of people, sure, and maybe even showing some skin. But beach photos would work fine for that, as did the cropped picture of Lena back in the day. So: citation needed.
A guide to Python's magic methods
Agreed. I travelled overseas this summer, and what I miss most was the tip-free culture. It was so refreshing to know exactly what something would cost you. When I go into a cab or a restaurant in America, the bill at the end always seems to be a mystery. It's a very anti-consumer condition.
I have a lot of friends who work in the service industry. All of them complain about their tips being skimmed off credit card transactions by the owner. Every single one.

Tips = Commission. Stop conflating it with a bonus for kissing your ass. It's an incentive to hustle and get orders filled.
I don't understand why this is an issue for the courts rather than one for the market. If you can make more money not driving for Uber, don't drive for Uber?
People love Uber because it's disruptive and it's better than taxis. But, the future is not Uber. The future is any car owner becoming a taxi. I have a ride; you need a ride. Why shouldn't this be? There can be services that track reputations of both drivers and passengers and travel arrangements can be taken care of through a central service as well. Taxi monopolies are archaic and need to die. Uber is a transitional service but it is certainly not the final answer to the current way of things.
I say SO on Ars is not blogspam because unlike, say, most everything on Lifehacker, the content on Ars is not a thin veneer of bullshit/fluff designed to position an ad between the user and actual content.
I agree with you, but this is purely a software problem. Something like https://www.sqwiggle.com/ solves most of the human interaction issues. And if everyone could view everyone else's desktops in real-time, that would let you strike up conversations with others about what tools they're using.

Everyone in this thread seems to be talking about remote collaboration as it exists today, but I'm talking about how it will be in the future. The software isn't there yet, but it's bound to get there eventually.
Don't understand this attitude at all.

Tips are nothing but a demeaning way to tell low-status workers that the value of their time is arbitrary and their livelihood is always subject to whim. Do you tip your doctor? Do you tip anyone with a high-status job? Of course not.

Tipping should just be abolished. Set a price and charge it. Pay people fairly and consistently so they can feel secure and plan for the future. Anything else is just sneaky.
These workers could have ties with taxi companies (and they're being paid to bring on the lawsuit), or they want to take advantage to get more money.
Everest base Camp Trek, Everest Trek, Everest Base Camp Trekking
Everest base camp trek on the southern side (Nepal side) is popular for trekking.Every year thousands of travelers trek to Everest Base Camp. This trek starts from Lukla after taking short flight from Kathmandu. The main attraction of this trek is the Mt. Everest You can enjoy the scenic views of mountains and wild civilization of locals.
Nobody works more than fifty hours in software. Tops. Few can work for fifty hours a week, really. You'll start lagging, or doing what a charitably call 'fake work', where you are around the office but not really being productive. (There are a thousand ways to do this.)

When you find yourself doing this, go home. You think you're doing something bad, but you are not. Your output will get better, in fact. You are not at some fortune 500 company where you need to play politics by appearing busy. You are at a startup where you need to DO GOOD WORK OR YOU WILL BE OUT OF WORK. Go. Home. Let your product do the talking.
The group's name has change from Matsushita to Panasonic, so this would bring the count down in the future.
> Although i expect that finding the shortest possible algorithm that describe a set must be NP, if possible at all (that consecutive n-tuple comparison algorithm certainly isn't guaranteed to find it).

Okay, you've mentioned Kolmogorov complexity, that's a reasonable approach. In that definition, a function able to produce random numbers is not (cannot be) smaller than the resulting set, i.e. it has maximum entropy. The reason is that a function that is smaller than its result implies that a pattern is being exploited, and that, in turn, implies that the set isn't random (such a set by definition would have no exploitable patterns).

Another test, based on the same ideas, is a hypothetical compression algorithm, not one that we know of or can write, that is put to the task of compressing the "random" set. If the compression algorithm cannot make the set smaller, the set is random. This also addresses the issue of exploitable patterns and entropy.

But all these ways of thinking about randomness relies on the set being infinite in size (or an inexhaustible function as a source for the test values). If this condition isn't met, and if we acquire a finite set of numbers of size N, one can argue that the next set of that size will be a repetition of the same values, therefore not random. This objection can only be answered by defining the problem in terms of an infinite set.
> NT was designed by the team that did VMS in a 3-month retreat to Hawaii. the design they created has lasted with very minor modifications for the last twenty years. can linux say the same?

It's not necessarily a good design just because it has lasted for 20 years. It might just be that it's too expensive to change any of it. Although I should probably say that I'm not informed enough to judge
Thanks for posting the original link to SE, it has so much more valuable content that garbage articles on Ars..
That can be both good and bad. Good because you get a ride very quickly. It's bad because you have no idea...

* Who your driver is
* How long h/she's been driving
* If there's a camera in the taxi (for your own protection)
* Whether that's being monitored or just disconnected
* How well the car is being maintained
* Whether the driver has insurance and actually knows how to get to your destination
* Whether h/she's from New Jersey (I kid, I kid... mostly).

Taxis are regulated, ideally, for this reason. I think drivers should have the right to apply to become a taxi driver, but then they have to maintain certain standards -- especially safety, competence and fee structure -- or what we end up would be an order of magnitude worse than what we have.
Even after reading all the comments I am not sure should I use bool in C code or not. I am C++ programmer only starting to have some fun in C.

Linus says: If "bool" had real advantages (like having a dense array representation, for example).

But doesn't bool have the advantage of reducing perceived complexity of the code and making the code more understandable? If the function returns int, one might assume it is some number, and he would have to use documentation or look at code samples to find out the int is only being compared to 1 or 0. Type bool instantly tells there's some kind of check or flag that is returned, and makes it undoubtedly easier to tell what's going on.

As for casting rules other mentioned, doesn't the C compiler warn about anything converting to anything that can store less information than what it converts from?
I've noticed many companies have this "tips included" built into the price which I think is a poor practice. Tips are supposed to be a way to reward excellent service and incentivize the employee to work hard. Having worked in a restaurant for 6 years I always tip well but I can say that honestly, I've had several experiences where the person didn't earn a tip. If you're going to include tips into the price, just pay them a flat salary and be done with because a mandatory tip isn't a tip at all, it's a surcharge.
I doubt they retroactivly change code/comments because the original organization changed their name. The Matsushita references will probably stay there until they bitrot and get removed/rewritten.
Supporting your suggestion; I find that GDB is the best weapon in my arsenal. I am also fond of assertions that end the app and squawk loudly if a constraint is unmet.
Why I said no to silicon valley
Great guide.. Very useful.. Thanks for sharing.
As if their only choices are between working in my country's economy or starving to death.

The issue is, those people "on the other side of the fence" can have dramatically lower costs of living. A completely free labour market for software development would mean that nearly all software developers would have to live in some extreme low cost location just to survive.

And who does this benefit exactly? Not the software developers, the majority of them would take a massive reduction in salary or complete loss of one. Not consumers because that's us. Those who just got a massive pay cut or lost their job. Nope, just executives who are already making far over their share.

In other words, globalisation of the labour force helps those who need the least help.
Great document. Thanks for sharing. :)
>> As a C99 feature, bool is too little, too late; had it been part of C89, things might be different.

I'm failing to understand this line. Can you be more explicit why it's bad now, and would have been good earlier?
It seems to me that the only reason you frequent HN is to find any potential startups that might be using a system remotely resembling what you described in your patent, so that you could sue them. Pathetic.
I don't buy it. Who the fuck wants patents on not just well researched algorithms but something as simple as the doubly linked list? Even though I haven't seen that used in court, for good reason, I still can't see that and other signs as symptomatic of something that needs to be taken behind a shed.

Who profits from software patents? Who gets held back?

Why does the narrative matter at all? Don't you remember the fucking shit throwing contest over pinch to zoom?

What drugs are you taking. Are they legal?
That patent is a fucking joke. You didn't invent anything, and the claims section reads like a parody, buzzword combination without thought or insight.

So you want to profiteer on a broken system? Cool. But don't hang out here, handing out advice and pretending that you're anything but part of the problem.
I guess you don't get out much, or haven't run a service business. The concept is variable cost of labor. If you're a bartender working a busy shift, you can pocket several hundred dollars off dollar a tip drinks.

What do you think would happen if tips were abolished? The owner would increase their wage a tiny bit. Who do you think will be working that job then?
The future is actually externally-verified personally signed data systems, which could cover most of these fairly easily.
The bad news is that replicating an actual polygraph scenario is basically impossible. Even if you go in for a real polygraph, it won't be the same as having something riding on it.

The good news is twofold:

1. It's seems not to be as difficult to fool a polygraph as it is to get code to compile.

2. You can measure some of the factors they look at. A heart rate monitor, for example, can aid in practicing raising your pulse.
Another problem with that typedef and usage is that it assumes that NULL as an integer is 0. It need not be. The literal constant 0 cast to or assigned to a pointer type always works because they compiler treats that as a special case, and replaces the 0 with whatever the actual NULL bit pattern for that pointer type. E.g., "char * p = 0" might actually generate something like "move #0xFFFFFFFF, p" on a machine where 0xFFFFFFFF is the bit pattern for NULL char pointers.

A lot of people forget this, and think that NULL pointers must actually have a bit pattern that is all zeros.
All a tip is is employers tricking you, their customer, into paying their personnel costs (often upwards of 4/5ths of it!) directly. You don't "incentivise" someone to work hard by paying them the money they're actually owed by law [1].

[1] In the US, restaurants don't have to pay minimum wage unless the tips don't reach minimum wage (in which case, the company will make up the difference and then fire the employee for performance). The worst I've heard of was a working in an $8/hr state getting $1.20/hr.
Why should C get boolean write. As a language, it is very close to the hardware, and the hardware doesn't actually have the concept of a bit. The smallest unit that modern processors expose is a byte, so it makes sense that the smallest datatype C has is also a byte.
What an ignorant statement. Europe doesn't have this ridiculous tipping culture (parts do tip, but usually $1-$2 max) and yet we fill those positions. Surprisingly enough, if you pay someone a living wage for doing a job they tend to do it well.
Ember.js 1.0 Released
It would look like a [bigger] third-world slum.
Tips give the server a motivation to get customers served and out the door faster: The chance to work more customers and thus acquire more tips.

This is obviously good for the employer but may also be good for the consumer, if they are in a hurry.