skysight-inc/HackerNews huggingface dataset:
Hey! Dabo Health is always looking for solid Ruby and Rails engineers. We use a variety of other technologies in our stack (Node, Backbone, etc.) and have the healthiest engineering/company culture I've ever experienced. We're doing big things—right now—with the Mayo Clinic to improve how healthcare is delivered in the US. https://www.dabohealth.com/#/Careers -- sean@dabohealth.com if you want to know more.
Javascript is a big stretch... the language is nothing like Python or Ruby.

At least if you want to properly learn the language...
Why not make the Earth a sort of "Dyson Sphere"? No seriously, why not?
I played WoW for a good 4-6 years. Had a lot of fun but eventually it became easy, grindy, and just lost it' luster.

I've been playing EVE since about 2007 now and it's the only thing keeping me playing MMOs let alone video games.

Then again EVE isn't really a game it's just a strange branch of real life.
"If you know that the receiver is going to receive all of the data that you send (or at least a lot of it at once, for example if you have a 5-second buffer), then you can more efficiently compress all of the media being sent."

That has nothing to do with the underlying transport.

"Typically, a UDP-based video stream will have..." "UDP-based streams also often have something..." "in UDP cases, it's often not worth bothering about... "

Here you're describing a bunch of possible properties a hypothetical protocol written on top of unreliable datagrams would/should have.

"I should say that this isn't about TCP vs UDP so much as..."

This part is correct. You should keep this part.

"..it is about buffered vs realtime streaming."

Right. Let's not conflate transport protocols with media streaming methodologies please.
No, that's exactly the opposite of your point. The history of thought would not be the same with or without Ulysses, we would not be more or less the same with enough Danielle Steel. And books are not special, many other forms of human expression deserve this kind of protection.
I'm also wondering what happened to PHP jobs. Now everything has some sort of MVC in the browser and I am reluctant to learn "front-end" because jQuery is not enough apparently.

What happened to good old php backend with jQuery ajax calls. Now everything has to be asyncy and we have to use javascript in the server side as well.
At a startup I consulted for, we had a developer who had come via toptal.com. He was heads and shoulders above anyone I've worked with via oDesk etc. Good screening could find diamonds in the rough, though.

You could also google around for people who have done what you want (built extensions you like) and ask them if they would consult on this project for you.
Handling tick data even could help and be helped in the case you outlines above.
Is Heroku sufficient? It doesn't have the email aspect but there are plenty of standalone options there. It abstracts away a lot of the headache from custom VPSen, as long as the sort of thing you want to host is supported. AWS OpsWorks could be an alternative.
If you're storing a tree in an RDBMS, please look into the closure table algorithm rather than adjacency, nested set, or materialized paths.

If you're using Rails (3.2 through 4.1), try this: http://mceachen.github.io/closure_tree/

Like it says in the README:

* Fetch your whole ancestor lineage in 1 SELECT.
* Grab all your descendants in 1 SELECT.
* Get all your siblings in 1 SELECT.
* Fetch all descendants as a nested hash in 1 SELECT.
* Find a node by ancestry path in 1 SELECT.
* 2 SQL INSERTs on node creation
* 3 SQL INSERT/UPDATEs on node reparenting

None of the other approaches above have even remotely similar performance characteristics. If your tree is small (tens of nodes), you won't care. If it's bigger, you will.
The Missing Instrument
Featureful online man pages
I really like the idea of "handoffs" that the article discusses It indirectly brings up what I see as a major problem for some of the most talented engineers I've worked with which is that some point they get too bogged down with the incremental features and maintenance on all the amazing stuff they've done in the past to work on new things. When it would take them a couple days to implement/fix X but weeks for someone else to come up to speed management just can't resist assigning it to them and eventually they become burnt out. Code reviews and mentoring can help this to reduce the time for new folks to spin up and contribute but I think a formal notion of handoffs is a really interesting idea.

