skysight-inc/HackerNews huggingface dataset:
I think a large number of your 'self-taught' results come from the fact that developing software is a profession where you always have to be learning, or you won't be good. I have not met any programmer who has said competently (and who actually are) I know everything about X. There is always learning to do in this world, and in most cases, you are either learning as a group, on the job training, or self taught. To an extent, being self taught will fall into all of those categories. The people who show up to meet ups to learn are the ones who want to go home and experiment with new things and practice their craft. The programmers who expect to just learn something then shut off and treat their day job as a 9-5 gig are the ones who fall behind quickly and become 'bad'. This is not the industry that allows for that. For example, the Web right now is the wild west, 6 months ago you built something yet now, that's no longer the best way to do it.

Many other professions are the same way, even the doctor example. They constantly have to be learning to be great and the ones who stop 'learning' and teaching themselves are the doctors I wouldn't want to treat me.

I also see, across many professions, the ones who are at the top of their profession are the ones who have the ability to teach themselves. In college, you learn very quickly how you learn. Some students have a very hard time learning new concepts on their own, they must attend a lecture and have interaction with the professor. However, on the other side of it, some students get very little benefit from lecture. I would know, I was that way. In a lecture I would always be doing something else, that's if I even went to the lecture. I much preferred to teach myself, and when I run into something I didn't understand, I found the resources that made sense to me to understand something. This is what you have to do in the real world. Every student needs to have the ability to do this in any profession. There is no, 'I finished school, I'm done learning...'. You will be mediocre at your job at best if you have that mentality.

So yes, programming is hard, being a doctor is hard, being the top percent of ANY profession is hard.
" The majority of the population can not learn to code at all, no matter how much training they receive."

What an arrogant, false, and self-aggrandizing fiction. Stop over-valuing yourself -- coding isn't some ultra-difficult natural selection process equivalent to winning an NBA Championship.

Designing complex services, scaling and maintaining them on a server stack is hard. Developing, training, and shipping a useful deep-learning network and making it into a useful product is hard. Coding is not hard.

I get sad when engineers, especially ones who's tone seems vaguely threatened, start writing up these discouraging blog posts belittling 'noobs'. Its a pleasing fiction that software engineers are just 'naturally better' and therefor their jobs are ensured. I think that anyone who says this has likely not been in the industry for very long -- because they would have seen scores and scores of devs left behind due to not training up and getting beaten out by upstarts who teach themselves and do well.
Can you please clarify something. You say you vote for React+Redux,but then at the end go on to say the difficulty of using Flux or not and what router to go with. Are you saying this as a reason that you went with Redux, or are you saying you use Flux in addition to Redux?
Note the use of sidebars to indicate nesting without wasting much horizontal space.

