skysight-inc/HackerNews huggingface dataset:
I do believe that anyone can learn to play the piano, although I would admit it's harder for some than for others. A lot of it has to do with finding the right teacher though.

What exactly do you mean by you were unable to? People have different ideas of what it means to be able to play the piano.

For classically pianists, it just means you can read notes and play the corresponding notes. I imagine anyone could memorize what notes correspond to what keys and, as long as they are physically capable, be able to press down on those keys. You might not be able to play any arbitrary piece, but I think most people agree that just because you can't play Rachmaninoff Piano Concerto 3 doesn't mean you don't know how to play the piano.
The time constraint I could understand. However, the cooking infrastructure argument doesn't hold water two people eating at McDonalds once a day could easily spend $600 monthly. You can buy some cheap, second hand, fridge and stove easily with this amount.
this is the most useless book posted on HN.
Not to be discouraging, but if you don't get many comments or votes, it might be because this has been submitted multiple times over the past couple of weeks:

https://news.ycombinator.com/item?id=9486301 2 hours ago, no comments

https://news.ycombinator.com/item?id=9485348 6 hours ago, no comments

https://news.ycombinator.com/item?id=9485266 6 hours ago, no comments

https://news.ycombinator.com/item?id=9485237 6 hours ago, 136 comments

https://news.ycombinator.com/item?id=9419035 12 days ago, 125 comments
SVMs were invented by a couple statisticians/mathematicians in the 60s. k-means also harkens back to the 60s, by mathematicians and control theorists. Decision Trees and Random forests were invented by a famous statistician, with the latter related to bootstrapping, a statstical technique. PCA and factor analysis, forms of or closely related to low rank matrix approximation, were pioneered in the early 1900s, by some of the most famous statisticians ever.
That's only relevant if your political beliefs lie roughly in the middle of the American spectrum. If not, it should be clear that no matter how shit one candidate is, the other one will certainly be worse.

Unless you're talking about voting Green or something, which is fine.
Designing Movile UX
Probably because Microsoft was a founding member of the NSA club in 2007.
Makes sense. I think this will be huge for them. Especially if administration is easier than openstack.
> Point is, nil is still a useful and commonly used tool. So the argument for verbosity and conveniences is relevant, IMO.

The only advantage of having null references is that the pattern "if this reference is null, dereference it; otherwise throw an exception" is shorter. But the question is: how often do you want that pattern? In a robust program, the answer to that is "rarely".

Put another way, it would be trivial to add sugar for the ".unwrap()" pattern to Rust (perhaps with the "!" operator) if it were necessary, gaining back the only verbosity-related advantage of null pointers. But nobody in the Rust community is asking for it. That's because this pattern is rare. If it were a problem, someone would have at least submitted an RFC by now!

> I certainly wouldn't call it "objectively" easier to reason about in a general sense.

If you write down, formally, what the star or dot operators do, there are strictly more steps involved when you have null pointers. That's why a language without null is objectively easier to reason about.

> if I have a Option<> reference to a mutable list in Rust, the compiler can determine weather or not the list is 'frozen' based on the runtime state of that reference?

I don't know what this means. Lifetimes rule out dangling pointers. They don't have anything to do with nullability. The borrow checker only cares about the structure of your data enough to construct loan paths.

> Can you explain this a bit?

Dereference of null is undefined behavior in C, and Nim compiles to C code that blindly dereferences pointers without inserting null checks. So dereference of null is UB in Nim too. In an earlier comment I was able to construct a Nim program that exhibited very different behavior in debug and optimized builds, using nothing but GC'd pointers.

> I did say 'rarely', and I drew a comparison to bounds-check crashes, which surely also show up in production.

