skysight-inc/HackerNews huggingface dataset:
I'd love more ideas

I'm not hiring any programmers at the moment but if I were, I'd probably hire high-level people by sitting down with them to discuss some piece of open-source code they've written. I'd take a few hours before the interview -- again, assuming the position is important enough to justify it -- and familiarize myself with their publicly-visible work. At that point the 'interview' can just be a casual conversation over lunch -- a two-way one, at that.

Lower-level people with less experience? I don't really know how I'd evaluate these candidates. I might have to fall back on grades/employment history and the dreaded Fizzbuzz-on-the-Whiteboard routine.

But that's probably OK, because the higher-level people are the ones where you really need to get the selection process right the first time. One fresh-faced college grad is just like another, presumably, unless s/he has taken steps to stand out from the crowd by contributing code to the community. At which point I'll treat them like a higher-level interviewee, and we can skip the Fizzbuzz stuff.
I'd recommend _We, The Watched_ by Adam Bender[0]. It's available in ebook or print and the author has similarly licensed it under Creative Commons (NoDerivs as opposed to ShareAlike however).

- [0] http://www.wethewatched.com/

(edit: fixed CC license type)
"Stop looking at social media websites, and instead work out what contribution you can make to the world, and go and do it," he says.
Did WikiLeaks Sell Out Snowden To The Russians?
One approach I've tried recently is getting a digital ocean box and giving the prospective candidate access to the box 24 hrs prior, just so they can install whatever tools they like if they so choose, and then giving the candidate a simple problem to build on the box for 30 minutes.

Then we mute the phones for 30 minutes, so that people can work in peace, but we're around if they want to ask us any questions.

And at the end of the 30 minutes we discuss how far they got, and what they would do differently, etc..

We've only done this twice, but I think it was fairly useful both times. Haven't done it enough to know whether or not this is a good approach.
> But a petrochemical process plant can't be built in slices; you have to a minimum amount of design, planning and construction simply to get to the point of turning it on.

Poppendieck also gives examples of using similar processes for 3M's manufacturing plants. Regardless, I think drawing physical analogies for software is risky; software is infinitely soft.

> You may have heard of the Internet Engineering Taskforce.

Yes, I have. And either you don't know what they do or you're drawing a false analogy between traditional planning processes and what the IETF does.
I just wanted to chime in and say how righteous this app is. I've recommended it at work, though, as usual, no one listens.
Do not use Google APIs to support core functionality in your products. Google has no conscience. Don't expect mercy.
Yeah, that's the issue I initially foresaw. I didn't try it but I know enough about non-realtime-OSes that I know it would not have worked consistently. Even on the Arduino, sometimes you have to change the timing a bit -- it's not exact.

There _are_ RTOSes for the Raspberry Pi, but they may introduce their own problems. I don't mind having an Arduino or something smaller in there to handle the light stuff. Even if you want more control than the circular buffer implementation, it's incredibly simple to write a serial protocol to just individually address the bulbs.

If you wanted to minify it, you could have an ATMega on a PCB with just the necessary components to use as a 'shield' of sorts for the Raspberry Pi.
"From scratch" is relative but I guess you mean just without a CMS.

My favorite stack for the last year or two has been CoffeeScript (and now ToffeeScript which is even better) and Node.js with good old ExpressJS.

I also think AngularJS is probably the best starting point for many web applications these days. So actually most of your efforts would be with AngularJS since the front end is often going to be much more complex than the back end.

The most convenient way to store data I think is in JSON files or with MongoDB or RethinkDB. Or maybe better take a look at a CRUD framework like https://npmjs.org/package/auto-crud . Again, 'from scratch' is a relative term and actually the farther you stay away from that the better probably. But of course no one, including me, can learn everything, so you have to pick a set of tools and become comfortable with them and that is subjective.

