skysight-inc/HackerNews huggingface dataset:
Business value is simply return on investment.

So a developer wants to write module A in some data measurement application because the code looks ugly.

He or she, takes three days to make the module a work of art that passes code review with top score.

Those three days mean in business language

cost_of_moduleA_rewrite = 3 * 8h * salary_per_hour

So that developer just took $cost_of_moduleA_rewrite euros/dollar/yan/whatever out of project budget because the module was "ugly".

So what value does the money spent reflect on the productivity gains of the users, costs related to build software, maintenance costs and so on.

If in the long run it has helped to reduce costs that without the re-write it would be higher than $cost_of_moduleA_rewrite, then it has business value.

If the developer has spent $cost_of_moduleA_rewrite without any positive outcome on project costs, then it doesn't have any business value.
Parent comment didn't say they were ideas that "need defending in a free society", or anything about freedom. He just said that censoring them might have negative consequences.

I don't know if it's correct in this case. But I know that in general, people see censorship as validation of the ideas being censored, and also as a rallying flag for something to be angry about.
Does anyone have a recommendation for resources to learn more about (ethical) hacking and penetration testing? I have some knowledge of common web vulnerabilities like XSS, CSRF, SQL injection, etc, but have very little knowledge of networking and how networks and systems are actually attacked.

For example, this course [0] looked great, but I found that it wasn't quite right for me. (Assumed I knew things I didn't, focus was sometimes off-topic, etc.) Any better recommendations?

[0]: https://www.cybrary.it/course/ethical-hacking/
I'm not talking about videos of beheadings (although there's a case for keeping things like that around too to help educate people). I'm talking about suppression of everyday right wing viewpoints. Things like this: http://gizmodo.com/former-facebook-workers-we-routinely-supp...

For context, I'm not right-wing myself but absolutely object to censoring content based on political viewpoints such as this.
About raw pointers — no you can’t do same as in C++. There’s no malloc/free, and placement new is still unstable. Also they feel foreign to the language, and sometimes I can’t even get them from the standard collections (like when I need 2 mutable pointers to different elements).

About the safety, it’s important to understand there’s a price. In some cases, it causes simple things hard to implement, or cost performance.

For example, there’re algorithms out there that modify items of the same collection at the same time, both single threaded like sorting, and parallel.

Can such algorithm cause a data race? Yes.

Is it good the compiler tells me about that? Sure.

Is it good the compiler prevents me from doing that at all, and forces me to code some workarounds, that will cost me time to implement, will be ugly, and/or will sacrifice runtime performance? Not sure, I like having a choice.
I think it's so weird to have so much negativity in HN comments towards Snowden. This guy should be our nerd hero. He was and he is risking his life, freedom and assets for solely calling out the US agencies on illegal activities.
Also, privatization often means: Give big government contracts to the campaign donors of the politician pushing privatization.
The discussion is in this thread. You replied to another of my comments where I spell out why I think this is a bad idea.
"Personally, I think you do deserve a second referendum. The remain/leave map shows a clear border. Northumberland votes out. North of that, its all remain."

It's tough luck. You can't threaten to quit every time things don't work out for you.

"The biggest thing to me is that many in the leave camp used very similar arguments against the leave camp in the Scottish indy ref."

I don't think anybody envisioned we would actually leave.

"That and the EU/better together camp said Scotland wouldn't be part of the EU if they left and should therefore stay."

It's not entirely clear that Scotland will be able to join the EU anyway. There's a long waiting list and large payment required.

"Note: from Manchester. Voted remain. Don't see the SNP as the national threat they're portrayed to be."

I also voted remain. I'm not afraid of the threat of Scotland to the rest of the UK, I'm afraid of Scotland's threat to itself.
I think everyone has time for it, but it requires nerves of steel. You are thinking "I could just fix this the easy way", you are feeling social pressure to quickly get to the next thing. It's easy to decide "I can't take the time to really figure this out."