Having been both an engineer and a manager, yes different tracks for different people are really helpful. The main thing I've learned is that different people want different rewards an there is no substitute for spending the time with people to figure out what sparks joy for them. Usually there is some baseline of money but often freedom, respect, and cool projects are just as important.
We are in the midst of a record breaking bubble where billion dollar valuations are getting handed out left and right & everyone is dumping money into app development.

Many people are seeking custom solutions, and don't care what language it is developed in. I've had several web app projects this year that just needed to work. If someone wanted to use PHP, Python, or Ruby it wouldn't matter as long as it was operable and functioned correctly with the front end.
They exist but if they are smart they figured out that Vancouver's high cost of living and the lowest tech salary in North America isn't very sustainable and have relocated to other cities or work for foreign clientele.
While I agree with your point that intelligence must be defined rigorously. We don't need to leave it to the philosophers. After categorizing the types of definitions, Shane Legg successfully used "Property of an agent that interacts with its environment so as to successfully achieve goals across a wide range of environments"[1] for his work in AI.

What Alva Noë is hinting at is the flaw with weak or pseudo-intelligence, as Alva calls it. As impressive as deep blue is with chess, or Watson with Jeopardy, they fail the "goals across a wide range of environments" test. This is clear with deep blue, and Watson once you realize it's just a glorified search engine.

I often hear people claim Watson learns because it improves based on the answer in the category. While it does use previous answers to tweak the final ranking algorithm. All of this is lost once the category is finished. To really "teach" Watson, you need to add more data to its index and re-index offline.

We have a workable definition of intelligence. What we're missing is a fundamental primitive unit of strong AI. Until this is found, AI will always remain just a bag of tricks, only capable of solving problems its programmers planner for.

[1] https://www.youtube.com/watch?v=V6umr1OP8uo
Similar situation and opinions here. We've launched on Rails and have since invested towards SOA. One reason was the increased complexity of the frontend solution as experience became more important in the minds of the consumers. Another was the benefit of languages which previously weren't an option because the open source community wasn't as interested.

One thing I'm curious about is how the growth in SOA popularity impacts the software ecosystem around deploying and managing micro-services. Interesting space to watch, for sure.
Programming languages are simply a problem of learning syntax and the build environment. Scan through a couple of books, maybe read a specification, write some code, and you got it.

The hard stuff is problem solving, understanding algorithms and their applicability, implementing and using data structures, how computers work, how they represent types and resources, how networks work, network protocols, databases, processes, threading, asynchronous coding etc. All of this knowledge is mostly independent from programming language and platforms and will apply from one language to another. Learning the syntax of a programming language is trivial when compared to other programming topics.

If Ruby and Ruby on Rails dies tomorrow or Python and Django or whatever, and you know of the things I just mentioned picking up the next thing should be not be a difficult task. I don't really care what language someone already knows when it comes to hiring. If you don't know JavaScript, but you know Ruby or Java or C#, and you understand Computer Science, have demonstrated being able to write working code and are not afraid to ask questions picking JavaScript on the job is OK with me. We'll do code reviews, explains things, get you going.
The whole article is based on a false premise - behaviour of unicellular organisms is now understood very well by biologists and it is clear they are nothing more than automatons, basically. A simple explanation of amoebas behaviour can be found here[1], for example:

When an amoeba encounters a chemical that attracts it, the chemoattractant binds to receptors on the amoeba's surface. The receptor then activates a protein called a G-protein, which activates a protein called PLC. The PLC modifies other molecules to create short-lived messengers that will activate other pathways necessary for movement by the cell.

The story is pretty similar for any other behaviour they exhibit, its just a simple chain of chemical reactions triggered by an impulse from an environment. In contrast to many more complicated organisms where we hypothetically know the same to be the case (like humans?), in unicellular organisms we actually traced many of such pathways.

People very emotionally cling to their beliefs about intelligence, and this blinds them to simple logic. This is the same thing at operation that caused the backslash against evolution theory. In the end I don't see why such determinism would sadden anyone, our everyday experience is what it is and its nature is not changed by learning that we react, in the end, somewhat automatically.

