skysight-inc/HackerNews huggingface dataset:
They've actually been sending these rats to a lot of countries: http://www.apopo.org/en/mine-action/about

Most of those countries have been warmer regions, but it might be worth looking into the feasibility and funding for places like the former Yugoslavia.
Assuming you're serious (which I believe you are), you're spot on. When approaching someone who has been injured, it's important to ensure the same fate doesn't befall you...

Paramedics don't run towards victims, they approach cautiously, keeping a close eye on the scene around them. Firefighters don't "run" into burning buildings (despite what script writers think...). We enter very carefully, often on hands and knees), pounding the floor ahead to make sure it's still there...
Thank you for the head's up, reneherse!
When Driverless Cars Break the Law
JavaScript has numerous caveats and idiosyncrasies that result in strange and unexpected behavior. It's scoping rules are also pretty broken. While Python does have some of its own quirks, they're far fewer in number. There are two that bite people pretty often, using a mutable type as a default function parameter, and accidentally typing a comma after an expression subtly converting it to a tuple.
For Aspiring Female Engineers, A Square Meal Of Code
There is also a beneficial aspect that a calm approach to and overall appraisal of the scene instills in the responder.

"Am I putting myself or anyone else in danger?"

"Am I treating the highest priority situation? Helping the most seriously injured person that I am able to help?"

"Am I assessing the entire situation, rather than fixating on the first thing that catches my attention?"

Running into the scene with adrenaline pumping can be a recipe for starting sub-optimal response (albeit starting it a few seconds earlier)
One way an algorithmic government might be more effective is at long term planning. I think there is deficit of that in our current system... at least in the US. Not to delve into political squabbles but it seems the current system doesn't encourage planning beyond more than a term or two. So we wind band-aiding crisis after crises and creating more long term problems rather than implementing real long term solutions.

As far as it goes... laws and constitutions are a type of algorithm, however imperfect. But.... implementation is a often a bit spotty when you have broken components with a self interest and human emotions.
Apple and Google settle patent row
Yes, it's pretty universal that people find it uncomfortable to force themselves to think in a language they don't fully understand yet. Whether that's Ruby, Haskell, or Japanese. There are plenty of valid things to compare languages on ( semantics, types, runtimes, etc ) but arguments about lexical syntax are really not that interesting since they're usually just throwing opinions back and forth about which lexical construct is more "readable", as if this term had some objective cross-language meaning.
Absolutely. This is actually part of our plan. We're writing mid-level-ish specifications in a logic language and then compiling them into an incremental dataflow network. Our current prototype just uses the same implementation for each rule but later we intend to be able to pick and choose different data structures and join algorithms per index/rule.

