skysight-inc/HackerNews huggingface dataset:
I'm not a pro at hiring, but I have a very different approach based on what ultimately ends up being useful in an employee over the longer term for us.

If you're building a garbage collector, or a high performance graph database, then by all means, ask your candidates to whiteboard algorithms for you. Fizz buzz the crap out of them. In fact hiring for that type of position must be ridiculously hard and I'm not qualified to address it.

If however you're building CRUD apps in Rails or SPAs in React, you may want to take a different approach. One that prefers maturity, discipline, and self-motivation over pure intelligence or proficiency with Haskell.

This comes from personal experience hiring very smart people who lack some of these other values. It's never worked out well in the long haul.

I also think that there are a lot of really smart people who will just suck at those algo type interview questions because it can be a bit nerveracking and as you can already see from some replies to this thread, it can be taken as offensive (even if you don't think it is). Making your candidate (more) nervous and / or defensive and you're limiting your ability to find out about their other virtues.
https://www.samsung.com/uk/info/privacy-SmartTV.html

Here is the relevant part: "Please be aware that if your spoken words include personal or other sensitive information, that information will be among the data captured and transmitted to a third party through your use of Voice Recognition."

This must be a data protection violation ?
The delay is approximately the same or less of what fast local evaluation would be (ping within a country should be <50ms).
At my first job this was very common. Usually it was more related to schema design and class hierarchies. But there were always white boards full of diagrams of whatever we worked on. We had folders full of digital photos of white boards as reference material.

I'll never forget how excited the lead dev was one day when he got some markers that would automatically make a digital file from whatever he drew on the white board.
Original Raspberry Pi needs user to provide non-free firmware blobs on SD card to even boot the CPU. That's pretty non-free in any meaning I can imagine.

It seems like it's still the case with Raspberry Pi 2.
Why not just disconnect it from the network?
Just for completeness https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518696 Had parallel been packaged at that time (Mar 2009), it would have pre-empted the parallel in moreutils (which was added June 2009).
It might be practically necessary, though, if they need to have a huge corpus of data in memory in order to perform their voice recognition.
Do you think someone who is familiar with git wouldn't be able to be productive with svn in more than one day (while doing other tasks of course)?

Getting familiar with the code base takes much longer than picking up C# if you have a Java background.
This is exactly how Amazon Echo does it:

Amazon Echo uses on-device keyword spotting to detect the wake word. When Amazon Echo detects the wake word, Amazon Echo streams audio to the Cloud, including a fraction of a second of audio before the wake word.

http://www.amazon.com/gp/help/customer/display.html?nodeId=2...
Mind-blowing uses of blockchain technology
How does that fit with Apple rolling in cash?
With digital audio going to a DAC even with cheap cables, the '1's and '0's should be arriving OK and will be in "working perfectly" mode. You have to hope that is the case with USB audio as there is no error checking.

But when bits arrive is very important in audio, and whether or not the devices and cables in the chain before the DAC have introduced noise on the ground plane is also considered very important by some.

I can't see how an ethernet cable can affect timing, as the packets with the digital signal might even arrive out of order. The earthing of the ethernet cable might influence how much noise is introduced the ground plane though. It might explain why the Audioquest cables are directional, if their earthing arrangement is directional perhaps.
Here's an interesting blog post that covers just that phrase. http://squid314.livejournal.com/329561.html

>
If you are like everyone else on the Internet, your immediate response is "Whoever is saying that is obviously a racisty racist who loves racism! I can't believe he literally used the 'I'm not racist, but...' line in those exact words! The old INRB! I've got to get home as fast as I can to write about this on my blog and tell everyone I really met one of those people!"

If you've trained yourself to knee-jerk whenever you hear certain buzzwords, you're probably being intellectually dishonest.
If someone can't interact with colleagues to solve problems, and can only work when alone with the computer, it greatly limits the ability to work as part of a team.

Collaborative white board discussions are a pretty common part of many software development teams.
Show HN: A really simple way to write BDD tests with NUnit
Emacs hydra.el: a new way of creating key bindings
Fiddling with temperature data is the biggest science scandal
Serious question: what were you expecting to see from the best book about business?
Project link: https://github.com/abo-abo/hydra

Blog link with the description of the latest release: http://oremacs.com/2015/02/08/hydra-0.9.0/
It can be installed from nuget - Helpful.BDD
And the real kicker is that no company really gives a shit about anyone. The expect complete loyalty, but they have none in return.
Best of Calendar apps
Yes, I have to think they won't be happy about this.
Here's my exact train of thought while reading that:

GetHash? What the frack? Isn't that on object somewhere? Right, object handles all the common copy semantics and so forth. Use the hash to check for equality; things on the stack instead of the heap, yadda yadda..

Dang, here the guy is going into detail why this is so important. Ah yes, value versus reference semantics. Boxing and so forth. Tiny trivia around how the CLR works. I remember those days well. Would make for a great Nerd Jeopardy question.

But who cares about all of that? I'll look it up if I need it. As far as memory usage, I worry about that by using pure FP and being careful what kinds of data structures I use. Problem solved.

Encyclopedic knowledge is great, but the real trick is dumping everything possible offline and then knowing how and when you should get back to looking at it.
+1. I can't believe it but I'm having to roll my own photo/video database in 2015. Mostly it's because having Android/IOS/classic cameras is hard to handle with any one photo indexer, and because they are not always complete e.g. I don't see a way in iTunes to pull down media that came in on mms messages.
"...these are none of the questions that would be asked of a carpenter."

That's exactly the point. But it parallels the useless questions so often asked of the general computer programmer by the Corporate HR Recruiter Drone .
The way to detect a KTH is listed in the Wiki article: https://www.schneier.com/blog/archives/2006/01/countering_tr...
I was slightly disappointed that this didn't point to a 404.
Sure, that's one solution. But let's take the Samsung example. What happens when the device needs to update firmware? I want to allow traffic of that sort, while disallowing things such as the voice communication.
A lot of programming nowadays is not as much about writing primitives, but knowing ins and outs of specific frameworks and libraries.

How reasonable would it be to expect an Objective C / Swift guy to write high-quality C++ Boost code and vice versa?

In every company there's some amount of code that's written in X but definitely looks like the person writing it was more experienced in Y and just dragged Y idioms into his new project.
business and making money is always about a trade off of more information and making quicker decisions cheaply. the nice thing about business/making money is that detail doesn't matter, small information gain on your decisions can pay huge dividends. i mean the data is usually dirty and discusting in the first place
Am I the only one who is bothered by the fact that they used double quotation marks for "uh" and single quotation marks of "um" in the headline?
It seems to me that, if you have one of these, you live in a two-party consent state (e.g. California), and you invite a guest who hasn't clicked the EULA over, then someone is committing felony wiretapping.

I would love to see a TV vendor prosecuted for this.
I believe that jQuery is neither - it's a collection of tools to assist with programming webpages in whichever paradigm is appropriate for that particular task.

This approach gives the advantage of ceding ultimate control back to the programmer, at the cost of some internal inconsistency.
I can confirm that. On most computers I could tell what is happening on screen just by listening. Scrolling, video playback, task switching all makes different noises. I have decent headphones and amplifier.
I'll expand on this with my understanding.

Library - a collection of useful things.
Framework - a collection of things, and a methodology, used to structure your application.

In general, a lot of new, modern frameworks do 'call you' (Inversion of Control). Exmaple: Most PHP frameworks are setup so that you put all your models in one folder, your routes in another, etc. Then the framework itself accepts requests and determines which parts of your code to pass it through, and in what order.

However, you can also have frameworks that don't do IoC. You setup the framework, tell it what to do, tell it how to do it. But you still structure your code around that specific framework's methodology (which is why it's hard to mix 'n' match).

jQuery is an odd thing, because it's not really either of these. It provides lots of useful functions, but it also does so in a way that it replaces a lot of the 'core language features', and causes you to use it across most of your code.

However, I'd still say it's a library (with a very nice syntax) - since it doesn't tell you 'this is how you structure your application'. You can use jQuery how ever you like, and it imposes almost no constraints. Therefore it's not a framework.
Ecuador becomes the first country to roll out its own digital durrency
There are shoes or bags sold for this price. This thing at least has some silver inside, so its not complete waste.
Yeah, that kinda bums me out.
Even when I'm in a discussion using the whiteboard at my current job its not like I'm up there verbalizing every thought that comes to mind as I write. And typically in these sessions I'll be completely silent for a majority of the time.

What you get isn't useful insight. It is the appearance of useful insight.
Performance recommendation: Do not use jQuery's hide() method. Ever
So how about if somebody in California replies to an e-mail which was sent from gmail.com?
This immediately brought to mind Orwell's telescreens.

http://en.wikipedia.org/wiki/Telescreen
> Usually, doing something myself or my boss never had done before, and we would figure it out off the prints, and build it.

Yes, of course. That's been my entire career in software as well. And I'd suggest that's what people should be looking for: the ability to build something they've never built before.
Transforming Dropbox, Airbnb, and Uber into Global Juggernauts
This is a really, really cool idea. I think the danger with BPA is that if you're hiring them way too early (like... a year before they'd be firing on all cylinders), then you risk them disengaging and churning out. NFL teams have a constant amount and kind of work that's predictable every season that prevents them from misallocating investments like this - and prevents players from misallocating their labour. Software teams, on the other hand, risk building the wrong thing, and hiring people for problems that won't come about until they build the right thing. Which usually means that those people get antsy (I definitely had this experience, but in a marketing role, which is even more stage-dependent than working dev positions, so I'm probably a little more sensitive to the chance and impact of being hired too early).
At the top of http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa650... Bock says I didn't write this, so I can't take credit for it so I'm not sure failing to include his name or clickable link really qualifies as "shabby" attribution.
Yes, this is true, but also misses the point. You might be looking for a C++ programmer, but because of the way the add is written, your HR is going to skip over the guy who didn't write git on his resume.
I agree but usually the type of questions I asked are geared towards what I'm interviewing for. Whiteboard problems are just jumping off points, from there the problem can go so many directions based off of that person, their experience, what's important to them, etc.

For a CRUD full stack app, you're right I really don't care about your ability to write a search function since SQL will do that for you just fine - in fact, for the most part algorithms are probably not even part of the interview. I may ask them to still start solving a really simple problem -- it may or may not make it all the way to code. If someone starts writing/mapping out their database first that tells me something, I can ask why they are breaking their objects where they are, etc.

I like to ask "what's important" in the context of components - I use the example of a bunch of HTML documents to frame the context. If I'm looking at 10 similar HTML documents, what can I do to find important information? (Strip out things that are the same). So if I'm doing 10 interviews, what do you think is going to be the same (user/session management if there are accounts would be an example) and what do you think will allow you to differentiate yourself? For some people, they'll think about what they're strong in and how it applies to the problem, for others they'll focus on the problem space.

At this point you've spent 15-25 minutes talking if they're a good candidate and written no code by starting with the "write code" question -- I think you could get a great 60m interview without writing any code even though you started with a "write code" problem.

My opinion on interview questions is they're just conversation starters -- if you just go down a list of questions I just don't think its a successful interview. I really like VERY open ended questions where the candidate can have a chance to tell me why they're great. I really try to only have 3 or 4 questions for the interview and hope to only get to 1 or 2.
Don't you get on the NSA's subversive person list for buying black nail polish?
React Native release date?
Does anyone know the release date of ReactJS Native?
I wasn't aware that people generally found Siri usable.
If we planned road trips like we plan IT projects
If someone's already built it, I'm not that interested in it.
The whole "abstraction is dangerous" spiel is so wrong (imo) that I don't even know how to respond to anything that follows.

The primary complaint appears to be that abstraction eliminates your ability to operationally trace the meaning of a program. This is true, but sacrificing operational denotations only hurts if you replace it with nothing else—and abstractions of general purpose languages are almost always more interpretable than the operational denotation of the base language itself!

Of course, there are always places for poor abstractions. I am not talking about these. Abstractions which are intentionally opaque, have confusing action-at-a-distance, etc---you're bringing down the name of abstraction in general. "Leaky" is insufficiently demeaning.

A good abstraction will have its own semantics. These can be equational, denotational, operational, what-have-you but, essentially, these semantics must be easier/simpler/more relevant than the semantics of the base language they're embedded in. Otherwise why abstract?

So what does React give you? It gives you, more or less, a value-based compositional semantics. Components have some "living" nature (an operational semantics w.r.t. to state) but they're mostly defined by their static nature. Because you can build whole applications thinking only about the static, compositional nature of components you can take massive advantage of this abstraction.

Ultimately, you do not want operational semantics for React. This is what gives us React Native, background rendering, and probably what will lead to sensible animations (in time). To define operational semantics, especially ones which have to look like or (worse) be identical to those of Javascript, would destroy almost all possibility of extension. At the cost of making things more complex and harder to reason about.

All so that you can just stick to "obvious" Javascript base operations.
If you're on wired internet, if you aren't saturating your local network, if your provider isn't having any issues, if their servers are up, if there is no DNS delay or caching issues, if...

Relying on the internet for "real time" computation is a recipe for inconsistent behavior.
In fairness, the analogy would be:

carpentering job = 2 week programming contract job

and in that case the expectations in the programming job would be more lax, and few people would care about your "passion for the company."

Even controlling for that difference, I still think you make a good point. Though it's probably true for modern corporate business culture in general, and not specific to programming.
Except its often automatically enabled after software update.
There are different paradigms even within one and the same language. Eg. Android apps written by Enterprise Java guys are just awful.
Sure, I'm not saying it shouldn't exist. If it's a feature you want, then you need to accept the fact that it has to send data to a remote server in order for it to do the thing you want it to do. If you have concerns about privacy, then disable it. I don't see the point of all this hand-wringing about "OMG Samsung is spying on me!". Like there's somebody listening on the other end, waiting for you to start reciting your bank account info in the living room so they can pick it up, you know, like how people sit around in front of their TV doing that, right?
I actually have one of these TVs and the best thing you can do is just give it a static and then only whitelist certain data/ports on your ip fire/ of sense firewall.

When connected over wireless, something in the TVs networking stack crashes my entire wifi router too.

Some people have rooted them, which is what I was hoping for when I got it, but if you update to a new version and try to root it can brick.

Honestly, I think this conversation should be more about the right to control the devices we own more than just egregious privacy breaches. If we are to prevent such breaches from other manufacturers then what we need is the ability to control our devices. I have a quad core processor in my TV, but apparently if I don't want samsungs crappy proprietary OS and want to install Linux, too fucking bad for me. I think that's bullshit and needs to change.

I consider it a mistake purchase.
Depending on the job; i find the deeper somebody knows his/her special field the better he/she can adapt to another field.

I.e. if you really know the ins/outs of the Java, the VM, changes of the language over time. You will be able to pick up C#, python f.e.
No. These are companies that I worked for for years at a time. That is not a correct analogy. I have been hired, and worked for 4 years based on a 10 minute conversation.
No, it is not like that at all. It is like asking a Carpenter to build a cupboard and thinking he's unqualified for the job if he's only ever used Craftsman screwdrivers because that means he can't use Husky screwdrivers.

Its also like deciding to hire an HR guy based on what brands of keyboards or pens he's used.
Some proof? Perhaps his boss gave it to him. Perhaps it was thrown away. Perhaps it is a replica. Who cares.
>In light of

I see what you did there!
Communicate Between WatchKit Extension and App
I'm not sure how technical you are (this isn't a simple subject to implement), but I'd look into "managed switches" (to enable classifying traffic from specific ports, aka one the TV is plugged into), "VLANs" (what the switch uses to "segregate" traffic), "policy based firewall" (allow you to be explicit in what traffic is allowed or not, two examples you might look into being pfsense and mikrotik).
I experimented with this too. It doesn't work out because you need to know at fn definition time and at the call site that you're using a non-standard calling convention. You can't rewrite all functions without a substantial performance overhead, so you need to be selective. Scala has a compiler plugin for type-directed CPS, but you have to annotate the crap out of your functions and things break down in a bad way for generic higher-order functions. If you wanted to take a real run at this in Clojure, you'd have to compile two versions of every function: the usual `invoke` methods plus an `invokeCPS` method with compiler-inserted call-site trampolining code. Then the programmer would still be saddled with ^:cps metadata or similar.
>well then co-habitants or the landlord will have a good reason to throw the fraudster out.

But how would the landlord or co-inhabitants know? And even if it were proven, it would still not be a straightforward task to deal with such people.

The aggressive self-righteousness described in the article is very typical of criminal types. This makes them very convincing at playing the victim when they are challenged. They can very easily turn the tables on you, even to the point where you are the one facing sanctions, and even paying compensation.
USB has error checking (there are checksums on every USB packet).

Isochronous USB has no error recovery (so if that packet arrives with a mangled checksum, you have a data dropout).

However, cables are the least of your worries; it's the driver stack (USB, ethernet, whatever) and the audio software feeding it that are the main sources of error. Unfortunately for Monster (et al) it is far harder for them to sell a $5,000 piece of software that does nothing than it is for them to sell a $5K piece of snake-oil-class hardware; the software is objectively analyzable without expensive tools, for instance.
IMO there is no expectation of privacy with email. Maybe only false expectation. If you go into someone's home and take part in private discussions, you probably don't anticipate being recording in any manner.
I don't think that is really true. If all people were working for was a roof over their head and food, they could get by on very little.

Most people work because they want to live in an expensive neighborhood and like to have new cars, new clothes, new electronics. Otherwise they would move somewhere where house is extremely cheap and where they don't have to commute every day.

I don't know how it is in the US, but here in Germany you can have an apartment in a medium sized city and food for 500 Euro a month. You don't have to work for 40 hours a week to make that much.
Another form of these filler words are the words/phrases "seriously, I'm not gonna lie, for real, actually, honestly, to tell you the truth". My take on it is, why would you lie to me in the first place? Should I assume you're lying if you don't say these phrases? They serve the purpose of gaining that extra millisecond to calculate the content of the proceeding sentence.
> Given that it is BSD licensed, it may not meet everyone's definition of "Free", but at least there is a good chance of having fully documented, source-available drivers in the future.

3-clause BSD (what's common these days) meets pretty much everyone's definition of Free:

https://www.gnu.org/licenses/license-list.html#GPLCompatible...

(The following licenses qualify as free software licenses, and are compatible with the GNU GPL.)
I heard a slightly different version of the F-16 going inverted - it was in the flight simulator during initial software checkout, and he flew into the southern hemisphere, when the plane flipped. Obviously a sign problem...