Actually, Rust does try to prevent indexing-related issues by preferring iterators to raw array indexing. But, in any case, the comparison isn't relevant for a couple of reasons. First of all, in a general sense if you have big problems A and B, the fact that you can't solve B isn't an excuse to not solve A. More specifically, though, the amount of type system machinery needed to fully eliminate bounds check failures is much higher than that needed to eliminate null pointer exceptions—you basically need dependent types, whereas to eliminate null pointers all you need are bog-standard algebraic data types, which have existed since the 70s.
Ask HN: Are .co domains down or is it only me?
IIRC Ion Mihai Pacepa (former Romanian 3-star who defected in 1978) wrote a good bit about it.
Hmm. There are a few options. You could get a roomba, and put a laptop on top of it, use the laptop camera to sense, and the serial port to command the motors. I kinda think you could use python to glue everything together.

Mindstorms are really easy to get started with if you want more control over what the robot will look like, but you'll be facing more mechanical engineering problems.

diydrones has a lot of good information about getting things connected. Most people look to RC cars because they're so inexpensive.

So, the big thing with hardware is it kind of sucks. It always feels like using a butterknife to tighten screws. Things are challenging in ways you don't expect. With software, if you make a mistake, you fix it and recompile. With hardware, you hope nothing breaks.

I too wish it were easy. It's not, it's complicated in ways that suck. If you have money to throw at the problem, i bet you can find a nice industrial platform that's built like a tank that has a nice API. That kind of stuff is thousands of dollars, and i'm not familiar with it.
I think the main frustration is that the required minimum level for developing software in a team really is comparable with the skills required for working in a studio orchestra - not only at google but actually for working on any system above a certain size. Maybe not world class, but certainly rather good. In both cases, some "intrinsic" talent is probably required, and it helps to have a rock star or two to really get the team/orchestra to deliver.

One other factor is that most systems and programs of a certain size are actually quite hard to work with - the "average" may not be enough, driving costs and unnecessary complexity until the system spirals into it's own collapse and eventual replacement.

One problem is that while anyone can tell if someone is any good at playing the piano, it will probably take 6 month or more to discover who is 30x more productive at developing and maintaining software, or who will in fact destroy more value than they contribute in the long run.

It's safe to say that developing software requires more than the average level of "talent" that is available in the population, and possibly also among the profession.
> This belief that programming ability fits into a bi-modal distribution (i.e. U-shaped) is both "dangerous and a myth". This myth sets up a world where you can only program if you are a rock star or a ninja. It is actively harmful in that is keeping people from learning programming, driving people out of programming, and it is preventing "most of the growth and the improvement we'd like to see", he said to a big round of applause.

How does he know that bi-modality is not true? These are questions we should ask and study rather than things we should just assume are myths. Ignorance is not the answer.
Layoffs are political, too. Any time someone's income or power is affected, it's political. It's a rather large scope.
I doubt the 22 year old you are referring too will run out of problems to solve. I also feel at some point it will be like a lot of software engineering is today. Working for companies implementing solutions similar to what already exists but tailored to the context of that companies specific needs. As of now I feel that this field is so young that a lot of the solutions are almost completely custom built to the problem at hand and that a lot of work is needed to abstract away those solutions into higher level reusable pieces.
What are these brand new ICE cars for $10k - $12k? Even a new cheap car like a Yaris would be $15k.
Yes but the "Don't copy that floppy" adage is definitely an American thing. So is CFAA, which makes it easier to have prosecuted Aleynikov under CFAA instead of some other laws. It worked for Swartz.
I agree with most of what you said, except that perhaps the distribution is a little more complex than bimodal.

Perhaps it's multi-modal, with various discernible leaps in performance. (There's a big gap between "Green", "Good" and "Rock Star", so I think that there's at least 3)
What are the differences between Error and Exception in java?
Tesla hasn't announced pricing, but most predictions lean towards the price of the X being comparable to the S.
> The irony is that Docker is based on software that underpins Google’s vast online empire.

Doesn't Rocket also use cgroups?
Speed in every industry, including programming, is part of the sauce not the special ingrediant as far as I've seen.