HN mobile devs, please take note! I like what you've done thus far to keep the mobile view compact, but it is hard to see the indentation. Sidebars may help, if kept grey and not too intrusive.
I like that analogy. Can you give an example of a specific poison that does that?
That's an excellent point. Add to that a lack of historical diagnosis and you have difficulty in assessing historical trends.
As Aspergers get older, they can more effectively mimic behaviour and are more likely to slip under the radar. My wife (an undiagnosed Aspergers candidate) is often described by my friends as a bit odd. When my child was assessed as an Aspergers, the penny dropped for everyone (ie. My wife's slight eccentricity had a label).
Specifically:
http://farm8.staticflickr.com/7199/6853187005_135a28db2f_z.j...
Definitely. Maybe not a senior level dev at Google, but if you can do enough to automate tasks, you can almost certainly do enough to get hired as a junior dev somewhere.
Yes you interpret it, as it is described and presented (in lay terms) by both the defense and prosecution, as filtered by an impartial judge.

And incompetent representation is grounds for an appeal. I'm not sure what exactly that has to do with the fact that John Doe off the street is probably not equipped to read primary source material on legal precedent and interpret it correct on his own.
Someone who works primarily on small javascript web applications has a really different job from someone who works on a large application built on a LAMP stack, or someone who writes complex iOS applications, or someone designs self-driving car software for Google, or someone who works on embedded software for pacemakers, or someone who writes operating systems or designs programming languages.

Do they?

If your job is primarily about taking other people's work and writing code based on it then, in my opinion, you don't really build software. You write code. There's nothing whatsoever wrong with that, but it's definitely different. Building software is much more than writing code.

Software development is working out what a problem is, what the solution to the problem is, and how to implement that solution on a computer. There should be time spent talking to users, gathering requirements, writing specifications, designing a user experience, developing a test strategy, thinking about stuff, writing documentation, and, at the end, a bit of coding. The non-coding side of software development isn't especially different between specialisms. So, really, software development in the sense of everything necessary to make a piece of software does require approximately the same set of skills.

That said though, the knowledge required in any given part of the software industry is very different. A web developer needs to know very different things to someone doing graphics or embedded development.
> For example if data shows that millions of people are visiting a webpage that is broken, that site would be moved lower in the search results.

Cue endless SEO community debate & speculation in 3...2...1...
>There's no way I could work as a professional software developer,

I'll hire you.
Web development (it's more than just CRUD) is hard. Even with the best web development framework, the state of the art in tooling, you're looking at at least a year of focused study before really being able to take a job.

It doesn't require hard math, but it's still hard in that the sheer number of languages, tools, best practices, technologies is daunting.

And they keep changing. My father is an electrician, after learning the ropes from him, I went into low voltage, which he wouldn't learn how to do because it "keeps changing", meaning you had to take a little bit of time every year to learn some new things. Full stack web developers have to take significant amounts of time every day to learn new things.

I've seen devs who were perfectly comfortable with all the math and "real dev" practically break down when presented with a web project. More than one of them admitted to me after beating their heads against it for a few weeks that it was harder than it looked.

I can understand if you can't appreciate the difficulty. But try taking on a significant project before calling it easy.
You have to factor in whether or not you want developers to use your APIs in the future. If you do, and they have to guess whether or not other developers will build on it, they might decide not to go for it.

So maybe you don't really want to do APIs at all??

Deprecate them before you start! :-)

I was just writing about this re Dropbox. People always say about the idea I want to see them do "That's a third party opportunity." Well, I would never bet on a mission-critical feature that depended on the continuing support of an API by a platform vendor. What happens to the users when the API breaks? I might not have a lot of users from their point of view, but from my point of view, my community will die if they break the API.
Actually, there's been a few papers showing solid theoretical progress on understanding what structure in data deep networks are learning to represent.

https://github.com/gregversteeg/CorEx

http://arxiv.org/abs/1406.1222

http://arxiv.org/abs/1410.7404

Disclaimer: I reinvented the idea about a month or two ago, and ran into the existing papers when googling for joint entropy estimators after making some interesting graphs with hierarchical probabilistic programs. I only wish I could've been the first!
Never heard of it. Is it new?
I'm not sure if Hailo works like MyTaxi, which is quite popular in Barcelona (specially since Uber got banned). Personally, I don't like it. It's just an app that replaces calling a taxi company. So yeah, better than calling, I agree, but it's not as good a service as Uber. Why? Because you're dealing with taxis. In Barcelona, you either live in a part of town where there are taxis driving by your street all the time anyway, so why use it? Or, like me, live somewhere where taxis don't really go as much. So when I use MyTaxi, they're always quite far, and very often cancel the ride when I've already been waiting for a few minutes, probably someone hailed them on the street. So overall, not the awesome experience that Uber always has been for me.
I think he meant it in the sense that "we have 10,000 other people who are associated with militant Islamits in our database, why should we care about these guys?"

That's the noise he's talking about. The reason you can't "prevent" terrorism, is because there are way too many people who "act a certain way", whatever that way may be. This isn't helped by the fact that agencies like TSA and whatnot have huge lists or vague descriptions of what describes "suspicious behavior" that pretty much cover everyone who goes through the airport.

https://www.techdirt.com/articles/20141024/14222128933/guide...

That's noise. You're giving these agents exponentially more factors to consider that makes it impossible for them to find the real terrorist. It really is "making the haystack bigger" (as a counter-argument to NSA's opinion that mass surveillance helps them "find the needle in the haystack").
Sysadmin marched without an exit interview had no chance to explain big savings
The suburbs were about a lot of things (some were built in the 30s as utopian projects by the US Government) but mass suburbanization was driven by FHA loans to veterans, which were not available to blacks.
This article reflects my experience at University very well. I'm a self taught programmer that ended up pursuing a CompSci degree. I'm in the last semester of my BSc, and in hindsight I should have studied something else, like Physics or Electrical Engineering.

The standards are ridiculously low. Most of my coursemates (final year CS students) are literally unable to write software. They can write a single-file cpp file in Code::Blocks on a good day. In my experience (and having talked to plenty of other CompSci students, their experiences are similar to mine), formal education in programming is generally reduced to teaching students all about recursive functions, bubble sort and those kinds of things. There has been a grand total of 0 lectures or labs about unit testing, version control, API design, interoperability, etc. Let alone trying to communicate the idea of "clear, maintainable" code. Only a very small minority of people can write code, yet most of us will graduate.

I have a module called "Software Quality and Process Management" (formerly known as "Large Scale Software Engineering". Good thing they changed the name, at least now it's not such a blatant lie). In this module, we learn all about COCOMO, and how we should estimate the number of lines of code a project will use, and use that to figure out how many man-hours are required to complete it. WTF. I'm preaching to the choir here, but that's like estimating the amount of effort it will take to design an airplane based on the number of grams of aluminium in it. When someone raises their hand and disagrees about the relationship between SLOC and person-hours (or even about whether person-hours is a reasonable unit - it's not), the lecturer responds with a blanket "you're entitled to your own opinion", but draws blanks when asked about whether they know anyone who actually uses these methods in real world software engineering and finds them useful. It's the same story when they teach about the waterfall development process and other similar outdated practices that are known to be detrimental to healthy software.

The vast majority of what I know about software engineering didn't come from my time at University, and almost all of the software engineers I know have had a similar experience. I know correlation does not imply causation, but it's definitely food for thought.
Agreed. If you figured out how to automate your job on your own, you would definitely be able to work as a software developer. I'd hire you as well.
Predictive validity of interests, personality and cognitive ability [pdf]
Did a clinical trial proceed as planned? New project finds out
Is it bad? Should we have "real" engineers working on software that a bootcamper could do? It seems like a waste of resources. Some problems only need a solution that your nephew can hack together in a week.

That said, the problem is that many people looking to get software built can't properly identify what should actually be engineered. In the physical world it's a bit more obvious.
Wealth is power and freedom, not access to stuff; I have to work for a living, Henry the VIII was a king with the power of life and death over others, he was wealthier by any reasonable measure. My access to greater tech doesn't make me wealthier.
Nice try, terrorist.
I know it's practically a HackerNews trope by now to point this out, but this is a really poor name choice, given the abbreviation that they seem keen to use. (I'm referring to https://en.wikipedia.org/wiki/Sender_Policy_Framework in case it's not obvious.)
Fun fact. There's really nothing stopping you from using a PGP/smartcard/HSM keypairs for the ACME account key. Would love to see someone adapt this or another client to use a yubikey or other hardware key.
Given the title, I would have liked to see some in-depth analysis on why the latency is as bad as it is? Which parts of the software stack are causing it?

Even though the Linux kernel is less than ideal for audio, it can still provide a latency low enough for music, ie. 10 ms or less.

This is an unbearable situation. There are lots of interesting music apps on the iOS that I would like to use, but only a handful are available on Android. And even if they are available, they are not necessarily usable.
Interview Questions from Core Java Part 1
> "we have 10,000 other people who are associated with militant Islamits in our database

"And for who even Russians spent their energy to notify us"?

I'd expect that most of the 10,000 others aren't on the list because Russians notify the FBI. Or you know more than I do, and I'd be glad to learn.

Or maybe the warning was ignored because of the Tsarnaev's uncle?

http://backchannel.al-monitor.com/index.php/2013/04/5090/for...

Interestingly, the "Terrorist Watch List" reached 1 million in 2009:

http://usatoday30.usatoday.com/news/washington/2009-03-10-wa...

It seems your estimate was two orders of magnitude off.
Such a system would still be much more inefficient than fixed-route transit because of the winding routes required and insufficient concentration of demand.
Java Magazine – Nov/Dec 2015
It would probably cost ~750B dollars. It would spook the shit out of investment for a long time. Government would probably be even worse at running it.

And then you'd have to find the public will to spend around 200B to run FTTH everywhere.
There's an on-going timing-of-eating study going on at UPenn [1] that is looking for volunteers. They provide you with 4 months of food (you get a say in what you get) and they tell you when to eat it (though not how much or exactly what). As well as compensation. If you're in the Philladelphia area, it might be interesting to participate or to save money doing this for a good cause. This is the kind of study we need more of and it's hard to get volunteers to give that big a commitment. I don't believe that they're testing fasting, though.

[1] http://www.med.upenn.edu/weight/research.shtml

(I'm unrelated to this, just know someone participating.)
As always: depends on the use case.

We're using Erlang as the primary language environment for our IoT product for a lot of reasons but one big one is: Hot code loading and a very robust release upgrade environment with a lot of control over the process (including restarting everything inside the VM if that's what we wish to do).

For our product, a digital light switch / dimmer, high uptime guarantees is a very important requirement and Erlang has it all plus many other wonderful features.
Peanuts for some people.
> The decentralization of everything

Well, that's not what I see when I look at Google, Amazon, Uber, etc. Capitalism agglutinates money and power, and I'm afraid this is not going to change easily.
You think that's bad...I work in a university and a different segment of my department is responsible for implementing and managing ExamSoft SofTest on student computers.

For those that aren't aware, it's essentially a solution to the issue of BYOD. Students want to use their own laptops to take exams (and I'm sure it's also a lot more economical for the school since each student will already own a computer whereas building large computer labs and maintaining many machines just for computerized testing would be prohibitively expensive in our current facility).

The way it works is you essentially grant the software low level root/admin access to your machine so it can sandbox exam software and prevent you from running anything else during tests. This alone would drive me batshit insane if I was a student forced to use this setup but the worst part is that the actual software always seems out of date and doesn't support current OS versions.

We had so many problems this term when students arrived in the fall with new laptops running Windows 10 and OSX 10.11. Apparently, ExamSoft hadn't had enough time to make sure their software worked properly with these new releases so students were told a) if you haven't upgraded to the most recent OS version yet, don't do so. b) if you have recently upgraded to the most recent OS version, you should downgrade. c) if you just bought your computer with the latest OS version installed, um...we'll try to work something out.

I am so glad I am not in the group that handles this stuff because it seemed like a total shit show. The nature of the software prevents it from running in a VM so you can't just run an instance of Windows 8 or OSX 10.10. A lot of the exams aren't simple computerized versions of the old scantrons or paper tests and require the use of software run from inside SofTest. And the worst part is that people generally want to keep their OS fully updated and patched for security and support purposes (not to mention the money people spend on new computers only to find that the required software only runs on old OS versions).

From my end, dealing more with online course delivery, I've thankfully been able to move us away from Flash or Silverlight players for watching recorded content but there's still infrastructure that we need to work around since we can't simply replace it all if the frameworks in place still require some plugin or another for the time being. Not so much a privacy issue as one of keeping up with advances and standards when enterprise/education software can be slow to adapt.
Samsung finally agrees to pay Apple $548M, with a few caveats
[I made a similar reply down below, but I think this belongs here, too.]

I've made my living by teaching beginners to code. I have been doing it for the better part of two decades, and I specialize in teaching students that have little aptitude for it.

In my experience, many students can learn how to code, but it takes a very long time!

For example, I make my students code FizzBuzz. It is literally the 106th project I make them do. That is, they have completed 105 complete computer programs before getting to FizzBuzz.
And many of them still struggle with it. The nuance of else/if needing to be ordered in a certain way is something they still don't have a good grip on.

Programming a computer is very very hard for most people, but that doesn't mean they can't do it.
> There's no way I could work as a professional software developer

Actually given the way our economy is currently structured, it's easier to get a good job as a developer having never written a line of code than it is to get a good job as a marketer even with 5+ years of experience. It might take you a couple tries to pass the interviews, but that doesn't matter because getting interviews is relatively easy. (Albeit if you don't have a GitHub portfolio, getting each interview will probably require you doing some take home assignment that will take a couple days for each company.)
Well, I'm not sure if we talk about the same thing here. It is not my API, but API defined by W3C and implemented by Chrome browser. It was just dropped without any notice.
I set this up yesterday and it worked great.

I went from a blank slate on lets encrypt, to deployed SSL cert in less than an hour. Most of the time was spent discovering that 1) acme-tiny requires Python 2.7 or above to be installed and 2) you need to create the .well-known/acme-challenge/ directory structure manually.

After that it was all smooth sailing.
If the app works then great but I'm not about to herald this as some great accomplishment. There is a reason Lyft/Uber completely steamrolled the taxi industry (aside from skirting regulations that were arguably bad to start with) and it's because they provided a 10000x better experience over calling a taxi dispatcher and waiting for cab (if it even shows up). I hated using taxis but Uber/Lyft changed all of that fixing all the problems with the taxi industry.

Plain and simple the taxi industry had a monopoly, got lazy, didn't innovate, and didn't give a shit about their customers. I relish watching them burn down in the same way I enjoy watching Google Fiber trouce it's competition.

Now if drivers want to create an app to compete with Lyft/Uber then more power to them, if they want to run it as a non-profit then great, just as long as their app isn't a buggy/crashing POS then I'll use it but I'm not holding my breath for that to happen. The best I saw from a cab company was a mobile website that asked for your location and allowed you to dispatch a cab after typing a short message. TWICE they never showed and once they didn't even read the message as I had scheduled the cab for a specific time and they showed up 45min early and called to ask where I was...