skysight-inc/HackerNews huggingface dataset:
$12,000/year per American adult who is not already on welfare or social security would cost about $2 Trillion per year.

To put that into perspective, Social Security cost $1.3 Trillion in 2013. The cost of all social welfare programs was $529 Billion. The GDP came in at around 17 Trillion.

The US could afford it if we really wanted to. So what I'd like to hear are the counter-arguments.

- Is it inflationary? Prima facia, it has to be. But then it would also increase the flow of money and put more people to work in places that the $1,000 gets spent.

- Is it fair? If every American receives it, regardless of their wealth, then I don't see how it would be unfair.

- Is it realistic politically? It seems that the US was pretty close to something along these lines in the 60's[0] and Obama finally got universal health care through. Perhaps it is realistic enough to at least put a true, modern pilot program in place and convince ourselves one way or the other. It really seems better than the alternative: Status quo for the homeless and the poor.

A real value is that lower financial stress across the entire country would free parents to focus more on raising their kids. Many, many social problems subside when families do better.

So my question is, how can we construct a valid experiment to convince ourselves one way or the other that this will benefit society overall, and provide enough value to actually do it?

[0] http://www.remappingdebate.org/article/guaranteed-income%E2%...
have you validated any of your ideas, by talking to potential customers?
Wee 2.3 Released
One thing that bothers me about the article is that it shows a recurring problem: IT not knowing what it knows. The NoSQL movement didn't notice that NonStop Architecture scaled linearly to thousands of cores with strong-consistency, five 9's, and SQL support. In the mid-80's. Instead of making a low-cost knockoff, like cluster movement did for NUMA's, they ditched consistency altogether and launched NoSQL movement. Now, I see man who invented CAP theorem discuss it while referencing all kinds of NoSQL options to show us the tradeoffs. Yet, there's Google services in production and tech such as FoundationDB doing strong consistency with distributed, high throughput and availability.

http://www.theregister.co.uk/2012/11/22/foundationdb_fear_of...

So, why aren't such techs mentioned in these discussions? I liked his explanation of the partitioning problem. Yet, he and NoSQL advocates seem unaware that numerous companies surmounted much of the problem with good design. We might turn CAP theorem into barely an issue if we can get the industry to put the amount of innovation into non-traditional, strong-consistency architectures as they did into weak-consistency architectures. There is hope: Google went from a famous, NoSQL player to inventing an amazing, strong-consistency RDBMS (F1). Let's hope more follow.

https://static.googleusercontent.com/media/research.google.c...
I can't think of any other definition of "bad" when it comes to programming. But I do appreciate your sentiment and realize I was being unjustly negative.
Try Harder. Do Better
Interesting read - much of what she writes in this post echoes exactly what I have experienced. Thanks for sharing - I will get in contact with Aline.
This is a good strategy and it's one I've employed, but what I've found a lot of the time is that you get nothing from the candidate.

Basically you ask them questions and they give you short, often vague answers. They don't really go into detail or talk at length.

I've found this about a lot of people in general. You can ask them three questions and they will sorta answer one, but never illuminate anything.

I don't know if this is a sign of dim intelligence, or nervousness or not paying attention or what.

But people who are on the ball and great communicators will do much better in this kind of interview than people who are terribly shy-- even though the latter might be a better employee. (spending less time around the water cooler for one.)
Can you elaborate on this: "pornography, which made the locals have a major increase in STD's"?

