skysight-inc/HackerNews huggingface dataset:
To all my friends here on Hacker News: Over a few years, I prepared a FAQ document on company hiring procedures for questions that come up here on Hacker News all the time about legal and effective hiring procedures. Most companies use lousy procedures for hiring workers, and that throws away competitive advantage. There is an optimal way to hire, and a century of research on what it is. Rather than repeat all my previous keystrokes here, I'll just link[1] to an earlier version of the FAQ. If you don't want even to follow a link to a very popular comment, let me just pass on here the summary of the FAQ:

EXECUTIVE SUMMARY: If you are hiring for any kind of job in the United States, prefer a work-sample test as your hiring procedure. If you are hiring in most other parts of the world, use a work-sample test in combination with a general mental ability test.

[1] https://news.ycombinator.com/item?id=4613543

I'm happy to answer follow-up questions about this. It's better for companies and it's better for capable workers for companies to learn how to hire smarter.
That's an interesting view. I can't think of jQuery as a tool. I have a collection of tools I use, I find a tool to be quite different from an application, a library, or a framework. Sublime Text is one of my tools. So is git. I also consider Ruby a tool. My laptop is a tool. I have some git-x commands that I've been slowly building on that I use collectively as a tool.

To me a tool is an extension of one's mind or body that goes into all projects that you work on. I can give away an application or a library. I can't give away a tool, or at least, it wouldn't really make sense to. I want to use all my tools to build a project, all my projects to use the same tools. That's why I stick to Ruby rather than bouncing around. I use Coffeescript/jQuery on web projects but I consider it a kludge, though not as much of a kludge as using Opal would be. I'd want Ruby integrated tightly into the browser before I'd prefer it over Javascript. I don't mind Coffeescript because I find that if you stick to a certain convention, Coffeescript is as easy to maintain as Javascript and I prefer the terser syntax.

My ultimate goal would be to be able to hack on all my tools like I hack applications. For example, I'd love to be able to replace Sublime Text with redcar, an editor written in Ruby, I've taken baby steps in that direction with my git scripts. I haven't decided if it would be better to write my own editor though. I'm probably at least a few years from that being able to integrate that into my workflow.
Oh yeah, side work. I forgot about that.

To boss: "No we can't come in on Saturday because 4 out of 5 of use will be pouring my neighbors driveway"

Boss: "Oh, Do you guys need to borrow the concrete tools?"

Edit: This was actually a repost without attribution. Here is the real link: http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa650...
This can probably easily lead to problems with even slight differences in cable length. A network technician told me about problem that can occur in the network when the connecting fibres of ethernet outlets have differences in length (say, more than few millimeters).
The step by step formula to start making money online.
If Engineers and Designers Were Hired “The Voice” Way
"What's interesting to me is that it doesn't seem to be taking up time in defaultDisplay – which is our internal method for handling the first edge case you've described – but rather the native getPropertyValue called in curCSS to retrieve the current display value. However, that is even more disconcerting because removing defaultDisplay won't solve this issue. It seems that retrieving computed CSS for all of those elements is the bottleneck, which is very unfortunate because that isn't unique to .show()/.hide(). Maybe someone else could confirm what I'm seeing?"

May not be .show() or .hide() that you should avoid, but instead a slow native call that the jQuery team might be able to point out to browser vendors... Or am I reading this incorrectly?
> Different people have different thought processes.

Nobody is saying otherwise. The point isn't to make sure your thought process is identical to the interviewers (good interviewers will be more impressed if it isn't), it's to make sure you have one.

That may sound silly but read Jeff Atwood's thoughts on FizzBuzz[1] to realize how many "programmers can't program." Coding exercises are used to make sure you know how to think through a problem and solve it.

> I would estimate that recruiters would bias to hire candidates...

I'm not sure if you used the wrong word or not, but technical interviews are usually done by engineers or engineering managers, not recruiters. But yes, if I were interviewing somewhere and I sufficiently solved a problem but they didn't like it just because my thought process was different I would consider that a red flag.

