skysight-inc/HackerNews huggingface dataset:
Brilliant article. The same is very much true of distance. I'm British, and I've always thought of 100 miles as a long way because I grew up in a (relatively) tiny place. 600 miles away was the other end of my country. That was a really long way to me. Meeting an Australian colleague of my father who was happy to do a 600 mile round trip for a day out was a revelation. How far away something 'close' is very much depends on your frame of reference.
http://en.wikipedia.org/wiki/Eight-hour_day

Is a good read on the subject and the referenced links are even better (as usual). The 12 hour workday had to be fought for... that tells you something about what %age of employers had 8 hour workdays already, left to their own devices that percentage would be very close to 0. Each and every reduction in hours had to be fought for somehow.

When I was an employer in Canada and we had the standard NL holiday/compensation package our employees were so happy, and other companies nearby cautioned me not to be too open about it lest it 'would spread' and their employees would demand similar. Employers do not tend to be on the same side as their employees in arguments like these (though they should be: happy employee = loyal employee).
I'd also like to petition SV people to stop using the term "growth hacker".
No, it's the result of nearly a century of unions fighting tooth and nail.

The 8 hour working day was first promoted by Robert Owen in 1817, using the slogan "Eight hours labour, Eight hours recreation, Eight hours rest".

It was picked up by various unions and other organizations towards the middle of the century, such as the first International - the International Working Mens Association, where people like Marx and Bakunin were leading forces. But in most places they met fierce opposition, and many places it took decades of strikes and demonstrations and campaigning to push it through.
Do You Want Google to Forget You
Internet fundamentalism doesn't actually work
The way Go expects you to organize your source code (the workspace concept, GOPATH, go get and github-repos as import paths) is a huge road block here. To this day the Go community hasn't settled on any kind of solution.

This has been a major roadblock for me. I've worked with a whole bunch of different languages, and this drives me completely nuts.
Please could you elaborate on the arm64 compiler. Is there a repo somewhere, etc?
I first heard of pg through a slashdot article on his book Hackers and Painters. I remember lots of people writing that that word "hacker" was utterly lost and should be retired. The mere existence of the petitioner in this article—Hacker Rank—a company that is taken seriously by the tech industry shows how wrong those commenters were. That the site I write this comment on—Hacker News—is so heavily trafficked by creative builders rather than malicious intruders is icing on the cake.

It's hard to change the meaning of a word, but in this one case a reclamation is well underway.
> I doubt there's a ton of intolerant people here who go, "WHAT? A 34 year old male virgin? No way, get out!"

Maybe not here, but it in society in general, that is unfortunately an extremely common attitude. You're supposed to have as much sex as you can, and if you don't, there's something wrong with you. It's a stupid and harmful attitude, but it doesn't seem to be going away.

I mean, sex is nice, but there are plenty of things better than sex. The context of the sex matters a lot too, yet society tells us that any sex is better than no sex.
- Garbage Collection is handled via reference counting and ARC. No automatic cycle detection, the programmer has to manually track and resolve reference cycles. Same as using ARC in Objective C.

- It is a statically typed language. Type inference is the same mechanism as is used in C++11 with the auto keyword. Basically, anywhere the compiler can "guess" the type, you don't have to be explicit about it. Unless you want the variable to have a different type from the inferred type, that is.
If their workers were powerless, why wait for a minimum wage increase to take away benefits?
The thing is, a cracker/intruder is also most likely a hacker, in the more mild sense of the term. They wouldn't be able to crack/intrude without 'hacking' in order to have that ability/knowledge.

The problem is that people think of A when they read B, because to them, they don't understand, or care, enough about the history of word to properly use it.
I don't think so. It seems to me that they did a good job on the interface between Objective-C and Swift, so one could perfectly live without the other. Objective-C constructs are exposed as native Swift constructs.
Ref-qualifiers (c++)
I am not saying connection does not exist (it certainly does), but I am saying connection is oversold. They support each other, but they don't support each other that much.

While I don't have PhD in math, I did learn calculus and probability. I am still not convinced that they should come before logic.
Although they do seem to be backtracking on this stance with yesterday's iCloud Drive announcement [1], giving access to the filesystem they've been trying to hide away for the last few years

[1] http://m.techradar.com/news/software/applications/apple-chal...
Smart Ways to Come Up With a Good Business Idea
"cracker" was invented as a derogatory neologism to attack one group of people that called themselves "hackers" by another group of people that called themselves "hackers".

That ship sailed approximately with the first documented use of the word "hacker": http://imranontech.com/2008/04/01/the-origin-of-hacker/

This petition is bad and its creator should feel bad.
No they didn't:

"The most common explanation for why fancy hotels charge for wifi is that their customers are not sensitive to price: rich customers, especially business travelers who charge everything to the company, don’t care about a $10 surcharge..."
It started meaning that. http://imranontech.com/2008/04/01/the-origin-of-hacker/
Yup, I think this is also good advice. If you are young, good at math and trying to choose between CS, CS+Math and Math; don't go with CS. You'll find much more challenge doing a Bachelor with other people who actually get maths. The few things you miss not doing full CS are much easier to read up over a holiday than the fundamental concepts of university math.
An alternative opinion: http://www.quora.com/Go-programming-language/Do-you-feel-tha...

Go's lack of generics kills it for me, as I've learned trying to implement a persistent collection type recently. Without any concept of parameterised types (Foo<A>), programmer defined container types are second class citizens. Casting things to (interface{}) and back everywhere gets old quickly, and you get no static type safety. So in that domain it's essentially back to the C way of doing things, with (void*) everywhere.
> It's nothing more than a signifier, of which people place a negative connotation on being a virgin.

That's strongly correlated with age. Below a certain age it is expected that you are a virgin, then there is a gray area and then above a certain age it is expected that your not.

Because we define 'normal' as 'what everybody does' being an outlier in this is perceived as negative, as if there is something wrong with you. That does not mean there is (or isn't), it just means that's how it will be perceived, it's a strike against that only gets stronger as you age.
I'm not the grandparent poster but, in this context, productivity is usually defined as $/hour worked or GDP/total hours worked (so "productivity per hour" is arguably redundant).

gp is saying that:

* Netherlands' productivity ($/hour) is on par with US'
* during 1 year, the Dutch work less hours per capita
* so GDP/capita is lower in Netherlands
* but that's OK, because Europe
Swift is definitely more approachable than Objective-C for new developers.

I would imagine that is very on the reasons for creating it.
Someone needs to add Swift to the linguist gem
I don't think there is a good solution to this yet. It's a huge market opportunity. "Stripe for affiliate programs"
A cloud that cannot be accessed from everywhere and everything is not a cloud
In my opinion, this is great news for OpenGL, it brings competition.

The problem with OpenGL is legacy code and committee hell.

If something works, like precompiled shaders, OpenGL committee will include it in the future spec.

I use OpenGL for very simple things, OpenGL needs to loose weight and get slim. I am certainly not satisfied with OGL 2.1. It is a design that does not make sense anymore with actual hardware(it did like 10 years ago).
Good work. I'll have to do 2048 instead, I guess :)

I'm quite impressed so far. Having been an Objective C and Ruby engineer, so far Swift seems to offer the best of both.

That said, OpenGL support doesn't appear to be finished yet.
No sorry, the work is relatively too early for that yet. Significant progress has been made, but a lot is still to be done. The Plan 9 C compiler included with Go works well but the Go compiler not yet. I'm pushing for inclusion in 1.4.
or just get yourself an android butler...
This remind me how the first picture of a human was being taken. Louis Daguerre took pictures of busy streets in Paris, but because the photographs had an exposure time of around 15 minutes, the streets looked empty. The exception was a guy that had his shoes shined, since he had been standing still for the period the picture was taken.

http://petapixel.com/2010/10/27/first-ever-photograph-of-a-h...

This can be considered a kind of analog filter (would this not be an average rather than median filter?)
Pretty much nobody had 8 hour work days. One of the earliest known instances of someone demanding, and getting, an 8 hour workday was a English-born settler in New Zealand, who worked as a carpenter. In 1840, he negotiated an 8 hour working day for some building work, and he started arguing for it with other workers:

http://en.wikipedia.org/wiki/Samuel_Duncan_Parnell

Here's a PDF that gives some stats from 1890 until the 1930's: http://www.nber.org/chapters/c4124.pdf

Prior to the 1890's, it took decades to even get down to the 12, and then 10 hour workday.

I don't remember specifically when there started being actual research into the productivity effects of shorter work days, but it definitively was not known at the outset - at the outset, it was driven by workers rights movements.
Consider that he may just have had a streak of bad luck rather than to jump to conclusions. Life can be pretty harsh and if you're hit with a series of blows then it is natural to try to avoid further blows, it is way out of line to point to that as 'evidence' that you have an attitude problem. That's the sort of thing reserved for people who have never had a streak of bad luck, which is great but that does not mean it holds across the board. Shit really does happen, and some people have more of it in their lives than they deserve. Note that I'm explicitly not talking about myself here, but I have some examples in my circle of friends that have received a disproportionate amount of bad luck and I can see how it affects them. Some are lucky, some are unlucky, it can't be helped and is no proof of 'attitude' or anything like that without knowing a lot more about the individual.
What happens when the Internet goes down
John Lewis fined over spam emails
For fun, many years ago, I did a series of benchmarks of ack vs grin (both are programmers greps, one in Perl the other in Python, and both were written and maintained by excellent developers well-known in their respective languages). Because the tools do almost identical work, and can be configured to behave nearly identically, in terms of enabled features, types of searching to do, etc. I believe it's a useful real world performance test.

At the time, ack (in Perl) ran in roughly a tenth the time of grin (in Python) on most tests. Similarly, find+grep with the right options (and occasionally run through sed or awk to get further refined results) was approximately an order of magnitude faster than ack (but was much harder to use, and so ack or grin were still preferable tools).

It would likely be useful to repeat the experiment with modern Perl and Python versions. Both have improved and likely have better performance. It seems likely Python will have closed the performance gap some in the ensuing years.

It's also worth keeping in mind that this may be a sweet spot for Perl, given its genesis as a language processing language. And, it may be a tough one for Python given its historic aversion to regular expressions as a common solution to problems. So, saying Perl is (or was) ten times faster for this class of problem may simply mean this is a problem that Perl is particularly good at, and may not cover other classes of problem.

I'm suspicious of microbenchmarks, though enough microbenchmarks can give some sort of indication of what larger programs will do. But, they may also be indicative of the quality of the programmer contributing solutions...a better algorithm implementation can often erase language differences. Which is why I liked comparing two nearly identical programs, both by known excellent developers and not doing anything particularly prone to algorithmic complexity, as a means of testing language performance.

I imagine one could find other examples that would be good to compare. scons and cons, perhaps, would be another decent choice, assuming cons is still actively maintained.
Have you looked at http://labix.org/gopkg.in

It is an attempt to make things still go gettable and maintain versioning so that API breaking changes don't ruin your go get. I think it's a good start.
So how do they internally aggregate an image of your fingerprint during actual usage, then?

Also, hash plus salt together is info that identifies a fingerprint. Why shouldn't it be possible to leak that info? Once you have it, you can apply it to your existing database of fingerprints to get matches - no actual fingerprint image needed...
Sarenka – meble dla dzieci
Interesting side about furniture
Interesting and very useful seeing this discussed. The important thing here isn't that any one country is 'wrong', but rather that this is useful information to guide how we interact with businesses and divisions around the world.

Once area the article doesn't discuss at all is how middle east and Indian cultures understand time. Can anyone offer any commentary on this?
Can anybody put this book somewhere outside itunes? Thanks!
Ask HN: What are your design hacks for better web design?
There are a few rules of thumb I see repeated regularly for web design, such as aiming for 1.5em+ for line-height in paragraph text and using dark grey instead of black text on white backgrounds.

What are your rules of thumb / hacks for improving your web designs?
When I was first learning about computing and networks (late 90's), I always knew "hackers" as part of the H/P/V/C/A scene (Hacking/Phreaking/Virus Writing/Cracking/Anarchy) as used in many of the zines, forums and IRC chans of the period.

However, over the years I've seen articles supporting multiple etymologies.

I think we're at a point where we're probably all at least a little right, not that it matters. It would just be useful when relating to the mainstream media and public if we could form some sort of consensus on the terminology.
I have used Go 2-3 years fulltime and I didn't find it a problem. Right now I'm using node.js and I wonder why there are more than a dozen packages with that exist in multiple versions in my npm. This is absolutely confusing.
Because those hashes, when leaked to an outside party with a big database of fingerprints (say, the NSA), can be easily be combined to find matches in that database and identify somebody. Hashes don't solve all the problems, cmelbye, the identifying info is still there!
And the same, in HTML form: https://developer.apple.com/library/prerelease/ios/documenta...
You could work whenever you want to and be just as efficient - but you would lose the benefit of social synchronization.

Having non-work time simultaneously with the people you want to share your life with is a huge factor in working at the same time.
140,000 Year Old U.F.O Discovered – The Baltic Sea Anomaly
Today I'm working on a project A which depends on B, which depends on C, which depends on D. In order to fix a bug in D, it seems that I need to make a personal copy of B and C in order to rewrite their import statements, and then I'm responsible for keeping all those packages up to date :/

(Unless I'm missing something, I am pretty new to Go. I really hope I am missing something...)
According to the video about 100 kg tractive force is enough to get the locomotive moving. That's a lot less than I expected (though I've seen a video of a strongman called John Massis pulling a loc by his teeth).
Readability matters - maybe the Objective-C verbiage melts away once you're up to speed, but it certainly puts you off wanting to get there.
I don't really understand crypto, but I suspect while adding memory safety high level primitives without any guarantees about their low-level behavior could lead to various side-channel attacks.

When implementing AES some had to resort to SIMD assembly instructions[1] instead of plain C to avoid timing attacks.

[1]: http://crypto.stanford.edu/vpaes/
Sure:

http://support.apple.com/kb/DL1736

"Further improvements to Touch ID fingerprint recognition".

TouchID was updated in system updates 7.0.1, 7.1 and 7.11:

https://en.wikipedia.org/wiki/IOS_7#7.0.1
The real difference IMHO is the very low cognitive load that Go requires. It's a very minimal language very easy to reason about. This translates into 2 things:

1. Most programers (above and below average) can just pick-up Go and be productive without much hand-holding.

2. Most programers can, without much experience, pick anyone's Go code and understand what it's doing.

Working in a company where we introduced Go for backend services without anyone knowing much about it, I know first hand those 2 are true for Go. But I'm not so sure about how OCaml, F#, Haskell or Scala would do with some of my colleagues in that sense.
> Of course, if you simply rely on "go get" then dependency hell is just around the corner when it comes to transient dependencies. A -> C-v1 and A -> B -> C-v1.1. In fact if the entire Go eco-system relied on "go get" there would be no guarantee that a library worked - upstream dependencies could change at any moment.

And that's a reason, why go projects should (at least) tag or branch properly. Other projects in other languages do releases, so that
you can rest assured that your project works properly with version X of a third party dependency.
If a go dependency properly tags or versions its code upstream, you can use that specific tag, which should give you some safety (at
least as much as with the traditional release package mechanism in other languages).

I do not see a big deal here within the go approach itself. The problem is that many just do not do this properly yet but instead
push every change to their main branch, without thinking about the possible impact for consumers of their go packages.
Even if the US courts rule it legal, it's still illegal in the EU. Basically, this means that US companies with servers and data in EU will find themselves in an awkward position, with potentially no choice but to break either one law or the other.
The 10 biggest surprises in E3 history
> There's no way to bail out of the loop early, at least with OpenGL ES 2.0 (WebGL) shaders. We can't break or do any sort of branching on the loop variable.

Is this true? I was recently playing around with a webgl Mandelbrot [1] and the core algorithm escapes with a break. I wrote it without thinking and it worked on my computer and the computers of the people to whom I showed it. Was this just luck that it works?

[1] http://caldwell.github.io/mandelbrot-html
oversimplification. you are implying that employees are the complete source of expenses in running a business. this is, of course, not true.

put most simply, if your hypothetical McDonalds (at the numbers before you introduced the arbitrary variation, for which BTW an application of the Zipf law would probably be more appropriate) fired one employee, they would not suddenly have $12256 more in revenue. they would be wise to determine the exact costs of keeping an employee when making these decisions.

---

another important argument which is often overlooked - the extra money that people at lower incomes will receive through this will almost entirely and certainly be spent back in the economy where they live! i have a strong hunch that under certain circumstances, although they might, when thoroughly estimated, turn out to be extreme, hiking up minimum wage might produce increased employment in the mid-term.
None of this bothers me in the slightest. But for the love of Christ, move the damned power button. Accidentally hitting that makes me so very sad.
Yep, sorry guys - I know I'll get crap for this, but:

The word is the clue as it implies 'invasive force'. Any other meaning is only going to be accepted when enough of you agree 'it is so'. The original meaning (and I've always known it as such, 30+ years) is perfectly outlined by the paragraph above. It does not refer to white-hat stuff.

The original word is 'hack':

cut with rough or heavy blows.
hack off the dead branches

a rough cut, blow, or stroke.
he was sure one of us was going to take a hack at him"
(in sports) a kick or hit inflicted on another player.
a cut or gash.
a tool for rough striking or cutting, e.g., a mattock or a miner's pick.

I'm going to catch shit for this. Can't we all just get along? :)

EDIT: Fine down-vote me you evil b'stards - b'stard is a person without married parents :)
The various jsBeautifiers special-case the eval() obfuscations, and in particular packer.

I think the scope of this tool is to annotate and de-uglify js code without changing the logic, so you get a more readable version of the routine that generates the eval()'d code, that sounds right to me.

EDIT: btw, can you please put the code in a code box, it messes with the layout. Mods: this is happening frequently, is it a bug?
You are correct that the initial NextStep implementations of Objective C extended GCC.

However, GCC is not longer used by the Apple toolchain. They could easily close up their work on Clang and LLVM, and haven't. Further, they're obviously still contributing - they've recently added their ARM64 backend to LLVM.

The Apple software ecosystem isn't particularly closed. Much list iOS and OS X, they're based on a pretty open foundation, with proprietary libraries on top.
because it gives a good cover. workers sometimes get outraged, go on strikes. a good excuse is worth gold.
Swift looks fine, the only thing I don't like its that is for Apple only products... that kinda defeats the purpose of having a programming language.