But if you can ignore the pressure and stick to your guns, you end up saving time in the long run, sometimes making orders of magnitude more work possible. Most managers should appreciate that.

But it's difficult to have the nerve to do it, and it can be difficult to explain in the short term. Like most opportunities there's a cost to pay up front.
Google search spike suggests people don't know why they Brexited
> And, crucially, it already had a shared cultural identity, shared language, and shared religion when it began.

I don't think this is true. German, for example, had a very strong presence.
But people not only "bubble" themselves, Google and Facebook (everything personalised to one's liking) heavily encourage that, so using the "bubble effect" as justification for removing radical content is really strange.
Artificial Intelligence's White Guy Problem
Precedence is actually not hard. The way I do it is:

(1) Parse everything as though it were left-to-right.

(2) After each node is parsed, look at its immediate descendants and rearrange links as necessary. (Nodes in parentheses are flagged so you don't rearrange them.)

I can tell that the person above who is listing off a bunch of reasons not to use "recursive descent" hasn't written a compiler by hand ever (or not well). Most of the things he is talking about are easier to do by hand than in some complicated and relatively inflexible system.

Note that 'prediction' is mostly a red herring since you can look as many tokens ahead as you want before calling the appropriate function to handle the input. You would need to have a pathologically ambiguous language in order to make that part hard, and if your language is that ambiguous, it is going to confuse programmers!

In general, parsing is easy (if you know how to program well in the first place) and is only made more difficult/inflexible/user-unfriendly by using parsing tools. That doesn't mean that academic theories about parsing are bad -- it's good that we understand deeply things about grammars -- but that does not mean you should use those systems to generate your source code. (I do think it's a good idea to use a system like that to spot ambiguities in your grammar and decide how to handle hem, because otherwise it's easy to be ignorant... But I would not use them to generate code!)
Looking these things up, Chomsky normal form is clearly irrelevant, and Greibach normal form forces "progress" to be made. The equivalent of this is, let's say you hand-roll a parser and notice that it's recursing infinitely. Then you realize, "Durr, you bozo, you need to force it to consume something or it'll recurse forever without going anywhere!"

And then you solve that problem by having it consume something first. For example, if you're parsing an expression a+b*c+d, and thanks to some naive thinking about left-associative operators, it recursively calls itself without consuming data. So you'll say, okay, first I need to chew off something that consumes data. Then -- what else can you do -- see if you've got an operator, and grow an expression from there. That's a well-contained situation that marches you straight into the right solution.
I suspect it's more about public perception than hard facts: There's a huge difference in opinion about the EU in its member states, even those in ostensibly similar economic circumstances.

Take some of its smaller members with a similar GDP per capita (entries 37-42 of [1]), and compare their agreement with the statement (OUR COUNTRY) could better face the future outside the EU according to Special Eurobarometer 415 from 2014 [2][3]:

Agree Disagree
Czech Republic 42% 49%
Slovenia 42% 48%
Slovakia 28% 64%
Estonia 21% 74%
Lithuania 22% 71%
Portugal 37% 52%

The Eurobarometer poll had the UK at 47% agree / 41% disagree, so one could have predicted a result of 53% in favour of leaving the EU, which is not far off and likely influenced by common anti-EU rhetoric among British media and politicians.

[1] https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)...

[2] http://ec.europa.eu/public_opinion/archives/ebs/ebs_415_en.p...

[3] http://i.imgur.com/2kNwdtf.png
Totally agree. I really think it's important for the community that there be a easy, free, and open way to view the source code (or some readable not obfuscated version) of any site.
I don't mean this flippantly, but perhaps, at least unconsciously, for reputation or glory or whatever. If you just give a chunk of cash to an existing study you don't get, say, glowing articles written about you.
The indicator that tells the machine that "This card is a chip card" is a single bit on the mag stripe. Turn that bit off when cloning the card and the machine never knows it should have asked for a chip.
My experience within the North American precast concrete industry is its almost unanimously over-engineered. However, I am not a Structural Engineer.
One of my subpoints was that what you call "mass" media is not that mass, but quite segmented and self-selecting, as are friends, and I also think that political belief and frame tend to be passed down through family.
Looks interesting! Have you implemented any more complex grammars with this, e.g. Python or Javascript? Would be interested to see how they perform.

Also, does it support multi-stage parsing, i.e. generation of a token tree and then a parse tree from it?
Anyone know some really good tutorials to get moving with this?

From my brief explorations in the past, I just haven't found graph based compositing to be intuitive. I'm hoping it makes more sense once you understand a few key concepts.
Sexism, racism, homophobia, jingoism, etc are all considered unacceptable and politically-incorrect, but for some reason condescension and unjustified attacks are A-okay when it comes to certain regions of the US.

I don't really understand this, although my hunch is it has roots in feelings of intellectual superiority.
How about computing with 0 instructions? (aka Intel MMU's fault handling is Turing complete): https://github.com/jbangert/trapcc
No way!

Thank you so much for the response! Complaining on the internet finally worked! :) I definitely hold nothing against Stripe, I still love you guys.
I meant that, from their perspective, "Establishment" wickedness of the sort being discussed in the article comes from London rather than Brussels, so supporting Brexit wouldn't make any sense.
So, basically what I said earlier. Nothing but the right to come back.

What is that really worth? $50/year or so?
I'm not confusing the concepts. And I'm not stopping you from saying what you want. I don't see the point though. There's no content there.

"This company is legally allowed to deny random user #24232's attempts to get us to stream video #198284, but I don't agree with that; I think they should be allowed to upload it". Well, so what? Who cares?

If you felt that strongly about it - not just "i'm going to type a really angry comment about it" strongly but "actually do something about it" strongly then you'd be hosting content yourself. Or at the very least trying to show why it's so important that this particular company should be hosting it. Or you could find another company which would host it and tell people they should be using that site instead. A lot of the complaints I read about freedom and censorship just seems like empty posturing about what companies should or shouldn't do. It's just lazy. These companies only do it at all to make money. Your statements about whether a company should or shouldn't host something would be better phrased as "this company should be hosting this video because it will make them more money". Of course, with a lot of this content the opposite is likely true; complaints from advertisers, users etc will cost them more money (and hassle) than any money they'd make from the average video. It's time to stop thinking of facebook, youtube etc as being a social media version of the First Amendment and more like a conservative pension fund.
It could be, but get deep into the poor rural south, and prepare to go back in time to a place where electricity is optional, people live in trailers, and poverty is rampant.
Okay, here is the Washington Post article on the exact same study: https://www.washingtonpost.com/news/worldviews/wp/2013/05/15....
The EU project is a political one (encompassing things like currency, fiscal and social union), and not just a single market like the most liberal English right winger want it to be. The referendum is a plebiscite for this politic, even though it seems that part of the electorate has been conned into voting to leave.
Ha! You are actually the person I got in contact with when I complained to the help email.

You were very helpful! I am looking forward to having access to more banks! (If that is in the plan)
A Pratt-style parser makes expression precedence easy in a recursive descent parser:

"use strict";
var tokens = [2, '+', 5, '+', 9, '+', 4];
var PREC = {'+': 1, '-': 1, '*': 2, '/': 2};

function expr(prec) {
var value = tokens.shift();
while (true) {
var nextToken = tokens[0];
var nextPrec = PREC[nextToken];
if (!nextPrec) break; // not an operator
if (nextPrec <= prec) break;
tokens.shift();
var rest = expr(nextPrec);
value = [nextToken, value, rest];
}
return value;
}

console.log(expr(0));

I find this technique useful because I can implement it in any language without being dependent on a parser generator.
Thanks. Some examples?
The only alternatives to privatization I can see are:

1) force the population to collectively pay for these services
or
2) force specific individuals to provide these services for free

