skysight-inc/HackerNews huggingface dataset:
Thank you, because I'm wondering that myself (and I submitted the story!). I didn't post it as a story because it was a good one. More to see exactly how deep HN has gone into parts unknown to see what happens when "presented without comment" really is presented without comment. "It's just after September 11th, so I'm going to talk about how the world should be more like my favorite programming language" is at best wacky and that that didn't get picked up before your post is interesting to me.
New Chevy Malibu Will Come with Built-In NSA-Style Teen-Tracking Spyware
10,000-Year-Old Stone Tool Site Discovered in Suburban Seattle
Hey there - game's creator here. I came across this post and figured I'd pop in to say: thanks to everyone for playing! (And thanks to stared for sharing it.)

I'm happy to answer any questions/take feedback/suggestions.

Oh, and __m: I can't reveal VR's secret identity... what if Professor Rex found out? Could spell certain disaster.
Government backed Initiative Start up Britain bullying domain owner
Except x could be an array
If you didn't already - I highly encourage you to check [1] The War of Art by Steven Pressfield. It will shift your perspective by showing you how and why most of the people self sabotage themselves and what it takes to do the work.

[1] - http://www.amazon.com/War-Art-Through-Creative-Battles/dp/19...
> What do you think the distribution looks like?

That would depend on what set of developers we're looking at:

All developers - this will be very bottom-heavy, people [usually] get better with experience and there's obviously a lot less people that have been doing this for 20 years than having been doing it for two. Additionally people who are bad at a profession are more likely to change careers than those that are good (this is by no means an absolute, I wouldn't even go as far to say most bad engineers change professions, I'm just saying they're more likely to - further contributing to higher caliber corresponding well to years of experience).

Developers with similar experience - this is much more useful as there's not much point comparing someone who's been doing something for decades with someone on their first job. I would expect this to be a fairly normal distribution.