I would have expected the opposite to happen once locals had an opportunity to satisfy their needs. Did pornography teach them something new?
Re "molten lava": it's an idiom, probably one to do with "lava" being a surprising word to throw at people in a non-geological context, one they'll suffer a cache miss on. Leading up with "molten" primes them so that they can process "lava" in real time; otherwise they might not "hear" you, and will likely ask you to repeat yourself while their neurons finish firing. (See also, the end of http://lesswrong.com/lw/o1/entropy_and_short_codes/)
I was going to try out videopixie and noticed that it has a refer-a-friend system, like sites nowadays often do. I thought it would be cool if there was a site for exchanging these referral links.

Here's a super simple test site I just put up to test out the idea: http://refermenot.meteor.com

What do you think?
Are there any languages that get finalizers right?

As in, are there any languages that at least make a best effort to run finalizers?

To me, it seems like languages like Java and C# go "we can't do it in every conceivable situation, so let's punt it always". Not an ideal "solution". You don't see optimizers optimizing functions to "throw OutOfMemoryError", so why do they do the equivalent with finalizers?
It depends.

If they are already mid through their programming career and they haven't accomplished anything yet, you might want dig in and find out why.
I don't think there is such a thing as someone who has the potential but hasn't done it. You should always have some projects you did, even in school, to talk about. If you haven't done any projects then your education is not complete.

Someone who tells you how they solved a bunch of problems in a language and context that is different from the one you're interviewing them for -- is exactly the kind of person you want to hire.

The problems are always different.

If you can't make that conceptual leap (from how they solved problem in a different context to how they would in your context), I don't think you should be interviewing people, honestly. I'm not meaning to be rude, but this is the problem that HR people and "recruiters" have.
1. BITCOIN BITCOIN BITCOIN

2. VC MONEY!!!!11!!

3. ??

4. PROFIT!
So, a couple of extra anecdotes from after I published that post.

I linked that post to our internal chat, and our support manager was all "Oh wow, that VLAN section totally explains why those filters at customer X two weeks ago didn't work". This is 4 years into trying to make sure that everyone using the filters to configure our system knows about this pitfall. They knew about a couple of failure modes in the list, but not all of them :-(

An hour after that I had a discussion with someone who knows the language very well, and we were puzzled about why the silly "look for a specific TCP option" filter was compiling to something that looked like it wouldn't work with ipv6. Turns out that while "tcp" works with IPv4 and IPv6, "tcp[]" works only on IPv4. He knew it but had forgotten, while I'd never parsed the documentation correctly to know about it. (There's a comment in the code generator suggesting that this is maybe not how things should work).
The large majority of people get fairly shitty education.

Global warning will cause tons of problems, lots of them food supply related.
Your view should be biased by the rejection. "Apply again in a year" is their standard rejection script.

Google has so many candidates applying that they can act like the attractive woman who has 100 people asking for her number every day. Google will look for the slightest excuse to reject someone.

You might as well interview and see what happens. However, I would be reluctant to waste a vacation day on an interview if I already have a job.

Another possibility is to get hired at Google, wait 1-3 years, then try to transfer to something better.

The most likely outcome is that you will go on the interview and it will go nowhere.

Google has a bad reputation among candidates who interviewed and didn't wind up working there. It's for a good reason.
Yep. There's nothing wrong with presenting them with a problem and asking how they would solve it, and giving them constraints as they go. Making them write code is much more challenging because it brings up things irrelevant to their ability to think.... but talking to them about it works because they don't have to break the verbal mindset they are already in.
The redundant work has a drastic improvement on tail latency. This is both true in a health cluster but even more true once even small failures or fluctuations occur. You might be able to tune your network and your software to _minimize_ observed partitions but you are very unlikely to see a system free of fluctuations outside of the hard-realtime system construction which none of the above qualify for by a very long shot.

It's a heavy price, sure, but in return you'll be able to round off the tail in most scenarios. This is a trade off that many don't properly consider when they try to focus on that mean performance while they miss part of the point of the dynamo model which helps provide better guarantees about how things perform in more cases, including highly tuned clusters with very few major failures.
Do you have experience using containers?

Here's my answer for "why": DRY. Once you've deployed hundreds of servers using the same exact Ubuntu 12.04 LTS kernel base, why not just completely abstract the OS away and focus the attention on scaling the OS services that matter? Why is that when I decide that I need to scale out, I need to copy every library of the OS and every line of code for the kernel and redeploy it every time I add a node?

> At this rate we'll end up shipping containers as 'apps' to the clients machines with a suitable emulator at some point.

That's exactly the point. Care to elaborate on the downside of such a promise?
How do you see this delivering on the security component of the isolation? (Not that VMs are perfect in this respect but it seems to me that containers are a lot less solid)
Is bitcoin relevant any more? The hype level seems to have crashed from former heights.
A nitpick, but an important one which I wish the Couchbase folks wouldn't let slip as often as they do, CouchDB has very different properties from Couchbase and should be considered entirely different database designs regardless of the availability of a sync gateway for replication with a number of JSON stores.
There is a ton of unbelievably bad web code out there.
jQuery is a great example of a 'huge' and popular slowdown for a minor gain.

Sure, it's 'worth it' because nobody cares if a web app takes 1/2 second to render, but as soon as you trade speed for anything else you quickly end up with code that's as slow as your willing to live with.

Having said that there are a few modern web-apps that really got 10x faster while sticking with HTML, CSS, and java-script so it's possible. The trick is stick with competent people and reasonable designs.
Nit: it looks like it's been 60 second limit on requests since release 1.5.5:

http://googleappengine.blogspot.com/2011/10/app-engine-155-s...
KASH ROCKIT IPHONE 6 / 6PLUS CASE
Zero QA, or at least zero QA by dedicated QA people.

Developers end up using QA as a crutch. The end up not testing their code completely, and sometimes they don't test it at all. Too many times I've seen code checked in, after going through code review, that just doesn't work. I'm not talking edge cases, it does not function at all.

Get rid of the crutch, and force developers to be responsible for their code. Developers should do all the QA on their code.

If you must have QA, don't waste them on checking if features are I plmented correctly, repeating a job developers should do. Instead, have them actually check quality: have them look at the whole app or site holistically. Have them try to find the bugs that developers won't be able to find.
React DnD 1.0 released
Those that think there is anything new in transumanism should read the 20th century arguments for eugenics, that is essentially what we're talking about albeit with a shiny new techno-hipster coating. This is not speeding up evolution, evolution encodes meaningful adaptations to an environment over eons, not fashionable "enhancements" to a persons "IQ"(however that happens to be measured) that may change from year to year. There is a holistic reality that is so blindly and eagerly thrown off by dreaming of the wonders of a brave post/transhuman future it makes one wonder at what point the post-posthumanists will circle back around and want to recover their true humanity unsullied by their forebears ham-handed tinkering. Good luck with all that, personally I'll stick with my boring old unmodified plain humanness.
I feel like for efficiency the lava should be recirculated rather than just flowing by to turn rock at the bottom - that's a lot of wasted energy.
I think this approach is great. It will get you people like me who are passionate about software and building cool things, and in general I feel like these are the people I want to work with. If you have no emotion about things you've worked on, that's a bad thing I think. Any silly coding or whiteboard question I ask is a poor substitute for asking someone to talk about the years someone has spent writing software.

Where this breaks down is in a big company where you just need to hire bodies, and you you already have a few top-notch engineers who can build great things and direct the unthinking, uninspired masses. At this point, you don't even care about a person's github, because it's too much time to go look through it, and that's too bad.
Carl Icahn Likes the Apple Watch, TV, Car, Stock Buybacks
> but what I've found a lot of the time is that you get nothing from the candidate.

Same here. I do interviewing for the company often. And I assume it is a sign of nervousness. Basically I try to be compasionate and if they don't explain enough, I tell them the reason I am asking or give them a chance to talk maybe about another accomplishment or hard project they worked on they are particularly proud of. And in the end it might not be the ultimate deciding factor.

> ut people who are on the ball and great communicators will do much better in this kind of interview than people who are terribly shy

I am extremely shy as well. But I can get really excited about the projects I worked on, or technology topics, in general.
do you have any more of those free coupons for your course?
I don't get the logic behind a shell initialization file that tries to 'apt-get install' anything.
If you get a file descriptor that refers to a child process upon its creation, then that file descriptor should behave like other file descriptors.

That means you ought to be able to transfer it to other processes via file descriptor passing (the SCM_RIGHTS ancillary message; see man unix).

The identity of a process would thus be local to its parent or to a process with which the parent has agreed to share that identity. Not only does this avoid race conditions, it also enables a completely unrelated process to reap a child which can be terrifically useful.

This is exactly the approach the Capsicum sandboxing framework (mentioned elsewhere) is taking. The goal there, though, is to eliminate globally shared identifiers as much as possible -- which makes sense for sandboxing!
> why not just completely abstract the OS away and focus the attention on scaling the OS services that matter?

Because it adds a layer that makes no sense unless you have very specific use cases. Though I see the point regarding people efficiency, that one makes good sense (see other comment in this sub-thread)

> Why is that when I decide that I need to scale out, I need to copy every library of the OS and every line of code for the kernel and redeploy it every time I add a node?

If you're doing it that way then you are simply doing it wrong. See: chef, configuration management and various deployment services (of which you could argue containers are one off-shoot, but they focus (imo) on the wrong level for all but the largest companies). Containers are like sandboxes with significant overhead for applications that focus on ease of deployment (but that's strange to me because I see that as a one-time cost for most of my own use cases, though I can see how that equation would change if you deploy lots of things configured by lots of different people to a single set of servers, especially if there are conflicting requirements between those deployments).

> Care to elaborate on the downside of such a promise?

That's my personal view of hell, if you don't see any downside there please ignore my vision and continue as if nothing was said.

From open, text based standards to shipping arbitrary binaries in a couple of decades. And I thought GKS was about as bad as it got ;)
Borg containers consisted generally of a single process...

Really?

My impression was that typically you'd have a process for the service, a borgmon process for monitoring, and maybe another process to ship logs off in the background.

Developers would only think about the service process (which itself typically was a fairly thin shim in front of other services), but a borg container would have more than that going on in it.
That was the only one I had trouble with
Reddit Mobile
Fish (like zsh) may leave a lot to be desired, but it is an enormous improvement over bash. I have been using fish for several years, and especially its autocompletion is indispensable to me. (However, I use it as an interactive shell only; TCL is my scripting language of choice.)
Any chance that we'll be able to have fish not resolve symlinks in the future? This is the only problem keeping many people from using it.
I faced the same problem; came up with the same solution :) http://willwarren.com/2014/07/03/roll-dynamic-dns-service-us...
I'm a former drug abuser. I'm white, so I got away with too much I shouldn't have by the legal system.