Node has the most advantageous module/package system out there (npm) with the support for semantic versioning and the sheer number of packages available in the registry (more than 41,000 at the moment).
Excellent and very detailed explanation of the exploit. I wish more exploits were documented like this.
This was a fascinating read, and disturbing. Make sure you read the interview as well at the end of the story.

http://www.motherjones.com/politics/2013/09/interview-eric-s...
My New Favorite Android App: Circa
If we can get medical care to the point where, say, the 1970s standard of care is as cheap as food is, then we're basically at post-scarcity.

How so? Post-scarcity implies, to me at least, that nobody has to work to live: everything is abundant and free.

http://en.wikipedia.org/wiki/Post-scarcity_economy
> Can someone explain this really simply for me?

Imagine that you had to write it yourself.

First, you would create some strings approximately representing latitudes on Earth and their associated land masses -- one string for maybe 10-20 degrees of latitude, from some southerly latitude to a northerly one.

Nest, you would figure out a way to print substrings of the strings, at specific points within the strings that you would choose.

Next, you would arrange that the substring printer would wrap around to the beginning of the string in the event that it was asked to print a greater length than the remaining characters available from the specific starting point to the end. By wrapping around, you create the illusion of a circle of characters, like on a globe.

Next, you would think of a way to write into a specially formatted executable text file having a roughly circular central section that is commented out, i.e. not executable.

Next, you would arrange that the specially formatted text file be the running program, and the central comment area represent the display of the earth.

Next, just to blow minds, you would print the current form of the program text file on the console, after each animation cycle filled the comment area.

Finally, you would create the illusion that the earth is rotating clockwise as seen from the north pole (the opposite of reality) just to provoke people who know a bit of astronomy.
There is a significant degree of sexual dimorphism within the orangutan species (130 kilo+ adult males compared to around 35 kilo females)- far greater than humans. That any comparison to human behavior cannot be implied. Just take it as it is.

If it makes you feel better, wild female orangutan mothers are capable of teaching their children over 180 food sources during a nurturing period lasting over 10 years. Impressive stuff.
Every CMS is proprietary once.
http://bugchecker.net is a site that does automated testing (dynamic analysis). We use STP.
With their same logic, your software based CSPRNG isn't safe, and your browser isn't safe, and your full disk encryption isn't safe and all it requires is the trivial feat of being able to run arbitrary code as arbitrary users on your system without your knowledge.
Was this pre or post patriot act? The identity requirements for bank accounts got a lot stricter since then.
Rat Park Experiment: A New Theory of Addiction
Resourcing and estimating against plans is one approach, but it's not the only one. You can also use a flow-based approach. Basically, you have teams with queues; whenever a team is out of work, they pop something from the queue and work on it until complete. Or, if the organization is more subtle, you release early and often, ending a project when it looks like the team can be more usefully deployed elsewhere.