Option 1 is morally questionable and option 2 is a type of slavery, so it seems privatization isnt quite as bad as the alternatives. At least with a privatized service those who wish to opt out, can.
How ad fraudsters are stealing the charity money
I am not putting that much weight into, 5 minutes a day is not a lot be familiar with the capabilities of the tools. A couple weeks ago, I had no idea that `jq` had a compiler in it. Many of us, myself included, use our tools in very shallow ways.
The 6809 (direct page, anywhere in memory) and the 6502 (zero page) allowed quick addressing of 256 bytes using just an 8 bit address. This handily outperformed the 1802's 16 word register file because effectively that gave the other two a large number of registers (with about the same code density).

I do remember the 1802, there were some interesting hobby projects around it but I never built anything with it. The DMA controller looks interesting, I'm not aware of any other 8 bit CPU that had one.
Not sure if this a good thing they would just move further underground vs. allowing it to continue and flag these accounts/send notice to law enforcement and the FBI. They supposedly track us anyway hopefully they are tracking these degenerates more then sally sue saying how much she loves joe weiner.
> predatory practices by private companies

It does sound awful not to have access to fire service to someone like me who is used to it,* but then again, have the company done anything wrong by offering the service? Starting no company at all and offering no service at all would have been acceptable, right? I mean, that's what most of us do. Then, is there really anything wrong with offering people a service, even at a high price, if you don't take away any alternative they already had (which in this case would be to let the house burn)?