1. Absent a legal system, a person still has to live in society. To be healthy a person must maintain themselves and their place in society.

Drugs perturb the systems in your brain that give you that ability and awareness. Many drug users already have history with mental illness and make that awareness aspect worse.

2. It is a powerful respiratory depressant. There is a fine line between pleasure and not breathing. It's very easy to tip the scale, especially if you're injecting it directly without an 'undo' switch (vomitting). You lose the ability to care because you're chasing a fleeting feeling.

Tolerance plays a huge part. Someone taking a 10mg hydrocodone pill for the first time might end up higher than the guy who just slammed 5 grams of heroin just to be well for the next few hours. If the first guy did 1/100th of that he might be dead.

Time, purity, dosage and most of all the unknowable limit your body has play the biggest role here.

Opiates combined with other respiratory depressants = death. Alcohol, cough medicines, anxiolytics and sleep aids can kill you if combined with opioids.

Methadone is a wager an addict makes with a professional. It's dangerous (it's a r. depressant), it's addictive and it fucking sucks. But for some people it beats living like trash to find the next high.

For most non-hardcore addicts, methadone would be a terrible thing.
No, nature is not necessarily about survival of the fittest. This is a huge misconception.

Nature is about equilibrium and balance. I'm not touting some spiritual mumbo jumbo either. Their are many examples where the fittest consume unsustainably and destroy their own environment in a sort of ironic suicide.