All the way to working a line in a factory, the speed of the line is constant but the accuracy on top of speed is what sets the best apart.

Anyone can go fast and make mistakes, those who have figured out a method that works for themselves and keeps up with the pace (or keeps ahead) and puts out a high quality product at minimal mistakes is what stands out.
Yes. And one important difference, you had to pay for those. (Some still are.)
Gitinspector provides similar functionality, without requiring you to upload your info to a site. (Remember to set the output as HTML if you want pretty graphs)

https://code.googol.com/p/gitinspector/

Gource is another tool that gives an interesting overview of the version control history of a project.

https://code.google.com/p/gource/
The problem with this is since they despise PHP they don't even bother to learn the correct information about it. Which means what they despise is entirely the product of their own imagination, and for anybody informed it sounds completely laughable. Unfortunately, they are not getting called out on it as frequently as they should be and the cycle of misinformation continues.
Once a week we go somewhere which is a 50 mile round trip. I thought the 70 mile range was cutting it too close. Otherwise the price is very attractive now that I will move to a place with an actual garage so I can charge it.
Though, speaking of incentives, this may point to an interesting market failure that lies at the very core of the Bitcoin economy: There's a relatively inflexible cost to processing transactions that's built into the Bitcoin protocol. It's possible for an individual to bring down the cost of processing with better hardware, but in order to bring down the cost of processing transactions by making the underlying process more efficient you need to get miners to go along with it. They've got reasons to oppose doing anything of the sort, though, because they want to keep the cost of entry high for any new competitors. They're essentially an informal cartel of players with a strong incentive to engage in rent-seeking behavior.
>But that would mean that programming skill is somehow distributed on a U-shaped curve. Most people are at one end or the other, which doesn't make much sense.

But this is exactly the case! It's why Fizz Buzz exists: to determine if you're on the left leg or the right of the U-curve. (Or similar curve wherein people "suck at programming" or that they "rock at programming", without leaving any room for those in between. Everyone is either an amazing programmer or "a worthless use of a seat" [in a programming job]).

Why can't we accept that this is the nature of progrmaming?

Jobs wasn't a coder, and was on the left side of the U. Wozniak was and was on the right side.

Brian Chesky (airbnb co-founder) can't code, is on the left side of the U. Nathan Blecharczyk (another airbnb co-founder) can.

There is nothing exceptional about this distribution. You can have a ton of vision and product input, design input (as Brian did) without being on the right side of the U as a coder yourself.

On the other hand, perhaps all coders on the right side of the U are all awesome, which is why they command six figure salaries sooner out of college than other professions take to get a terminal degree in their field.
Well I would say that "intelligence" is learning and inference with causal models rather than just predictive or correlative models. You can then cash it all out into a few different branches of cognition, like perception (distinguishing/classifying which available causal models best match the feature data under observation), learning (taking observed feature data and using it to refine causal models for greater accuracy), inference (using causal models to make predictions under counterfactual conditions, which can include planning as a special case), and the occasional act of conceptual refinement/reduction (in which a model is found of how one model can predict the free parameters of another).
FRP: Infinite Scroll with Bacon.js
To look at the subject matter more generally: http://en.wikipedia.org/wiki/Theory_of_mind

Theory of mind (often abbreviated ToM) is the ability to attribute mental states — beliefs, intents, desires, pretending, knowledge, etc. — to oneself and others and to understand that others have beliefs, desires, intentions, and perspectives that are different from one's own.
Kubernetes now supports Rocket
I assume SpaceX will be looking for pilots at some point, and they're always looking for people to send up to the IIS.
Excellent point. Thank you for the clarification. This is true in c99 as well.
One strong indication that programming talent is not bimodal is only bad engineers (programmers in the solder language) see the world as strictly binary. As I get older and gain more experience its astounding how much of the world does not operate in a simplistic pass/fail manner instead has an optimum operating point at "muddle thru mode". Or another way of putting it is only a really bad architect/designer relies on eternal perfection, or attempting to see the world thru those very limiting glasses leads to lots of fail.