[1] http://www.ehow.com/info_8517923_ways-amoeba-sees-responds.h...
It only "buries the lede" for those who are desperate enough to find some reason to discredit it, which is going to be the natural impulse of most torch-and-pitchfork wielding people in this internet mob.
Exactly, that is what we do.
I think the author should be using the term "agency" instead of "intelligence", and then I might agree. The amoeba or the most basic animal doesn't have much intelligence, but it has drive and desire to survive and reproduce. That's not true in artificially intelligent beings. And while you could hard-code such drive (see the Belief-Desire-Intention frameworks in the multi-agent systems literature), ultimately it will still always be "pseudo" by definition. The notion of survival in a machine will only ever be a trick designed by a human to get a machine to do something for us, not something innate.

Maybe one day we'll implement some Adam and Eve robots with an initial hard-coded survival DNA, that the robots will abide by and transmit to their children robots. Then those children robots will evolve and one day think of building thinking machines (maybe out of some organic material) to work for them and will think of faking some survival code (maybe using some sort of protein?) in them to create pseudo-agency... ;)
I always found that paper fascinating. Unfortunately, perhaps, the solution may be to do nothing with markers or semiotics and rely on future societies learning about he danger by attrition.
The server side changes I'm not too thrilled about javascript making it's way to server side when so many wheels exist already in form of php, java, python.

The client side I've set by on the bench while I continued to hack with jQuery but now it's ridiculous, just about any development job now requires backbone.js or angularjs of some sort. I've yet to see React appear as often but maybe thats the beginning of another trend. Some shops I've worked with who bet their projects on Javascript Everywhere™ seems to have become more risk averse but it could be just a wishful thinking on my part.

What was so bad about Angular 2.0? I don't think I would ever deal with backbone.js because it makes Java Swing seem easy, which is practically whats happening, people trying to replicate desktop apps in a browser with an awful language not originally tasked for the job so they come up with weird freak of nature like Coffeescript.
Sure. That's all true. But it doesn't change the situation.

There are difficulties, but there are difficulties in any job. It's still the job of management to evaluate the performance and contribution of their employees.

The more rote the process, the worse it will be, since, as you say, it will be able to be gamed. As a general rule, I've found larger organizations are worse at it because they have more rote processes, with complicated matrices, charts, etc.

I've been a cog at small, medium, and large orgs. I've been team or project-level management at small and large orgs. I was happiest being management at the small level. Much less politic-y stuff and more freedom to manage the way I saw best. I enjoyed being managed most at the mid-level company. Less room for managerial whims that small companies can suffer from. (Yes, I know I'm playing both sides on that. Heh.) And less of the 7,000 item Employee Evaluation Form Of Doom that big companies have.

It's hard, no doubt. But a manager saying they can't accurately evaluate their employees is literally saying, "I can't do my job." Any manager should always have a very, very good idea what's going on with their employees and their contributions.
> It's a witchhunt if it's merely an accusation without evidence.

Accusations without evidence are made all the time without turning into a witch hunt. It's an element of "mob justice" and disproportionality that makes for a witch hunt, not whether or not the allegations are true. For instance, McCarthyism was a witch hunt, even though historical evidence now available to us proves there was widespread Communist infiltration of the government and media and that many of the individuals persecuted at the time were, indeed, Communists or Communist sympathizers.
Current trends will continue to put heavier demand on the ends of the stack and less on the middle layer. More money to be made the further out you are.

Data
http://www.indeed.com/jobtrends?q=hbase%2Csolr%2Chive%2Ccouc...

Infrastructure
http://www.indeed.com/jobtrends?q=aws%2Crackspace%2Cazure%2C...
Ah come on. AI algorithms

1) have passed the turing test, then, indeed, we make the turing test more difficult.

(I would argue that if you give an accurate definition of a Turing test, namely "convince, on occasion, a human that you're human", that Eliza passed it in the 1960s)