[1] http://blog.codinghorror.com/why-cant-programmers-program/
Parker Higgins on Twitter – “Samsung SmartTV Privacy Policy”
A good lesson why one shouldn't use any systems with DRM. People are so upset about mass surveillance by the government, yet they readily subject themselves to mass surveillance of DRM systems. Where is logic?
Ask HN: Kickstarter, Experiment.com or custom platform for a cure for EBOLA?
Hi HN, I am a hacker and a long time follower of HN. I thought I would run this by the crowd here to get some feedback.

I am working with a group of scientists and practitioners who are pretty confident that they have found a non-toxic and orally administrable cure for EBOLA virus. The most successful current treatment for the virus is a mixture of 3 mono-clonal antibodies and RNAi. The delivery method is expensive and the treatment will NOT work once the virus mutate beyond the scope of those antibodies. Ours will!

The group already have an agreement from an independent and qualified laboratory to carry out a crucial in vivo (animal) experiment. This kind of experiment involving a pandemic virus is not cheap! The experimental facilities and labor costs along are quoted somewhere in the six figures (not including the cost of synthesizing the treatment agent).

We are NOT currently involved with any academic institutions or pharmaceutical companies. As some of you may know that is a blessing and curse when it comes intellectual properties and grant application in bio-chemistry. None of us have that kind of money, we are all working on this our our own money and time. A brief read on HN one can get the impression that EBLOA is a controversial virus and it is may NOT be immediately financially rewarding (unlike many other kickstarter projects that offer an immediate reward like a pre-order type of products)

We have looked into experiment.com, and it seems that they just use our already existing crowd funding network to raise the money. I've already done another project using stripe.com to accept credit card. Just wonder it would be better to roll out our own fund raising page using stripe.com?

Do you think using another platform or methods can attract other potential funders for projects in our situation. Any tips from anyone who has some experience and knowledge crowd funding that you can share will greatly appreciated.
I'll repost something another HN poster posted at me in a previous conversation about this. Thompson's attack can be defeated:

http://www.dwheeler.com/trusting-trust/
Never heard of GetHash. I've got 5000+ Web
pages of documentation mostly just on
the .NET Framework, am betting my start up on
.NET, ASP.NET, ADO.NET, and Visual Basic .NET,
and have yet to encounter GetHash.

From the mnemonics of the naming, a guess is
that GetHash has to do with hashing. Well,
mostly I don't like hashing and prefer
extendible hashing, AVL trees, red-black
trees, B-trees, heaps, etc.

Typically, for a class in the .NET Framework,
to use it for the first time
have to find a dozen or so Web pages
at MSDN and learn them: For
me that means download, index, abstract,
and read the pages, look at the sample
code, and maybe write some minimal code
to exercise the class.

Yes, being clear
on call by reference versus call by value
is important but also quite elementary.
Basically, all aggregates are to be
call by reference; simple numeric constancts
are commonly call by value.
Unchanging bacteria revisited: dreadful science reporting in the Washington Post
Last June I started work with a software engineering company that was using meteorjs heavily for their new product and php and java for their main product. Front end was standard jquery. At the time of joining, I had only ever used java, and that too in university for a project on multi threading/parallel processing. In about half a month I was acquainted with the basics of meteor and node js, and within a month I was completely up to speed with the intricacies of the development enivronment. (not all of them. By up to speed I mean, I had figured out where to look when I hit a gotcha). This included mongo db which I had never used till I joined.