An interesting literary or fine arts comparison is the assumption that the quicker something is made, the better or more valuable it is. Obviously a xeroxed page from a Hello Kitty coloring book is inherently better than an original dutch masters painting.
Uhhh... the variance?
> What is the point of stating that though?

That, contrary to positions that portray programming as a skill only valuable to those who would be able to use it to become the equivalent of an exceptional artist, that the number of people who could derive benefits (professional/financial -- not to consider other personal benefits that might accrue) from learning programming is quite large.

> It's pretty hard to know ahead of time and talent is rarely worth more than sheer effort.

I'm not sure that there is a clear line between talent for a particular task and the ability to maintain concentrated effort directed at it, nor do I think that it is easy to pull apart the effects of each. But, sure, I'd agree that you can't know who can benefit the most from lots of things (programming included) ahead of them trying it.

Which is another strike, IMO, against those who would dismiss efforts at universalizing exposure.
Ain't Facebook HTTPS by default? I guess the less privileged get no commitment to security from Facebook. https://www.facebook.com/notes/facebook/a-continued-commitme...

If they say its because India has more feature phones; someone must be screwing up with the numbers.
1 tale of butthurt syndrome. this isn't journalism. this is pure shit.

perl is cool... if you think that a language should define its syntax based on whitespace.

idiots
Your AGM batteries are Lead Acid. Tesla Powerwall is a LiOn Battery System, designed for 10 years. Implies somewhat more than 10 kWh "actual" in order to deliver 10 kWh, day-in, day-out for 10 years, and avoid deep discharge. The value is greater efficiency, great life span.