The ones that survive are the ones that live in harmony with nature, not necessarily the fittest. This is why we see so many balanced ecosystems in nature; because these types of systems are the only ones that don't overload and die out.
Very good talk. Like the point about the cost of maintenance. Where it is not just about shiny new features that developers get excited about. But also about the features that help with long term maintenance. Basically making the lives of those developers easy as well.
Ask HN: How to train yourself to become a quick thinker?
By "quick", I mean within a very small amount of time, you are able to:

1. look at things from _many_ different perspectives quickly,

2. find/construct relationships between remote things quickly,

3. recall relevant knowledge/experience from memory quickly,

4. observe the environment and quickly grasp essentials about the situation,

How to train yourself to be better in this kind of "quick thinking"?

What are your recommendations of books/videos/courses? What are the necessary thinking habits/approaches/methodologies? What are the training methods/processes?

Note that here, if forced to choose, we are seeking the ability of "breadth and quantity" of our thoughts, not "depth and correctness". Of course we are not against the latter, but your recommendations should focus on "quickness".
It sounds amazing.

Hey, since you are the lead dev of the fish shell, a serious problem occurred to me weeks ago, I was compiling a QT client in fish, and there is already an environment value called `LD_LIBRARY_PATH` (including other values the compilation needs) defined in /etc/ld.so.conf.d/ and /etc/profile.d/ but fish cannot find them, if I use `set -g ...` to set it in fish shell prompt and then do the compilation, it will work, it took me a lot time to figure it out that this is the problem of fish-shell, the weird thing is, there is already one line `#!/bin/sh` at the beginning of the compilation script (it is a bash script called build.sh), so it should be executed under sh which is bash in my CentOS.
In 2003, Google had over a billion dollars in revenue. I suspect that answer was tongue in cheek.
I've never thought about "cache miss" and "hit" in a spoken language context - interesting!
Are you on a mac by chance? I ran into a really weird problem on OSX, still happens as of the latest Yosemite beta, where if you have a lot of system logs laying around, the shell takes an inordinately long time to start (10+ seconds) and do autocompletes.