2) several industries depend on their programs passing some sort of turing test every single day (ie. outsmarting humans directly, or outsmarting "are you a human" tests, automated or no). Examples : HFT (and HFT-like industries, like loan appraisal, credit validation, insurance brokering, ...), Spamming, police chatbots ("Lolita", a US version and "Sweetie", a British equivalent), Anti-spam, anti-HFT companies (who, for example, execute share buybacks for large companies), important parts of police work, ...

3) Some things are so AI-driven that nobody in their right mind still does it manually, or at least it is globally agreed that doing things manually results in a large competitive disadvantage (e.g. shipping).

4) There are places where the replacement of humans with AI has enabled new modes of operation that can not exist without AI. UAV's being the big obvious example, but I would argue there's a better one. AI has enabled bigger ships. Most of the 50000 ton + container ships have a turn radius of 50+ kilometers. If you don't have clear vision 20 kilometers out, you cannot control these ships safely (just look for the yearly demonstration disaster of that fact in the Channel between Britain and France/Belgium). Then we started building 650000 ton ships. When it comes to planes, it's not just UAVs that cannot be controlled by humans, but several kinds of fundamentally unstable planes have started flying, the big example being flying wing aircraft. But there's plenty of others : UAVs, dynamic wing aircraft (like a bird or insect would be a good description), aircraft too light to have a human control them, ...

Let's be fair here : this war was lost, a few years ago. Nobody seems interested in giving an AI a datacenter's worth of resources just to have it figure out how to benefit itself/improve itself. If someone did this, for a few years an algorithm could learn to quite literally be a human.
Didn't a lot of major corporations get in trouble recently because they colluded to stop engineers from correcting this imbalance?

Your argument seems to ignore that market forces agreed that engineers were underpaid, and it was only by illegal collusion that their wages were kept to what they were.
I use hoverzoom for Chrome: https://chrome.google.com/webstore/detail/hover-zoom/nonjdcj...
I really should try Eve, from what I hear it's pretty awesome. I'm just not that into the spaceship thing. Still, from the stories I've heard, it does sound like it has the experience I'm looking for.

I'm just disappointed in the options available.
Do you have an example of one? I'm dying to try one that really lives up to the original aspirations (e.g., pretrammel) of UO.
I made a port of OpenSCAD used no asm.js as www.fabfabbers.com/OpenSCAD
What's your interest in it?
how would you get into learning those platforms?
Think of the down votes as the internet equivalent of being ignored or walked away from at a social gathering. You know, when someone says something arrogant or self centred and people turn away not quite knowing how to react.
Motherfucker, that was an amazing comment.
You go write that shit in a blog post right the hell now.
Why all your submissions on asm.js?
When you click, you thrust in the direction you're going.