I then shifted time to working both on the new product and the backend of their old product. I was using PHP and a framework (I can't remember which one) that I had never touched before. Took me about a week and a half to get up to speed before starting to work on the actual product.

This isn't some display of talent. I believe that any engineer who understands the fundamentals would do exactly what I did. (Provided they are willing to read documentation without skimming through it).

The point here is, I left that company in October. And they've just reopened the position I left vacant. Looking at the list of qualifications and experience required on that list, I couldn't help but think, I would have never thought myself adequate for the job if I had looked at the ad posted since I had never touched any of the stuff they required. Turned out, when it actually comes down to it, it really doesn't matter.

This analogy is actually spot on. Languages really do become another shade of paint at some point. And I never really believed in that till a couple of weeks ago when I saw that job posting. Pretty crazy that as an industry we still believe in this kind of hiring process.
Not if you ask RMS: https://www.gnu.org/philosophy/open-source-misses-the-point....
Years ago when I did .NET stuff, I had a framework that implemented Given, When, Then and And as properties on a 'Scenario' test superclass that just returned this. I then created 'Steps' files that grouped relevant extension methods together with names describing a step in a BDD example. That allowed tests like these:

[Test]
public void ShouldDisplayBar()
{
Given.AFooWithId(1);
And.ABarWithText("Baz");
When.TheUserGoesTo("/food/show/1");
Then.TheyShouldSee("Baz");
}

The nice thing being you get nice intellisense and easy reusability and refactoring with the steps.

All that said, BDD isn't just changing the names of arrange, act and assert, it's more about coming up with a common language that lets you work as a team to describe examples of your system's behaviour. And the chances are, if you're just doing it one of these ways that is focused purely on code and syntax, you're not involving customers anyway.
But you're giving an example where you think an explicit panic is justified.

Losing asserts doesn't eliminate either option. It simply requires you to have exicit error handling or a panic. This is the point.
Somewhere around here I have a printed copy of a white paper from Tyco (mostly known for IC socket mfgr, although they make a lot of other connectors) on the topic of silver vs gold, mostly as applies to IC sockets.

From memory the oxides, sulfides, and chlorides all have to be worried about but they tend to be mushy semiconductors and any wiping action in the connector will 1) destroy the connector plating in 10-20 uses at typical plating / finish reqs 2) wipe itself clean giving a lovely perfect silver to silver contact until it wears out.

Another interesting aspect is this engineer from Tyco went to great lengths to claim they can commercially ship lower electrical and thermal resistance SILVER connectors than GOLD connectors as a complete connector system. Its not the bulk conductivity of Ag vs Au that matter, its that every gold plate has an underlying nickel plate or whatever, and some discussion of the deformation of silver being a benefit so you get higher contact area leading to higher conductivity.

Then again this whitepaper is around a decade old and gold prices haven't exactly dropped back to $230/oz since then, meanwhile Tyco and everyone else still ships mostly tinplate and goldplate IC sockets and I don't recall ever seeing silverplate IC sockets in any mouser/digikey product list. So maybe there's other problems with silver plated electrical contacts in the real world. It has the odor of a mid 00s marketing doc in its (remembered) claims that by mid 10s no one will ever use tinplate / goldplate in connector design. Well, we can see how that turned out, but maybe the 20s.

It made some impression on me a decade ago WRT thinking about RF connectors, .mil / aerospace will pay anything of course for higher performance so it gave me something to think about, if they really can deliver then we can expect gold to disappear from military aircraft radars and stuff like that. Although nothing seems to have materialized on this topic since then.
Joel on Software is a classic: http://www.joelonsoftware.com/
Sadly, a few years ago he mostly stopped writing about business and architecture, but the archives from around 2000 to 2005 are really good, and mostly timeless.

infoq.com has lots of good articles and talks, some language- or technology-specific, but most with a focus on architecture.

The O'reilly Head First books "Object-oriented architecture & design" and "Design patterns" are somewhat basic, but an excellent and accessible start.

For something deeper and harder to digest in book form, try some of the classics like Eric Evan's "Domain-driven design", or Martin Fowler's "Patterns of Enterprise applicaton architecture".