Mary and Tom Poppendieck cover this approach a fair bit in their books.
I'm sure it wouldn't be too hard to have another server with the big button that would then send the command to initiate the scanning system. I wuldn't be surprised if you could even add a progress bar of sorts with big text reading "downloading the internet". I have good reason to believe it looks like this in its finished wireless form https://lh5.googleusercontent.com/-T-ec3sb6Xgc/ThXz2ApbsjI/A...
I recently had an interview with Google London, Oh boy did a screw it up, it's like I'm reading my experience, my mind simply went blank ! The interviewer was like the nicest person I've been interviewed by (he's pretty famous and I recognized his voice btw). The task was hilariously easy (I've done the same thing like 2 days ago), but when I was asked to work on it on the phone I bombed ! Basically I was thinking of everything else BUT the problem at hand. The guy kept being nice telling me that this happens all the time (you know people freezing). At the end I wasn't lucky enough to proceed to the next level and frankly I felt that I deserved to fail and I should not be a programmer and what not. Very depressing - I took at as a BIG personal failure and missing an opportunity of a lifetime. I think the thing that makes it worst is the fact that I honestly knew this, after the interview was over I looked at the problem and couldn't believe that I wasn't able to do it. Complete mental block. I think I've recovered since, and I'm trying to improve. Just want to say (because I've heard complaints from other people) - Google were very nice, and worked very quick with me, I've submitted my CV and got a call the same day (maybe just lucky), then I basically chose the date of my interview and they were spot on. Also they gave me good feedback.
Since a reply link isn't available for spacemanaki's comment, I'll stick it here:

"The purpose of a question like this, and of the classic FizzBuzz question, is to be a lightweight test of whether a candidate can actually write code or not. That's all. It provides a negative signal if they fall completely to get anywhere close, and nothing more."

I disagree. Vehemently. Provide me an email address and I'll mail you tons of code I've written. You cannot, cannot conclude with any accuracy that the inability to code up a method/function to check an anagram means that the person cannot write code. What you can conclude is that they cannot write up a method/function to check an anagram.

You're making an assumption. If a = b and b = c, then a = c. That works in math class but not here. The test is not one of syntax or knowledge of the language but of knowledge of a specific problem. Some here have used the word "trick". I don't even need to go there. Once you have the answer to this anagram exercise, you can back into why it's a good question, what it supposedly shows, etc. At that point you're justifying the question and defending it.

But you missed the entire point of the exercise: you're supposedly screening candidates for knowledge of a language and how they might have used it in their past experience, but letting it all come down to whether they solve your specific problem on the spot with all of Pamela's concerns about stress, etc.

It's easier to ask about an anagram than to ask about a candidate's past and what they did on their projects. If not an anagram, there are others. There will always be "solve this now" rather than "tell me about..." That's just the game.
> As a result, less people will have jobs

Automation has never unemployed people, only persons. Specific categories of jobs are removed by automation, but these are replaced by other categories of jobs. Demand is created for the products of these jobs, and the whole machine keeps turning.

The consumer driven economy is built on artificial demand. The vast majority of 'stuff' bought is unnecessary. Without advertising and a culture that emphasises keeping up with the joneses we would see unemployment on a large scale, but our economy has adapted to fill the unemployment niches.

The real challenge is not how to prevent unemployment through automation. It is to find an alternate solution to artificially inflated demand which doesn't waste so much labor and materials producing goods and services which are strictly speaking unnecessary.
2. As a result, less people will have jobs. http://en.wikipedia.org/wiki/Technological_unemployment

This isn't true, though people keep writing about it in various contexts: Babbage in the 19th C, and David Ricardo: http://en.wikipedia.org/wiki/David_Ricardo. The jobs people do change. No one in 1800 worked as a video-game designer or social media marketing specialist. Few people today work as farrier or milliners.

I have no idea what the book situation is like in China, but if you can, get a copy of Tyler Cowen's recent book Average Is Over.

5. Richer people will get richer. Poor people will get poorer.

The entire world has been getting richer for centuries, and in the last couple decades the world has seen unprecedented wealth creation due to the fall of Communism. See Cowen, noted above, or something like Why Nations Fail by Daron Acemoglu and James Robinson.
These people have horrible bunkbeds. Creaky pieces of shit from Ikea. Every small motion is felt by your neighbor.

That's not to say there weren't positive qualities as well.
> In today's record industry, Dave Brubeck would not be homeless ...

I have to repeat something funny that Brubeck said -- he said the most common question asked by fans was, "How many musicians are there in your quartet?"
> Of course there will be a correlation between most popular and most pirated. DUH.

Yes, that's my point, and it is counter to the thesis in the article, which is that established bands are being out-competed by amateurs.

I'm not hand-wringing; it's also true that there is a correlation between teenage ages, and likelihood to download music rather than purchase it.
One ding to Scala's practicality, it's such an enormous language that to use it in production with a large team almost requires a C++ level of discipline in deciding which elements of the language to use. It's a terrific language though and the fact that it runs on the JVM is a huge advantage.
If you can't counter the argument attack the person.

"Don't even bother with the user "newnewnew"" - Ignore and ostracise those with opposing views. How open minded of you.
As Deadline Nears, Taxi of Tomorrow Faces Court Fight and Reluctant Owners
Sure, but that's an artifact of traditional budgeting. In the Lean world (as in Lean Manufacturing), traditional budgeting is considered a dangerous and misleading activity.

Another way to work it is to have a backlog of valuable things to do that get handed out to teams. When somebody needs something to do, you pick the highest-ROI project from the backlog and give it to them.

In that context, detailed specs and careful estimates generally turn out to be wasteful. If you're trying to pick projects by expected ROI, then making the software estimate more precise than the (generally handwavey) business value estimate is pointless.
Someone would probably notice, checking the DVD against a checksum.

Repackaging it seems to be tricky, since the paper inlay is bound in the magazine, it's not just stuck on the cover or whatever. You tear it out at a perforation, leaving part of the DVD cover inside.

There are much more exposed attack vectors on online banking users, I would think.

And you can always just download the ISO and check it against the hash (and the PGP key).
Well written, well documented code. Kudos.
That's not an industry problem, it is a society problem where people need jobs to eat. Until you fix that problem, everything else is just dancing around the problem.

I interviewed a guy at a movie theatre 20+ years ago when I asked if he liked movies. He started sweating... And eventually said he had to cover medical expenses for his son and he was running out of time. He needed to work and would do what it took.

Until you fix the stakes, all you're doing is changing to another interview form that someone else will freeze up on.
While I see activity on the github repo, version 0.9 seems to be forever a work-in-progress. I had high hopes, but I am starting to wonder about the momentum behind the project.
You wouldn't see much, without the correct host header you won't see the many sites that IP could be serving.
Honestly, I don't think it does. Until some of this new housing actually finishes, I don't think it's realistic to think prices will come down anywhere. And while you think those places are exploitative with their pricing, when you realize what their mortgages are, it's easy to understand why they're so damned expensive.

Average is about $1600 to rent a 1x1 in Mountain View right now alone, $800 if you split it with someone (probably the cheapest in the region you mentioned in your other post.)
>1,2,3

Yup, except why do the developers not get the income? Presumably they are selling the machines?

>4

Yes. The key with this kind of logic is to relate it to the current situation, though; people with more workers can afford even more workers. Why doesn't it all blow up now?

There is more to success than simply scale of manufacturing capability; firms need to keep ahead of competitors, keep up with technology, manage the whole stack, etc, and then they can end up controlling the whole market (at the thing they do) and having nowhere else to go because the firms in other fields have an advantage that takes something special to beat.

Also, the neat thing about capitalism is that money to buy more work is rarely the bottleneck, because you can get a capitalist to invest in your scheme (if it looks any good).

>5

The second thing (poor get poorer) does not necessarily follow. Only the people who can't do anything that machines can't do better get poor. The working poor have more buying power because the machines create more wealth for less money.

In practice, despite a lot of automation, we don't have many people unable to do anything productive; people are very much more versatile than machines (for now).

More on that: http://lesswrong.com/lw/hh4/the_robots_ai_and_unemployment_a...

>In the future (my crazy thoughts):

Yes, eventually the set of people who cannot do something that machines can't do better includes everyone, and everyone becomes unemployed. (Which looks pretty good, IMO; who likes working?). There are more serious problems than unemployment at this point, though.

At this point, why do you expect the machines to still be under the control of the capitalists? If the machines can do capitalism, etc better than capitalists, any wealth that ends up in the hands of an autonomous machine will eventually increase to eclipse the human capitalists as well. (And of course, meanwhile the machines are increasing in effectiveness because they are better at machine design as well).

This is called the "intelligence explosion" or "technological singularity" scenario, depending who you ask, and looks like bad news, unless we do some serious stuff to make sure the machines work to specifically benefit humanity instead of just continuing to find better and better ways to do whatever other task they were doing. (Better ways that eventually include overpowering humans militarily and melting us down for raw material).

If you want more info: http://intelligenceexplosion.com/
Python(Django), Ruby(Rails), JavaScript(NodeJS), Go, Scala or Clojure.
>> "The gist of why estimates are hard: every new piece of software is a machine that has never been built before."

What is not explicitly said here is that a good developer needs to know what would be a "new" piece of software. He should be at least vaguely aware of what has been built already, what is within the reach of the state of the art, etc. And just like in the stock market, it is impossibly hard to know all the needed information to come up with wise judgement, complicating the estimation process even more. Yet, this is an essential piece in estimation anyways. Just for example, for some projects you may simply declare them to be beyond the state of the art.
I actually think that if a project like Ghost becomes really popular it is almost guaranteed to end up with a full scale plugin system and therefore become a type of operating system despite what the founder thinks about that.

I think we do need something with an updated stack that has capabilities somewhat like WordPress. Here is an idea that I started on a while back. (Obviously not very pretty and needs a lot of refinement.) http://vimeo.com/43784316
Hello reddit. HN was nice before y'all found out about it. This was inevitable but I suppose now is as good as any time to stop coming here. Goodbye reddit.
This is something I've wondered about. In my niche, if I can reach people, I can sell them stuff or make money from affiliate sales. But they're also making an investment in my niche, so they're willing to spend.

When you've just got fans, to what extent can you make money via means other than sales?
It does this with code pages, to trace the control flow. All modern OSes let you map code read-only (either static or shared libraries) into multiple processes while sharing the physical memory.
No, my reading was that you were making an argument about artistic merit or legitimacy in a thread about piracy. I guess I don't understand what point you were making.
From healthcare to virtual worlds: The companies that Jeff Bezos invests in
I'll throw in my hat for PHP. There will be many people who will tell you to avoid PHP and I would have agreed if it wasn't for the Laravel framework. Laravel 4 is really amazing, it carries the simplicity and power of Ruby on Rails over to the PHP world. As a framework it covers most of your typical newbie problems out of the box (e.g. plugging security holes and organising your code) and you'll end up doing things in one line of code that you previously did in 5. Laravel also basically forces you to write really reusable code by using their Eloquent ORM system.

Though my favourite great thing about Laravel is that the community IS ON FIRE (in a good way). You'll get a response to most questions on Stack Overflow or the Laravel Forum within a few hours or even less sometimes. The core dev team are friendly and really available to help out. I found that when people use Laravel they don't just use it, they love it and become almost strangely obsessed with it. It's also pretty new so you can safely assume that your skills will not go out of date really soon or anything.

Take a look at this article for some more info: https://tutsplus.com/tutorial/why-laravel-is-taking-the-php-...

and this Stack Overflow question: http://stackoverflow.com/questions/13693795/to-swap-or-not-t...
If you want to build stuff now and get a job, JS and the frontend will keep you employed for years. There are a bunch of connected fields spanning across a ton of tangential disciplines both artistic and programming and lots of space to find a niche that makes you happy.

If you want to take the hard road, improve yourself as a programmer, Clojure and Machine Learning. Just be aware that you won't get easy career options for 3-5 years if ever. I'm a believer but history is not on the side of the better is better lispers.
Russian control of Wikileaks makes sense of Snowden's actions. Then again, it may just be conincidence?
I did something similar with a Raspberry Pi and a string of WS2801 12mm diffused LEDs from Adafruit:

http://www.andrewmunsell.com/blog/raspberry-pi-leds/

Because the LED string I used has an SPI-like protocol to control them, it can be done directly from the Raspberry Pi's GPIO pins without the need of an Arduino middle-man.

Right now, it's implemented in Node.js as well (using the node-spi library), but I'm also working on a Golang version that's completely standalone and just uses the SPI device in /dev.