* I haven't actually ever used the service, but I count on that they will come if I call. I count on the fire department coming more than I do the police, because if there's a fire, other people's stuff and lives are on the line. When it's just about me, I'm not as sure that I am considered worth the cost. For the record, I'm in Europe.
Seems like it is more or less equally distributed, ie there's a spike in London, the biggest city, but also plenty of support in the pro-Brexit areas. Still, you can't have a pony, I guess.
You may enjoy Bill Hammack's video "IBM Selectric Typewriter & its digital to analogue converter"

https://www.youtube.com/watch?v=bRCNenhcvpw
Brexit Buoys California Independence Movement
Ok a small worry:

1. HSBC bank regularly has board meetings debating to move to Hong Kong. This will probably tip the balance.

2. Most banks want to cut staff. For example in 2013 BARCLAYS did 50bn a year on 130k headcount but google did same 50bn on 40k people. Most banks think they can lose 1-2/3rds of their staff, and this is a once in a lifetime opportunity

Now, if my pessimism is right, suddenly London finance sector has 10s of thousands looking for work. The frothy housing market will tank with the dock lands hit hard but generally the unsustainable prices heading south. The knock on effects to the commuter belt will be equally hard. I can imagine being close to negative equity myself.

It's hyper local, but it's a real fear.
It's almost like a slightly more civilized form of ISIS that the rest of the world continues to buy and sell from knowing all the civil rights abuses.

Maybe next century they will let women ride bicycles, or show their ankles.