If you clear out your logfiles by trashing /private/var/log/asl/*.asl, there's a pretty decent speedup.
It's like programming with a crayon on a dirty wall. Sure.. but why?
Some background: the "symlink problem" refers to this: http://fishshell.com/docs/current/faq.html#faq-cwd-symlink

In bash, if you cd into a symlink and then cd .., you get back to where you started. But fish will resolve the symlink, and so it will take you to the destination's parent.

The price bash pays is inconsistencies between external commands and builtins. For example, `ls ..` can output something different than `cd .. && ls`. This is because the kernel maintains the cwd as an inode, not a path.

I don't know of anyone who is wedded to the existing behavior. If you feel strongly about it or have ideas for how it ought to work, please comment in the issue! https://github.com/fish-shell/fish-shell/issues/1957
> The reason for that is not 'web developers' but rather the fact that a single delivery device for a huge variety of content without intermediaries is a thing no corporation will be able to ignore.

That argument doesn't work because that was already possible with TCP, and it doesn't explain the rise of "apps".

The reality is, corporate decision makers saw cheesy demos of web stuff, and said, "Hey, lets use that in production," and instead of saying, "Hey, that's a bad idea let's just use TCP for this application!" the web devs said, "Okay, I guess we can make it work." It's clever and maybe technologically impressive, but that still doesn't make it a great idea, IMO.
A More Precise Higgs Boson Mass
Paper is here: http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114...
No I think it is because people are missing waterlesscloud's point: dropbox is the place to collaborate (or something like dropbox). Just like plenty of programmers collaborate on github and think of it as a place to collaborate.