As for some specific styles, try typesafe's manifesto and description of reactive applications, Hohpe's "Enterprise Integration patterns" for pipes-and-filter architectures, and anything by Stefan Tilkov (https://www.innoq.com/blog/st/) for REST.
Cheapshot – A map-based multiplayer shooter game for iPhone
Bash process substitution
Show HN: A friendlier style sheet, eh?
The former sentence (assuming true) communicates something more than the latter.

Contrast:
"We're going to get some snow" versus "The biggest 2-day snowstorm in recorded history is bearing down on us!"

"A man died" versus "World's oldest man died."

Yes, a lot of times superlatives are used for the purposes of pure link-bait or advertising hooks, but that doesn't mean we should eliminate their usage entirely.
While in the general case I would agree with you and I try very hard to dump as much stuff offline as possible, I would argue that this is one of those things you cannot look up "if you need it", similar to the difference between 'class' and 'struct' in C# or the difference between 'class' and 'case class' in Scala (the C# one being a runtime implementation difference, the latter being a fairly large OO design difference). It's something you need to internalize to do well in the language and the environment.

C# (and similarly Java) are so tightly coupled to their runtime languages that, personally, I do feel like I need to understand stuff like this at an intuitive, not-even-thinking-about-it level to be able to write good, fast, clean code.
On 1TB external USB drive. I gave up on all online services when I moved to new computer. Sure it is not convenient, but I dont have to worry about my relationship to any online service anymore. It is all local, all near.
I've been writing apps in C# for about 5 years, and not once have I needed to know how GetHashCode works.

I have looked at it at some point (don't remember why, I think it had to do with an entity's identity for NHibernate) but I would fail this question even though most people I've worked with would rate me as a very effective (and efficient) programmer.

This is why I feel I would do badly in these kinds of trivia-like interviews (once since I put linux administration on my resume, I was asked how to delimit lines in bash scripting).

My dream interview, one where I'd shine, is where I'm given a problem, and I have to go through designing solutions and discussing tradeoffs. I don't mind writing code either, but I would not know the answer to this kind of very specific question, I'd just know how to solve problems.
I always saw the name as "now google is also making the chrome, and not just the content of your browser"
Quite frankly, this type of system is the future. Moreover, this type of system already almost exists in many places (consider, for example, how regular people can easily transmit money within SEPA, the Single European Payments Area).

Bitcoin, by contrast, is interesting technology but with weaknesses that make it unsuitable as something that regular people interface with every day (security implications, mostly). It is also economically problematic (widespread use of Bitcoins would mean regressing back to gold-standard times).

Ideally, though, Bitcoin can play a useful role by putting enough pressure on other payment systems to remove any remaining suckiness (mostly the fact that existing payment systems are very bad at international and cross-currency payments).
Between jobs I had my wife's insurance cover me for a weekend. The HR types I talked to made very sure that I had documentation of unbroken coverage, saying that it was pretty common for insurance companies to argue pre-existing conditions for even a day of not being under some insurance umbrella.

I believe this is no longer allowed under relatively recent law.
In the jobs I've liked, I do. To be more precise, I solve the problem on a whiteboard, and then type out the solution at the computer. The more experience I have, the less often I encounter gotchas while typing that I missed at the whiteboard.

The distinction matters. Are you an engineer or a tech? An architect or a laborer? Often, software developers end up being both (just as carpenters often end up designing and building). In particular, if you want your developers to be both, then you should make sure they can.
Thank you, we updated the URL of the submission to the original source.
It is very annoying when a startup gets bought like this and shuts down its service in a matter of weeks. If all my photos were there and they'd just down I'd be very annoyed.

I get that they don't care about public opinion now - but it's still very frustrating when this sort of thing happens. It wouldn't kill them to stay open and close registration and then offer automatic migration to the service once it's integrated into Google - the user base gets preserved this way which is another win.
The reference point is [Trusting Trust]. It was his Turing Award lecture in 1982. Honestly, it and similar materials should be required reading somewhere in university CS and Software Engineering curricula.

[Trusting Trust]: http://cm.bell-labs.com/who/ken/trust.html
VLC Gains Support for Systemd's Journal
It is conceptually very simple: the GC stops the mutator threads while compaction is in progress and objects are moved around; throughput-focused GCs generally do that, better ones do it in parallel with multiple GC threads.

This has an obvious impact on performance that needs to be compared with the mutator calling malloc/free in a non-GC system. The function isn't called "free" because it runs in zero time, you know.
Ah - you also work right to left, which for us has been one of the most sanity preserving changes we've ever made, by pushing larger backlog lists off the screen.
> I consider it a mistake purchase.

I agree, reading your entire comment, you probably should have researched it more if your intention was to replace the factory OS image with one of your own. But it happens to all of us; I have a useless Motorola phone sitting on my desk because I naively thought "it's Android, it must be hackable", and only discovered after I bought it that Motorola made the bootloader impossible to unlock.

I decided a while back that a TV should just be a dumb monitor, and whatever "smart" features I want it to have can be had via a set top box, home-built HTPC, or a streaming stick. So far I've been very happy with the Roku 3 combined with a home-built HTPC/PVR. If I decide I want to upgrade to bigger or better screen, I only have to replace that one component. Ditto for the "smart" side of things. I see so-called Smart TVs as the TV/VCR combo of the 90s: When one half inevitably fails, you have to throw out the whole thing.
Excellent comment. I posted a comment on a recent HN post discussing an article by Scott Adams. https://news.ycombinator.com/item?id=8986916

I am wary of "science" pronouncements and I am not an easily smeared anti-vaxxer or religious nut. There is a lot of dishonesty in the global warming debate, including changing the name to "climate change".
That's a good example of outright incompetence; the author clearly has no idea what they're talking about.
It's not only Samsung Smart-TV but all cloud-based speech recognition products, right?

(Nuance/Apple Siri, Microsoft Cortana, Google Now, IBM Watson Speech, Amazon Echo, LG-Smart TV, etc.)

From a consumer perspective you want an offline speech product like Nuance Dragon NaturallySpeaking: http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking (it's the same technology that powers Nuance cloud based products like Apple Siri, IBM Watson, etc.)
DHTML? I haven't heard that term used in a while. I think can translate that job posting as such: "In order to save costs, we've trimmed all developer positions except one. You will be the sole developer responsible for everything we do. You will always need to be on-call to work, even if it's formatting a Wordpress post for an editor on a Saturday night. You will work long hours but we'll only pay for 40/week, no overtime. Your salary will be peanuts and will not cover the cost of living in Washington, DC. Be a team player and join us."
A better analogy of what Whiteboarding can effectively used for: "On this job, you'll have to apply varnish in these certain places with very low ventilation, directly above a daycare, what techniques could you use to minimize fumes?"

(problem solving...)
I do not think we disagree.

My point was understanding the stack and heap, boxing and unboxing, were great to know general purpose knowledge about how type systems are created and used in modern languages, whether Java or .NET

If you know what it is, and you know why it is important and when it is used, then any detail you might miss or mangle really isn't that important.

In a similar fashion, I can describe in general terms how a virtual lookup table is fashioned, and how method signatures work in OO linkers. I'd probably miss 90% of the details, but I retain enough of an overview to correct myself when required. I can know something in general terms well enough to know where to go when I dive deep. That's the goal.

You have to internalize struct and class. Not so much on the relationship between the built-in hash function and the rest of it. You start using structs and classes, you start extending the type system, badda boom, badda bing -- you end up in the same place. No need to be able to give a lecture on it. Just be able to do the work :)
Just to add a third voice. Python. For all the reasons already stated.

Personal story. I started programming with C. The day I picked up Python (many years later) I knew that this was the language that any university should have used to get students started with programming/algorithms.
What do you plan to do when it breaks down? One of the nicest features of these services is the fact it's backed up very well, usually in multiple copies and locations.
Flappy Dragonball Game ONLINE Flappy Goku
Whoa, something like this? https://www.schoolsin.com/qrt-kapture-digital-flipchart-pen/...

I did not realize accelerometers/gyroscopes/whatever were capable of that.