ps. BTW did that reporter seriously just report a woman's name, age and city, who SECRETLY told she has driven against the law? Gee what could possibly become of that in Saudi Arabia. That's responsible journalism.
I see - I searched for a while and it seems (if I'm reading correctly) that right in the RFC from 1999 it says to use / check prime-ness of the modulus: http://tools.ietf.org/html/rfc2631 so I'm still a bit confused - maybe the point is that it's commonly not done?
Would that we as a profession developed an encyclopedia of ways of pushing back on "Is it done yet? How much longer?" completion pressure. There's certainly a profusion of lore about PFYs and lusers, why not structural business frustrations?
The Python grammar can be formulated in a context-free form (to my knowledge), except for the indentation rules that require access to a stack, albeit only in the preprocessor (which replaces the indentation with INDENT / DEDENT tokens). Another complication is that NEWLINE characters that occur inside parentheses are optional terminals, whereas outside they are relevant (this does not require a context to be parsed though, it just makes the tokenization step a bit more complex).
I've spent 100 of hours at sea. Reading the article I had the same thought as the captain on the fishing boat, "I've heard talk of rouge waves, but I've never seen one." That is pretty amazing. I haven't seen that video, thanks for sharing.
> my hunch is it has roots in feelings of intellectual superiority

As well as good old fashioned, 'fear of people with different values and culture than your own'
Apart form the flippant tone I'm not sure why you got downvoted, that's pretty much a good tongue-in-cheek description of saudi arabia.

Frankly if they where not sat on top of a lot of oil they'd be seen as backwards pariah's.
This article made lots of great points, but I fundamentally disagree with bucketing everyone into "elites" (whatever that means) and "everyone else". Every leader (within the media, a government, a political party, etc.) is an elite by the definitions used here. Trump is an elite. The politicians behind Leave are elites. They may be trying to displace other elites with different views, but that doesn't mean they themselves aren't elites. They're just really good at convincing people that they are disenfranchised.
Youtube, Facebook, Twitter all loudly trumpeted their attempts to assist "free speech", especially during the Arab Spring.

And they were only doing that when what they were doing was going along with the cultural democratic zeitgeist at the time.

If they were more open about "Hey, we're providing you a free service, we can shut you down if you don't conform to public opinion" that's fine also. But you can't have it both ways.

Either you support the free expression of unpopular opinions, or you reserve the right to censor anything at all you find objectionable. You can't say "I support expressing opinions, as long as I approve of them, and I support freedom!"
Reminds me the scene in Alien where they turn on the damaged Ash.
I don't know what Ohloh is but it looks like it's some kind of web software, in which case I am totally unsurprised.

Are you confident that the same programmers could have successfully built a line-counter if they built it using parser tools?
Why should any people have a desire to be a part of a political organization over which they have zero control, but must pay taxes to?

For one, because the political organization benefits them? Control is not the only desirable property of an organization.

Furthermore, the UK did not have zero control over the EU. It had one commissioner (the same amount as any other member state), and 10% of the seats in parliament (second only in representation to Germany) -- So your question misrepresents the situation. If you do not like to be called out for that strawman argument, please inform yourself or be more articulate next time.

Ironically, the situation "zero control, with tax obligations" (i.e. the Norway solution) is now the most likely option for the UK.
That sounds like a different issue, really. Do you mean that it is an argument for classifying videos as "extremist" and disallowing them?
The qscores do occurs, just the error bars on them are quite large in practice. It certainly would be interesting to see if the analysis can be constructed from quantized q scores.
In the British Social Attitudes Survey, 30% of the population said that they have "some level of racial prejudice". Given the stigma of those beliefs, I expect the real number could be significantly higher.

Attributing Brexit solely to racism and xenophobia is clearly unreasonable, but it is equally unreasonable to dismiss it entirely as a factor. There are some striking demographic correlations between Leave voters and people who admitted to being racially prejudiced.

https://www.theguardian.com/uk-news/2014/may/27/-sp-racism-o...
I relocated from another continent. My company gives decent relocation/signing bonuses, so I assume our competitors do too.

Again, I'm all for higher wages in Berlin, but let's be realistic, the market rate is what it is, no company in its right mind is going to hire someone asking for +50% with no good reason.

Also, this thread is about European tech hubs. Have a look at average startup salaries in London, Paris, Nordic countries, ...
> Frankly if they where not sat on top of a lot of oil they'd be seen as backwards pariah's.

Frankly if they sat not on oil the women would be able to drive.
If you can't write a lexer by hand, just forget trying to write a compiler that does anything interesting, because the lexer is MUCH easier than any other part of the compiler.

There are a lot of reasons for this, but one of the basic ones is that the lexer does not need to interact in a complex way with the compiler's state. It is a relatively simple pipeline where characters go in one end and tokens come out the other.
Contagious cancer cells are 'widespread phenomenon' in sea
No, I'm not belittling people because they disagree. I'm belittling people because they employ misdirection to "win" an argument.