I have a lot to say about separating specification from implementation and trying to better capture programmer intent (eg http://www.freelists.org/post/luajit/Ramblings-on-languages-...) but the blog post was already pretty long.
Lighthouse: Decentralized Kickstarter
I worked on lots of small haskell projects as a student, wrote ocaml at Jane St and spent the past few years working in clojure full time. I definitely felt the need for a debugger in every one of those languages.

Equational reasoning is useful but it is still reasoning that I have to do. The whole point of having a computer is for it to do some of the thinking for me.
"Nerds" and "hipsters" are both rather distinct groups of individuals, and within each of these groups the individuals share a number of traits in common. Given that the traits are quite specific and isolated, it's not at all a case of generalization.

As a professional, I work with whomever I have to in order to complete the tasks at hand. But given how many of my fellow colleagues with all sorts of jobs and all sorts of background have similar problems with "hipsters", I'm quite sure the problem is not with me, and it is not with my colleagues, either.

Obnoxiousness and ego just happen to be two of the traits inherently associated with "hipsters". I can't help that, my colleagues can't help that, and even the "hipsters" themselves can't help that. It's just who they are; it's a big part of what makes them "hipsters".
I would say the specific examples are a very mixed bag. IMO the article should have just stuck with the data from national exams and surveys on relatively unproblematic things (like ordering North America, the U.S., California, and Los Angeles by size). That's quite sufficient to make the point; adding the questionable examples actually detracts from that.
Cheap or expensive, it is one-time cost. The recurring cost of cellphones are ridiculously expensive.
Rather than comment on your categorizing or ranting, I'll try to comment on an observation that I do think is partly accurate.

I believe nerds became 'cool' right around when computers became 'normal'.

In my youth, around the time where social issues started becoming important (teenager), computers were commonplace enough that most people knew how to use them, but they were by no means cool. Most of my peers had MSN messenger and a hotmail address, but gaming on a pc was uncool, spending significant time on the thing other than aimless chatting was uncool, and programming was extremely uncool.

Now, I get to help my younger siblings and their friends 'coding their site'. They're on reddit or 9gag, and grew up with Digg, Diggnation ('cool' boozing skater-ish dudes podcasts). They have phones with apps and chat throughout the day. They game a lot and might even try D&D. Computers are normal and almost cool now (although oddly there is a limit to that that I mistakenly cross in conversation regularly).

There was a time where this angered me a bit, because I felt like the thing everyone judged me as a 'nerd' for is now suddenly cool and they took it from me.

Now I realize that it's pretty awesome that something I'm REALLY good with has become so succesfull that cool people want in on it. I can, and do, use that to my benefit.
The World’s Rich And Powerful: Education, Cognitive Ability, And Sex Differences
That was a bit depressing.

I've had so many arguments in the last few years only to have my jaw drop when I hear this theme repeated over and over to me "But say there was a guy, who was in the situation you described, and say than instead of doing that, he did this..."

I mean, it's worse than anecdotal even. People are basing their viewpoints on hypothetical situations with no statistical evidence for their views and arguing against statistics with these hypothetical stories about nothing.

That resulted in my favorite tweet I've ever composed

"Arguing anecdotally screams religious reverence for ideas not referenced."

Boy, it just sounds so well composed (to me. Subjective).

And it also resulted in me not arguing with anyone anymore. I just plain don't do it.
> I type 'email python' and get back a link to an email module. Am I being closed-minded in thinking that can't get much easier?

It certainly could be streamlined. To quote the preceding paragraph:

> For common tasks google will probably find you entire code samples or at the very least some javadocs. The samples will be missing lots of implicit information such as how to install the necessary libraries and how to deal with missing dependencies and version conflicts. Transcribing and modifying the examples may lead to bugs that suck up time. It's not terrible, mostly thanks to sites like stackoverflow, but it's still a lot of unnecessary distractions from the task at hand.
Good designers, good developers, good <insert profession here> have an acute sense of where their role is in the business.

Employees who have an unclear idea of what they're doing or why they're doing it, also don't have their focus on improving their company and the lives of their customers. Hence they'd often make arbitrary decisions regarding how to prioritize their limited resources (time, money, which features go into the next milestone etc.). And in this way they may end up dragging the company down.

An employee asking themselves "am I worth it" can be a sign of a dysfunctional company culture, or the problem may lie with the employee, but wherever the blame lies, people who don't know their worth are in the long run not worth that much to their company, fad and cargo cult caused disbalances notwithstanding.
My guess is that a lot of people who are getting an introduction to programming don't know what their future ambitions for programming are. "Oh, you want to learn the basics of programming, do you? Well okay, we have some different offerings; do you plan on programming micro controllers embedded in amphibious robots? Maybe you want to write an SMT solver? Or maybe writing software for caching HTTP responses for web servers is more in line with your ambitions..."

You might as well start with the stuff that is common to most of (contemporary) programming.
If I had to overly generalize, programmers tend to fall into the "builder" and "curiosity" camps.

I grew up using a Borland C++ compiler that didn't list which line numbers were missing semi-colons. I didn't mind going over my code to find the missing semi-colon, but plenty of my classmates were frustrated. They weren't interested in how compilers worked, how code was parsed and debugging information was lost in the transition. They just wanted to build a game, a web site, something.

At college I had a difficult time with Scheme and looked down at it. Where's the manual memory management? The pointers? The for loops? Scheme abstracted away a lot of plumbing and let users focus on algorithms.

Nowadays I think Python is the ideal first language followed by C and Haskell. It's starting in the middle, and then moving towards opposite ends of the programming spectrum: systems and functional programming.

Some make the argument that CS students should be dedicated enough to plow through an introductory course taught in Java / C++. I think that's an elitist attitude. CS is not growing in popularity despite increased demand[0], and new students should be welcomed instead of facing artificial filtering measures like "dedication". At the same time, this is not a proposal to water down the major--just a plea to ease students in instead of kicking them off a cliff and hoping they can fly.

Edit: Another front page article (https://news.ycombinator.com/item?id=7760790) discusses this issue:

> One might also argue that these tools are simple enough once you learn to use them. I would only point out that, emperically, that bar is too high. Despite the clear benefits, the vast majority of the world was chosen to remain illiterate. Even tools for which there is a clear need (eg version control) have largely failed to make a dent. Clearly there is a need for a less hostile programming environment.

[0] http://www.itworld.com/big-data/418701/american-college-stud...
I doubt there's any cooking course that starts with chemistry.
What is the case against natural selection???
The bit about them deciding to take all the cool elements they liked from v1 and fit them coherently into v2 was interesting ("Oddly enough, when trying to match these artificial constants, we would often create our best work"). It's funny how constraints often inspire the greatest creativity.
Are computers worth it? Well then... there is your answer!
The Cabal reminds me of the "Brain Trust" described in Ed Catmull's new book.

http://www.goodreads.com/book/show/18077903-creativity-inc

The Cabal made the decisions as a group but the Brain Trust simply offered suggestions. Both leveraged group creativity effectively.
Kid focused eco aware game made in Scratch
Isn't python basically the defacto OO language in undergrad CS courses today? Every CS student I've ever met did their intro courses using python. Later years would delve into C and MATLAB.
Oh man, I am full of typos today :S

Verse was a huge inspiration for me and it's a shame to see it largely ignored. We're exploring similar ideas for getting our language tooling away from plain text and towards structured, networked representations. I would love to hear your thoughts on how to do that, or any advice you have from building Verse - jamie@scattered-thoughts.net

EDIT I also thinks Eskil's ideas on 'what we can do' vs 'what we can get done' applies just as well to the rest of the programming industry. We're so focused on scaling up to millions of lines of code that we end up with environments where lunch_app takes a week to build and deploy.
This. I don't know why more creativity seems to happen in the ruby ecosystem, but it really does. My preference of ruby over python comes down to elegance and string interpolation operators (ie. not much). But ruby attracts people trying to do interesting things.

Some examples; Puppet, Chef, Vagrant, github, Jekyll.

I'm noticing similar cutting edge infrastructure/service stuff being written in go by default.
Memory locations? In Python? I don't even know what you're saying.
But isn't assuming that something is a combination of both the least dangerous kind of assumption in this context?
In my experience, the whole thing was even more negative for people who were on sports teams, but not in the particular sport who's team was being diefied (almost always American Football, and the corresponding cheerleading team).

It was like school administration was explicitly calling out the students that they decided should be popular. Very strange; made even stranger by football not actually being particularly popular in my school (the games always struggled with attendance, the basketball team was far more popular).
Not sure why you were downvoted. The handbook is an interesting read indeed.

You could maybe interpret it as shameless advertising on the part of the company (which it is!), and you could question their famous flat structure (classical point of critique towards these kinds of structures is: if there is no formal power structure, informal power structures emerge; and they can sometimes be more ominous.)
Grellas seems just as active as he usually is: https://news.ycombinator.com/threads?id=grellas

50+ avg comment karma can't happen weekly. Substantive comments require waiting for substantive stories, which are relatively rare.
"The samples will be missing lots of implicit information such as how to install the necessary libraries and how to deal with missing dependencies and version conflicts. "

Docker pretty much solves this problem. Writing samples for your new project? Start with step 1 `docker pull yourproj/your_tutorial_image`.
Sorry, didn't mean to offend.

I wasn't speaking about the practices of the Coast Guard specifically. The author of the original article generalized to "rescuers" which _is_ something I can speak about authoritatively, reddit memes not withstanding...

Our risk assessment is based on various SOGs, which are, in turn, based on NFPA and NIST guidelines.
I hate the term "coder".

It's like calling a designer a "drawer".
>Sure Python is easy to read and easy to write, but that's not really the point.

That is the point. This isn't for comp. sci. students, this is for engineering students.

I know that in America, unlike other countries, "engineer" is a non-protected term and that lots of guys who don't actually have engineering degrees (such as comp sci majors) call themselves engineers.

But "actual" Engineers, i.e. the people who have engineering degrees or are in engineering programs, the people to whom this article pertains, are applied scientists. By definition, their professional concerns aren't the inner workings, or developing a holistic understanding of computers. That's for a specialist, i.e. a computer scientist who has more appropriate training. An engineer's job is to develop a solution that surpasses the design requirements (physical as well as budgetary) by the minimum amount. As a crude example, anyone with a high school education could, with unlimited funds, build a bridge that would stand up. But only a trained structural engineer can build a bridge that will just stand up.

I'm a mechanical engineer, and for people in my field the programming aspect is most often a means to and end; you're writing a simulation to give you better insight into solving a physical problem, or you're writing a program to crunch a shitload of data, or you need to plot things and present them in a particular way or output the results to a particular tool, etc. The performance of the algorithm or your code is not really paramount. If it's "good enough" then it's good enough, because the code you write is just another tool in your toolbox along with your digital multimeter, your impact driver and your wrench.

I recently wrote a quick one-off to iteratively determine the asymptotic limit of a set of physical functions with many interconnections and shared variables, subject to 4 different constraints and involving numerous irritating physical constants.

To write that program successfully, I don't have any need whatsoever to understand the intricacies of file IO, the specifics of how libraries are linked at compile time, or how the print function actually prints to the screen. All I need is for it to print a number to the console so I can compare it to my far rougher hand calculations. Anything else is a waste of my time.

Had I written that one-off in python, the knowledge that "print prints things to the console" would be perfectly adequate for me to do what I need to do in order to move on to more important things. The inner details just aren't important.
A lot of the problems with JavaScript aren't "caveats and idiosyncrasies" or "quirks". They're rather horrible and unjustifiable flaws, plain and simple.
I tend to be pretty mercenary, but I think that writing software in exchange for money will be the most educational thing you can do right now.
How WePay Failed Eden Alexander
Thank goodness HN gold doesn't exist. The last thing HN needs is a divided community.
Getting Started With PhoneGap on Google Glass
> What about the athlete that wants to dedicate themselves to their craft? The beautiful actress that practices acting and singing all day? They are (usually) effortlessly popular

Actually, I get the impression that top athletes and singers can be really weird and even socially lacking (on account of having spent insane amounts of time getting good at what they do).

They might be popular not because they're socially skilled, but rather because they're good-looking and/or fit, and because their skill is considered cool.

The fact that we're seeing more and more 'cool nerd' stereotypes just as nerdy stuff is becoming more mainstream would support that.
I'm starting to agree with this. If I was working on this alone I would have arrived at something just as complicated and baroque as what came before it. It was only when we started putting our prototypes in front of real users that I started to realise just how much of what I do every day is completely unrelated to the problem at hand. Having the that constant feedback is really vital to challenging existing preconceptions about what programming should look like.
When Chris and company announced the light table project, they had very high goals. I knew then that this would take a long time, and some of the goals would even be unachievable without programming model changes.

The advantage of being incremental is that you can reliably produce something in a reasonable amount of time. This is not incremental, and it's quite risky; be patient.
I'm highly educated (getting a PhD) and I disagree with the author on several points:

1. Climate change isn't very problematic.

2. The best way to counter mass shootings is for more good people to have guns.

3. Obamacare will exacerbate the existing problems because the same cause gives the same result and we've been socializing our healthcare for decades.

When self-proclaimed "intellectuals" treat issues that are not settled as dogma---you believe this, or you're stupid---it's no wonder Americans don't like intellectuals.

In fact, it is to Americans' credit.

That said, I even consider myself to be an intellectual---but I know I have to make rational arguments, not rely on dogma.

In closing, presuasion via dogma just gives the anti-eveolution dummies in the South Carolina legislature more excuse not to listen to you when you actually do make a rational argument---e.g. about evolution.
Gun control isn't an intellectually enlightened policy, it's an example of liberal anti-intellectualism. Anti-intellectualism isn't a conservative-liberal issue, but the author is painting it that way.
Being non-anonymous is a point in favor of Snowden being remembered (DT did a lot more than Ellsberg but...), although being in limbo in Russia really isn't helping.

Another interesting question is timing. If Snowden had happened in December 2002 (so, no elections, and the programs well underway), he probably wouldn't have the level of support we have today. Before the Iraq War, there was certainly a lot more support of the GWoT among even "reasonable" people. I remember launching an anonymous remailer late on 9/11 or 9/12 and it really seemed like the end for people caring about privacy. If MLK had happened much earlier, it probably would have been a lot more difficult for him, too.

With Snowden, I think we're a bit late (in time for the elections of 2008 or 2012 would have been great; the financial collapse might have been a necessary precondition for distrust of institutions though) -- a decade more on the same trajectory would have been a lot worse, and IMO probably irreversible.
We give each name a unique id under the hood. At edit time the user chooses which one they want from a list. The actual AST only ever refers to ids and the names are effectively just documentation.

This has the neat side-effect that ids are globally unique so you can figure out what libraries you need to pull down just by looking up ids in your package repository.
Yes, this is one of the examples I found highly questionable.
Seriously, just use scala Futures. Here's one of many super easy ways to do parallel computations in scala:
val list = getItemsToProcess() //List[SomeObj]
list.map(so => Future { processorHeavyMethod(obj) }) //happening in parallel now
val finished = Future.sequence(list) //Future[List]
finished.await
Ruby on Rails apps have started causing a lot of problems for a lot of people. Any small initial gains obtained by getting Ruby on Rails web apps put together and deployed rapidly have time and time again been lost many times over due to performance problems, severe maintenance headaches, security flaws, and other issues such as those.

In short, it hasn't managed to live up to the immense amount of hype that once surrounded it.

Those issues, combined with many other languages now offering web frameworks that are far better than Rails, have caused a lot of developers and organizations to completely abandon it and apps written using it. Few people and organizations have time and other resources to dedicate toward something that is a liability, especially when the alternatives are so plentiful and better these days.
If you need help initialising a concept, then add some 'initialising' words to the search. "Set up email python" or "how to email python", rather than "email python" or somesuch. Don't pollute every single computer concept search with a how-to-set-this-up-from-scratch-as-a-newbie guide. I often throw in "how to" and it works pretty well.