Developers interviewing for a particular position - applicants will largely self-select (and the initial screening process would further refine that) so this group will largely have similar experience (i.e. you're typically not interviewing someone with no experience and someone with 25 for the same job). But it won't match the previous distribution because, as someone else commented, the bad ones are looking for work more often (and for a longer period of time). Do the interviewees you wouldn't hire outnumber the ones you would? Yes, definitely. Do they outnumber them by a factor of a hundred to one? Definitely not. Ten to one? Probably not - if they do it probably represents a flawed screening process causing you to interview people you shouldn't (or not interview the people you should) rather than an indication that only one out of every ten developers are worth hiring.
>Ha, ha, ha, a 30-minute commute would be luxurious.

I have to agree. My commute is 45 minutes, 65 if you follow the speed limit, and significantly better than many of my coworkers. I would really love a sub 30 commute, but not sure I want to pay an extra $300-450 a month for it. It also takes 1.5 hours by bus+skytrain+bus.

I would really love for the 5-30 minute commute to be true, but it just isn't.
CSS-based layouts, done right, still leave the underlying HTML heavily semantic. And even with a few extra un-semantic divs and spans around, you can just ignore those. The two biggest problems would be with sites that don't bother to put content in a sensible semantic order (putting huge amounts of sidebar/navigation content before the main content) and sites that generate everything with JavaScript with no fallbacks.
You are right about how tablets are supposed to work.

The problem is that in your examples this behavior no longer functions as expected on tablets.

The example should work well for both desktop and tablet. Your current implementation changes the normal behavior on tablets.
Does anyone know if they fixed the bug in the original Pixel where if the battery died (or just got too low!) it'd lose the dev mode setting?

That was my main complaint with the original Pixel - I was running Debian on it as my main machine, but after that happening for the 5th time at a conference and having to reinstall...
Show HN: Self-Hosted CRM Using Bootstrap, CakePHP
I find it a little hard to understand what it is you're even talking about, and I suggest you take a moment to understand what I'm saying (because it's nothing as objectionable as you seem to think).

What is "reactivity"? This document defines it as "the process of receiving external stimuli and propagating events". Ok, then -- I wouldn't call it a very rigorous definition, but I can roughly grasp what the author means (more or less; I think). Now, please show me why callbacks, promises or observables are more "general" approaches to "reactivity" than, say, threads, blocking queues and blocking futures? I chose those because they happen to be the duals of the aforementioned constructs. If A is a dual of B, how can you say A is the "general theory" while B is a "cultish view"? This is what is very much rejectable.

Now that we've firmly established that A (callbacks, promises, observables) is no more general than B (threads, futures and queues) -- yet the document focuses on one while completely ignoring the other -- I express my opinion (that I can support[1]), which is that in imperative languages, constructs B are far superior to their no-more-general constructs A. That, however, unlike my previous statement (about the document confusing goals with implementations, which was a statement of fact), is just a statement of opinion.

> Observers, contracts, data-flow are real, graspable concepts and if they closely model how you want to think about a problem then they are most definitely good concepts, and it's up to the platform to have good ways to express natural thought.

Sure they are, but this document mentions some antipatterns to implementing these abstractions (which is why I said it confuses implementation with abstraction). Queues are definitely a dual of observables, and in my (and many others') opinion, they are a far superior way of implementing dataflows in imperative languages (they provide implicit backpressure, and they make concurrency clear). Same goes for futures vs callbacks, or threads vs monadic composition (threads preserve stack traces, control flow and exceptions, while monads/promises don't -- they require a shadow implementation of all those basic constructs).

I model many problems with a dataflow abstraction, but when I want to implement it, I reach for a blocking queue (aka, channel) rather than observables. Don't confuse abstraction with implementation.

[1]: https://www.usenix.org/legacy/events/hotos03/tech/full_paper...
Thanks! Url changed from http://kernelmag.dailydot.com/issue-sections/features-issue-....

Pretty misleading of them to date it March 22, 2015, but perhaps that was just a technical glitch.
http://www.investinisrael.gov.il/NR/exeres/B750794D-C7DB-495...

http://media.wix.com/ugd/f0dec0_4e7d1a6e5d794fb9ad4f52757bda...

http://www.cji.co.il/cji-2015-salary-survey.htm

In my limited experience it's pretty comparable to what you'll find in the US.
I took a pay cut when I moved here from SV, but I would have taken one even if I hadn't left SV since I wanted to work at a smaller company and I was leaving one of the big internet players.
And there's the rabbithole again...I spent much of last week being fascinated by reading around "Exact Real Arithmetic With Continued Fractions" (https://hal.inria.fr/inria-00075792/document, PDF). More resources on this on the Haskell wiki: https://wiki.haskell.org/Exact_real_arithmetic

...which is a bit mindblowing when so much of what we do uses numbers with limited precision. How can irrational numbers be represented in finite space? Using representations like this: http://en.wikipedia.org/wiki/Periodic_continued_fraction
This article makes no sense. I would never expect a watch to run a web browser. Websites are not designed for such a small size, and I would never expect them to be. It's silly to think it makes sense for a watch.
Show HN: Add a random emoji to every git commit
Before anyone brings up the "I want to be paid for my skill, not my seniority," I'd just like to point out:

If you formed a union at your workplace, you and your colleagues would get to decide the rules like that.

And a few other things I think are worth saying...

A union is a legal framework for the employees (who have no ownership stake in the business, despite putting their time and energy into the business day after day) to recast some of the power imbalance in their favor; since many of us here are employees, and not owners, we should be looking out for our interests.

Aaand...a union isn't a "let's all be lazy and wreck businesses" framework; that's a bit of nonsensical propaganda that we've all swum in for the last few decades.
Right to work and its ilk have a very expressed intention of neutering unionization efforts.

Keep in mind, that with a proper front for labor to negotiate with firms, compensation is kept at a fair market level.

We haven't seen compensation increases in most occupations in 30 years.

You, as a worker, are owed a much larger compensation that should be what the market would bear if you were able to negotiate on a much fairer plane with your employer.

As IT workers, we are a huge revenue drain compared to other workers on the books, despite any claims to how much 'worth' we might bring to a company. Ideally, for them, those wages will go down. The industry has shown time and again that it will defy the law to keep our pay low and below its true market value.
Right. I've had one case where index rebuild times kind of mattered, and gist was definitely a lot faster at rebuilding, though not enough to make it worth taking the hit on read performance. But this was pre-9.4, so it may be rather different now.

The nature of data being indexed is probably the biggest determinant: gin is really happy when you have a small number of distinct values across a large dataset; I guess at the opposite end of the scale gist might come into it's own.
There also some tools I think should be added: I'm not sure if linking to AddressSanitizer is okay (as its (an underused) part of Clang and GCC), but I consider include-what-you-use, unifdef, and maybe C++ Compiler Explorer a worthwhile addition.

What about mbedTLS (formerly PolarSSL)? It's dual licensed though.

https://code.google.com/p/address-sanitizer/(Apache 2.0)

https://code.google.com/p/include-what-you-use/ (same license as LLVM/Clang)

http://dotat.at/prog/unifdef/ (BSD)

http://gcc.godbolt.org/ (BSD)

https://tls.mbed.org/ (GPLv2)

Edit: midipix is something one should look out for. What it promises to support and how, sounds much more appealing to me than Cygwin or MinGW-w64, but it's still in early development: http://midipix.org/
ironic since the language used to retrieve this immortal data you speak of, will be javascript
Well, we finally have flexbox now!
I've been actively trying to learn Prolog for the past few months. It's definitely very different from other languages I've used, and it's changed the way I think about programming. Prolog seems to be a really brilliant set of ideas embedded inside a mediocre syntax with poor library support for things that are trivially easy in other languages.

I think Prolog rules can replace a lot of spaghetti code: stuff like "Usually do this, but then other times do this, unless this other thing is true. If there's a parse error, then do xyz and keep going." In ordinary procedural code, the exception cases can dominate the body of a function and may need to be deeply nested, but in Prolog, it's possible to cordon them off or express them at the top level.

I suspect it might be most useful as a DSL you can embed inside of other languages, though I haven't seen a good implementation of that. (The clojure core.logic library mentioned elsewhere looks really promising.)

I think it may also be useful for domain experts to specify simple rules that capture an aspect of their expertise. If you restrict the domain down enough, and work to figure out what predicates are needed, prolog rules can become easy enough to read that you don't need to know much programming to use them. But the devil seems to be in the details of connecting the core logic into a bigger system that actually does something.

For example, the answer for hooking prolog up to a SQL database is "Look at the ODBC library!", which is not a very satisfactory answer. I think you could build a really beautiful ORM system in Prolog, but nobody's done it yet. (Maybe ORM isn't the right phrase, but a clean way of relating prolog queries to database queries and vice versa.)

The syntax is wonderfully simple, but also has almost no sugar for common idioms. The predicate notation makes it somewhat harder to batch up a bunch of attributes into one conceptual "thing" than in other languages. That means you need to keep positional arguments in your head a lot more. I think aping the class constructor and attribute notation of other languages would be helpful like `my_foo(foo, bar:attr, baz:attr) :- [...].` Then you could reference that either as a constructor (`my_foo(a,b,c)` would state that `a.bar=b` and `a.baz=c`) or to generate goals, like `my_foo(foo), other_predicate(foo.bar)`. Prolog is so old that choices like "make '.' the end of a statement" made sense at the time, but haven't stood the test of history.

(Disclaimer: Many of my criticisms may have perfectly valid solutions in prolog. I'm still learning it.)
"you and your colleagues would get to decide the rules like that"

False. People who worked there before you decided the rules. Once you have an entrenched senior workforce the probability that they will vote themselves less power or money is remarkably low. It's basically the same problem as NIMBYism.
> PCC - A very old C compiler.

"Venerable" would be a much more gracious way to describe the compiler that brought us so much, to say nothing about the fact that it's still actively maintained today.
Officially, I do four-day week / 0.8 of the pay. Actually, if I finish the tasks I set for the day in one hour, I end the day. If I do not finish them in four hours, I also end the day. It is awesome.
There’s nothing quite like erotic literature at 2400 bps when you’re 13 years old.

Ahh... the memories! Though for me it was 300 baud on an LSI ADM-3a with an acoustic coupler.

http://bytecollector.com/lsi.htm
Why is collective negotiation fair but non-collective unfair? That feels like a faulty premise.
Tried Tinder as an experiment. Hated it. I would prefer to base my approach to online dating on personality rather than a single profile picture. The entire Tinder experience is incredibly superficial and facilitates hookups rather than actually meeting interesting people.

I see web-based dating platforms as something that will always have a userbase.
Which bit?
There are too many things wrong with your calculation. First, you need mentor exactly because you can't replace that role with your high level employee. Mentors are typically a successful founders themselves and have enough cash in bank not to worry about employment. Good mentor don't help startups because they are getting 0.5% equity but rather because they see new founder as image of themselves, huge promise in their approach and yeah, may be a big bucks they can generate one day. If your mentor is haggling about equity% then you are probably talking to wrong guy. Also it's hilarious to me that you think $100K salary can buy a person who can do the job of a mentor. The role of mentor works exactly because they are not your employee and they can tell you to your face that your suck at XYZ. It also works because mentor typically has seen the movie dozen times and can compare and contrast in their past experiences.
We are in America, where overwork is the cultural norm. It's that old Puritan "work ethic" combined with dramatic concentration of wealth in the hands of a few. The propaganda campaign waged against unions for several decades in the name of increased corporate profits hasn't helped either.
Functional Programming Videos: Functors, F-Algebras, Coyoneda Etc.
It's been useful for me.

I recently received a call to remember to sign up for a charity race before the early signup deadline passed.

It was good for me because I had done it for the past 5 years, but hadn't remembered to sign up yet. The reminder saved me money for early signup.

It was good for the caller because they then had another person committed to doing the event.

----

The college I went to was funded in part by donations from alumni. Without donations received by telemarketers calling, there would be less resources available for my education.
To make it exceedingly clear: many taxis were better protected than planes. Taxis often have a shield between the passengers and driver, ensuring driver safety and integrity. Planes didn't.
Creating Container Components, Part 1: Shadow DOM
Insightful comment buried again. +1
Doing astronomy with neutrinos
> Right to work and its ilk have a very expressed intention of neutering unionization efforts.

So, I know very little about Right to Work legislation (essentially I know what the topic being discussed is from the first paragraph of Wikipedia).

Without scrying after the motives of those in favor or against, what is the actual concrete problem with Right to Work legislation? What is the concrete benefit?

I think it's fair to say a good default is "people can negotiate anything they want", but negotiating monopoly supply of workers seems like it has the potential to be a useful exception (as are most monopoly situations). Like many policy issues, it seems like it'd come down to the details.

[Edit: to wit, one question I'd like answered is whether union monopoly supply effects only employers with large numbers of employees or also employers looking to hire only a couple people. I think it is the former, but if, by whatever means, it is all firms, that might be worth stopping.]
A union is a corporation for laborers. When you are a lone skilled worker negotiating with a company, the cards are in their hands every time. You are replaceable.

Divide and conquer works great if you want to depress the earnings of entire industries.

As professionals, we need to recognize that we are being given the shaft as a whole and unless we have some solidarity, negotiating truly fair market rate compensation is a pipe dream.
We're at a time where choosing AngularJS for a new large project would be a difficult choice. AngularJS is about to see 2.0 which is a complete redesign. Do you choose to use 1.x which will eventually be deprecated for a brand new project, or do you choose to pick up the new 2.0 which no longer supports IE9? The timing is just not quite good for AngularJS, right now.
This was a transformational book for me. Although there are parts to it that are somewhat metaphysical/spiritual. If you are willing to look past those and read the rest for what it's worth it has the potential to impact you very positively.
Hadn't this been superseded by HTTP/2 formalised just last month?
It really isn't coming back, and I hope it never does. Becoming a Perl expert is pretty career limiting, because you will need to learn another language at some point, and none of them are perl-like so you gain no advantage being a master with perl.
The business negotiates collectively whether you do or not.
That was the first editor I ever used in Linux back at the university. It was convenient because I had experience with Wordstar in DOS (3.0).

I stopped using it when I had to telnet frequently to a server to do some remote work (circa 1998) and the only editor that was installed was vi. As vi was everywhere and joe wasn't I just switched to vi (and eventually to vim).

I'm happy joe is still around :)
It's an open source engine called Tesseract.
I do not believe you actually purchase the ability to print your Kindle purchases. I am not aware of a way without stripping the Kindle DRM.
Another issue for prolog is that many of these "constraint solving" problems will lead to exponential-time algorithms in the worst case, specially if you use a naive implementation. Because of this, its common to use more specialized solvers (linear programming, SAT, ILP, SMT, etc) instead of a general logic-programming one.
Exactly. Objects in Java work just like objects in Python: pointers passed by value. The difference is that everything in Python is an object, whereas Java additionally has primitive types where the value itself is passed by value.
FireChat – Chat without internet
Microsoft was way ahead of their time with this. Windows has supported HTML Applications and JavaScript scripts for decades.
Politics in the United States is indisputably dynastic. Of all the republics in the world, there is perhaps only North Korea that has a stronger commitment to the hereditary principle. No small irony that it too pretends to be a democracy
I'm very strongly pro-union, but this is an indisputable fact. If labor is to make a comeback in the 21st century, this is an important lesson that needs to be learned.
You're missing the point. When you are an individual negotiating with a well-lawyered, well-moneyed organization who holds power (your ability to make a living) over you, that is not a negotiation. It is reminiscent of Hobson's choice.

A negotiation happens when both sides have a fairer footing in terms of what they have to offer and lose.

When a union goes to negotiate with a corporation, their relationship is on an equal footing. This allows for better negotiations in terms of compensation, working conditions, benefits and what not.

It is the check and balance that the inequal relationship between a sole worker and a corporation needs.
The ultimate guide list for startups applying to Y Combinator
Yeah! Hijacking is a failure of type systems due to dynamic dispatch. Plane control should have been restricted to only statically defined pilot values.

Yeah! Hijacking is a failure of type systems due to command injection. Properly typed planes world fail to allow passenger actions to be interpreted as pilot actions.

To prevent these threats, the TSA should confiscate bad analogy guns or at least validate strict isomorphism.

(And as far as the article goes, it's not even correct. Your "data" includes closures/function pointers/whatever and if that data gets corrupted you could get the program to call into the wrong function.)
I don't think developers do either. Apple prompting you when you run an untrusted app for the first time is almost certainly a good thing (app replaced with a malicious one? you'll get an unexpected prompt), and it hurts nobody.
The energy input for animal products is higher across the board than for plant products http://www.scientificamerican.com/article/webber-more-effici... . Even if you grow the chickens better way, you still need to grow the feed, so you are back to the original problem. If the chicken feed can be grown in a good way, then so can the peas probably.

So -- just moving from eggs to a plant based substitute, changing nothing else about the agricultural process, would reduce any negative consequences of farming.
I wish people used analogies less. Because often analogies are either bad, or at some point stretched. And in most cases, dealing with the subject directly is more straightforward and less prone to misinterpretation.
Open source ruggedised server for outdoor datacentre-less deployment
Life Without Ops