The price for the 10 kWh model is basically 50% of what everyone was expecting, which is what has everyone excited. You don't often see a 50% drop in price in systems that are this closely followed.
NAIROBI'S ATTRACTION SITES
http://www.go.co/ is up for me.
You had me at "life is merely the unfolding of a series of recursive recommendation engines, each one AB testing the local gradients of human emotion". The more i think about it the more it makes sense.
Renting white people to sell white millennials housing in black neighborhoods? "Look, this place is gentrifying fast!"
It is optional... but by validating your phone number, when you install the app, on for instance your tablet, you can authenticate the device. Backup is optional, with a client-side passphrase for encryption. It's not like it's the only app for this, 2FA/OTP is well documented with libraries in a number of languages. Is far as invasive goes, given what it is for, it's a pretty decent application.
Dude, if there's one thing in abundance in a DC is non-open-source software. Can't imagine many DCs without one of these: Cisco, Juniper, Checkpoint, VMWare, Microsoft, Dell/HP on ILO/DRAC, F5 or Brocade; you effing name it. Your network, your SAN, all your effing data, everything! goes through some non-open-source'ed software stack. Oh yes, and let's not forget about all your NIC drivers for starters.
Maybe if you know the right incantations to whisper to your search engine, but remember that beginners often won't. And even then, overloaded terms like "set" and "map" routinely yield bogus results for non-beginners too. The point is realizing you have to jump through these hoops, when Stockholm Syndrome may be preventing you from even noticing. See also
https://twitter.com/dakami/status/593325912663326720
The Montana data seemed odd to me too (I'm in Missoula). However, they ranked Richland county as #1 for income mobility. The oil boom in Sidney is likely a large part of that data.
People in other continents have always had preferences of one type or another, whether it was strength, height, color, etc. Who cares why people have preferences. While she, the person in the comments, does not date chinese (or specifically thinks local Han are ugly), there are also people who will only date people of their own race. There are also people who only date Africans, or any other particular ethnicity for any variety of reasons. It's not a problem. You see a problem where there is none.

I hope you realize you're not far from advocating people should only date within their ethnicity and intermixing is bad.

Clarified dating oreference
I feel annoyed with opaqueness of ML algorithms like neural networks. I hope ML doesn't unwittingly define itself as a field where machines learn, but humans may not learn. I'm referring to predicaments like the story about 42 from hitchhikers guide to the galaxy.
> The truth is that programming isn't a passion or a talent, it is just a bunch of skills that can be learned

I think people who makes these statements are usually misguided by their lack of perspective: talented people have a hard time understanding how someone else can't do it when "it's so easy"

One example of this is Bill Gates driving Microsoft to commoditize programming ("I can do it, it's easy, therefore anybody should be able to do it").
"or that 10x chef"

I like the chef example. I know from past discussions here that there is a large contingent of HN posters who are terrified of their own kitchen, which is a shame.
Is this a particular style of writing ? He takes 3 sentences, makes 1 paragraph. Then repeats with the next 3, and the next 3 etc. The paragraphs are completely disjoint - so he mentions almonds in a para, then Romney in another, then Glenn Beck, then something about Yosemite....its like a whirlwind tour of the drought landscape with no central thesis or conclusion. No flow, just lots of disparate facts. What is his point ? How exactly does one go from one freak drought to the end of California, which has what - the fourth or fifth largest GDP on the whole planet ( if it were a country ) ?
A lot of the other points in the article are "headline grabbing". That's a rather disappointing article. I'd have liked to have seen a deeper analysis of the arguments used. It seems to be a skim-read summary of all of the articles I've already read on this, but with less actual substance/no new content.

From the article:
"Imagine you're a highly skilled programmer, perhaps an immigrant like Aleynikov, unfamiliar with the intricacies of the U.S. legal system and not 100 percent confident in your English skills.
You're probably more at ease dealing with machines and the abstract tasks they solve when interpreting code than with people -- otherwise you'd do something else for a living. "

What the heck?! What kind of professional writer writes something so child-like/troll-like?

Another:
"Traditional banks tend not to be such smart employers."

We're talking about Goldman Sachs here. You know, the guys who employ people in tech (their CEO even referred to them as a Tech company) to keep ahead of the curve and who regularly make some serious profit. Yahoo, https://uk.finance.yahoo.com/q/is?s=GS , shows I think 2 billion USD net profit per quarter.

And another:
"Goldman may be hoping Aleynikov's case will set an example to others like him, teach them to respect the bank's rules. Instead, it will tell good programmers to go elsewhere and perhaps, sooner than necessary, make Goldman obsolete."

Perhaps this has changed GS, I don't know. Look at GSCollections (https://github.com/goldmansachs/gs-collections), something internal that they've open sourced and is now used by a fair few projects including spring.

[edit: better layout/formatting/grammar]
> It takes 106 gallons of water to produce an ounce of beef — which is more than the average San Francisco Bay Area resident uses in a day.

Good job reading the article before commenting on it. </sarcasm>
I was measuring with pcwalton's ruler.
You just barely missed the point of the article. They are parodying the EV reviews that "could have just as well been written in the early 1900s with a moron buying a car when a perfectly good horse was available."
Internet.org is a set of interconnected computers. You want to get political and philosophical about what is and isn't the Internet, but Mumtaz in Bangalore wants to send $5 to his wife, and doesn't get to do that unless internet.org exists.
Who said anything about average linux users?

We're talking about a product designed to be run on multiple servers, in a datacenter. At that level, you're generally talking about professionals.
>Most of the 'bad' programmers many of us come into contact with are just farther behind on their journey to being great software developers, and may only be as bad as they are because of fear to ask questions and be judged by those who think there are only 2 types of programmers.

In my experience I'm not so sure about that. I've meet (and worked with!) bad programmers very much my senior. After working with them I know why they are bad - they don't learn. Even with asking tons of questions and having their work critiqued constructively. I don't know why this is but I've observed it a few times. It seems some small subset of people, no matter how much they do something just don't get better at it. They spend 20-30 years writing software like an amateur who just learning. Someone I know said about this - "experience isn't a measure of time spent doing something."