The faster you travel, the quicker the points add up.
Some technology stacks are clearly popular because of a 1-3 year long hype cycle. Rails/node/ember/mongo fall into this category I think, whereas others (python/java/C#/postgresql) build up more gradually but tend to stick around longer and don't rely upon a wave of hype.

I don't think node/ember will ever go away, but I'm sure that they'll lose their fashionability after a year or two much like rails has, and for that reason I'm pretty loath to chase them. I'd prefer to invest in the other type of technology instead of chasing faddish stuff.

These days the benefits of this model of development (one page js app) is also hyped enough to drown out the fairly significant drawbacks - javascript behaves unpredictably under different browsers, is weakly typed, and the whole model breaks certain abstractions. I'm betting that the hype will die down but the drawbacks aren't going away.

I also don't think that switching ecosystems is quite as easy as you make out. Each ecosystem has enormous tool chains and you quite often need years of experience to know what the best of 500 libraries/tools to use in any situation is.
Small correction : fly-by-wire doesn't refer to autopilots, but to having control surfaces be hydraulically driven and controlled by electrical signals. Previously, control surfaces were mechanically connected to the pilot's controls.

> Typically a pilot will turn off the autopilot around 1000 feet and then do the rest for descent and subsequent landing.

This hasn't been true anymore for about half a decade. Most landings are executed by autopilots. It depends on the airfield and weather and ...

A famous example was an event in 2006 for London Heathrow, when there was a period of about 3 weeks where the airport was autoland-only (has happened several times since then too). No human was allowed to land a plane there, but autopilots were. It resulted in two things, firstly a capacity reduction of about 40%, and a large amount of pressure on airlines to incorporate autoland features into their planes.

> Some things just can't and should never be replaced. Is modern day technology meant to replace doctors?

Yes, definitely. AI algorithms result in better patient outcomes.

> Every time a new device intended to help keep a patient alive is created, is its intent to aide or replace a doctor? Of course not. People would never agree with replacing doctors with machines completely.

Completely, perhaps not. We'll see. I don't think we'll really get the choice though.
The figure 779,000 makes sense if you could take a programmer today and have him travel back in time to 1999. While the programmer was back in 1999 he(or she) would have access to everything that is available in 2014. The programmer would have access to the frameworks, the infrastructure(AWS), and everything else that we have available.

The reason average programmers today don't make on average 779,000 dollars a year, is because like many things, programming hours and talent have been commoditized. There are many people that can learn how to perform these programming tasks. It's easier and more accessible than ever.
I use this and Aho:s "Foundations of Computer science" as an index to computer science.

For that purpose I found this book very useful, but then again, I don't have a formal CS background (my major was physics).

I go for other sources to understand the specifics of an implementation. The practical examples of where, when, and why would I use a particular method were really useful.

It's very hard to imagine a single book that would suffice as a resource.

For a person like myself, who writes lots of performance critical stuff in C++ I would combine this with something like Aho: "Foundations of computer science" and Loudon: "Mastering algorithm with C" and for perfomance Ericson: "Real time collision detection" and Agner Fog's excellent optimization resources (http://www.agner.org/optimize/).

This book helps to bring out the view that isomorphism is the superpower of applied computer science - once we identify that our problem is by formal definition exactly the same as that other problem we read about we can solve it usually very neatly.

For me, this book gave a very valuable practical exposition of several patterns of usage. Like Steve Yegge commented, for example, the content of graphs was enormously useful to me.
I strongly doubt this. Here's a good way to defeat any computer in a Turing test: tell a joke, and ask it to explain why it is funny.
You can use startssl for that right now. They provide one year free noncommercial certs. By the time that one expires letsencrypt will be live.
What is the name of the company? Guessing it is Bardel?

http://bardel.ca/now-hiring/?bd-job=Ruby+on+Rails+Developers...
At RubyConf this week the job board seemed pretty full:

https://twitter.com/jstetser/status/535212851934560259
$RANDOM is shell-specific. bash has $RANDOM, ksh has $RANDOM, and zsh has $RANDOM, standard sh doesn't have it.
> The '2nd Edition' is misleading in the title, this edition has been out for around three years.

Thanks for pointing that out. We excised that bit.
1) Transfer your overall web development skills to another language/platform (Go, Clojure, Elixir or JS/Node). For anyone 'spoilt' by the beauty of Ruby, Clojure and Elixir are good choices. Given that you are coding professionally since 2008, you should be able to move into 'adept' category quickly in any of the above.

2) Utilize your Ruby programming expertise and become a Mobile developer !! Check out Rubymotion.com. Code in Ruby for Android and iOS.
>The hard stuff is problem solving, understanding algorithms and their applicability, implementing and using data structures, how computers work, how they represent types and resources, how networks work, network protocols, databases, processes, threading, asynchronous coding etc.

Yeah, and knowing which libraries to use to do all that stuff and what quirks they have.

That type of knowledge doesn't translate overnight between programming ecosystems. It takes years.
Assembly – Tiny Titan
Very cool. I would like it even more if there were tests :)

https://github.com/Emsu/prophet/
Why Aston Motes, Dropbox's First Employee, Chose MIT Over Caltech