skysight-inc/HackerNews huggingface dataset:
Ha - glad you liked that talk!

Curiously enough, this interview happened 6 hours before that talk. And it made me wonder, "why am I giving a talk tonight?? how am I qualified?" Thankfully, I recovered my confidence by the time that talk came around, and you guys were such a cool audience. :-)
I see Perl's fashion of poetic source code is being replaced by JS's fashion of animated source code! 8-)
> Do native apps really use third-party authentication services? That would scare the shit out of me too.

I would not underestimate the callousness of someone chasing revenue one or two dollars at a time. I see this all the time in Android applications, digging around with AndBug [1] -- just set a hook on various apache.http.client.HttpClient methods, and watch the interactions.

[1]: https://github.com/swdunlop/andbug
I'm amazed when an article describes an odd price/earnings ratio without even suggesting the possibility that that might allow the company to expand rapidly with the resulting capital, which would eventually make the P/E radio more reasonable, and ultimately benefit those who trusted that it all made sense long-term. Obviously that outcome isn't guaranteed, but it should be mentioned.

Tesla has significant room for expansion right now, but to do that, it needs operating capital. A high P/E ratio provides it.
I seem to remember that while I was interviewing you (for Coursera), I was browsing your Github repos and checking out your cool libraries. I didn't feel a need to test your technical chops when I could see them in front of me. I'd rather get to know other sides when I can. :-)
That may have only been for Developer Relations and only years ago. Not sure if they're doing them anymore.
Here is a first go at it:

https://gist.github.com/rilindo/6575580

Essentially, I just checked to see if the characters in the first string exists in other string and exits out of the code. It probably won't cover every use case (in other words, probably very buggy), but it is a start.

However, I have the luxury of relaxing while looking up the functions online, writing the code by my lonesome and then verifying it by running it directly. Last I checked, not any of these things are likely not present or available in a white board interview.

EDIT: I should at least put it in a function. :D
People reject this for various reasons:

1. They firmly believe IQ doesn't means anything.

2. They realize IQ means something but that it is mostly mutable (Flynn effect, etc).

3. They realize it's not especially mutable, but the tests in poor countries are unreliable.

4. They reject such possibilities because they actually believe their lifetime of propaganda that "All men are created equal" etc, etc, and so don't even give IQ much thought.

5. They don't even raise the question because it's politically or socially uncomfortable. For people in academia or in charities, this could extend to losing employment and gaining pariah status.

6. They realize demographics actually do matter but don't want to consider the fact because:

6a. Same reason as #5.

6b. It's hopeless. No one wants to just walk away from a problem.

6c. Sunk-cost fallacy.

6d. "Helping" people or even discussing "helping" people gives a sense of moral purpose, or even moral superiority. (This is Bill Gates' reason, almost assuredly.) By contrast, saying, "Well, forget Zambia, look at the whole damn world: Black people just sort-of breed poverty," is the exact opposite. To say that in polite company is very offensive.
Time Magazine Covers - US vs the World (2011)
That article is written by a scientific adviser to the Atomic Energy Control Board, Ottawa, Canada.

If that doesn't bother you, consider that the facts cited come from a "recent" report published in 1978.
Knowing a bit about estimating construction, and a bit more about the estimating of design which is more akin to software, there's more to the ability to execute according to a time table than the author gives credit...and the fact that the process can be separated between design and construction gives a clue.

Mature processes for delivering construction start with a budget and something called a program - an architectural program being a design and implementation independent description of the project's components and the relationships among and between those components.

Then there is the matter of age. Architects aren't worth a shit until they hit about sixty. Those running big designs have decades of experience. In the US the median age for initial licensure is 33. It's not twenty-something's freshly out of college, or even parents with grade schoolers organizing the process.

Then, in the US, there tend to be standard contracts which describe industry standard milestones and acknowledge that nobody really knows how things will change over what is often a multi-year cycle. Buildings are delivered reasonably on time and within budget because the process of contracting for the work doesn't require reinvention - even the plumber's subcontract is a standard form and tied to CSI format specifications which are tied to industry standards and to ANSI materials standards and the building codes.

Nobody roles their own using the coolest new fad. It's Java, not Haskell. If you read Hamurabi, you'll see the source of those traditions.
I read this yesterday / today after doing a Little Brother-themed mastermind treasure hunt in SF. The themes really hit home after some of our recent surveillance related events. Thought it worth sharing with the HN crowd -- I personally find YA books enjoyable and wish books this technical and readable were available when I was that age!
The Samsung Challenge.
Exactly!! If the goal is to fight against entrenched assumptions from past ideology which has caused injustice etc. then most postmodernism is utter failure. The part that has made some worthy progress is pretty much the same as the part that isn't absorbed entirely in the world of postmodern thought.

Here's a simple analogy: I am a teacher. My student is failing to learn something. There may be several factors in play, but the first thing I should do is check if I could do better as a teacher. Postmodern academics have mostly failed to be truly sensitive to how their ideas are coming across to others at all, so they aren't even at the point where they could figure out if they need to revamp their teaching approach.
An immigration law reform is ever increasingly necessary. If there wasn't opportunity for foreigners they wouldn't come here in the first place.
And here's the rub: Running an interview this way is hard to do RIGHT. The questions have to be tractable for the given time, not too oblivious that the candidate blows through them, not too domain-specific that the interviewer ends up giving a lecture to education the interviewee on the domain. Then there's the proctoring of the question.

Show of hands here: Who here has worked a companies where they used white boarding as part of their process? Did any of the following happen?

* Interviewers asked pet questions instead of using a vetted list of questions
* Interviewers never tried any of the questions in interview conditions
* Interviewers were never trained/practiced giving these sorts of interviews
* Random developers were pulled into interviews to proctor a white boarding.

Guess what? The development team is learning how to interview candidates by interviewing candidates! Not prepping a team on how to interview seems very common. Maybe candidates are expendable and ultimately are the ones that need to prove themselves.

I have to wonder how many times qualified candidates get bypassed because they didn't whiteboard just so to the interview's liking. More concerning, how many times have unqualified candidates buffalo inexperienced interviewers with hand-waves or by luck of having seen the problem before, and end up weighing down the team with incompetence.
What about cracking the password to one of those people's Git account, and then submitting a commit without anyone knowing? What if Github is compelled by a National Security Letter to allow others to modify source files and erase the logs for those changes? What if one of those guys is the next Sabu - facing 50 years in jail unless they cooperate?
I've chatted with some professional designers about exactly this and the opinions have been pretty consistent - they dislike/hate the internal homescreen.

There are a bunch of issues I've seen raised (and I agree with):

- It's hard to parse. We read left/right (or right/left as the language goes), or top/down. We don't read in zigzag easily. A tiled layout makes parsing a list of items difficult. This is, at the end of the day though, a fairly minor complaint compared to the rest.

- It gives unimportant features equal prominence to your primary features. This is, IMO, the biggest knock against using this UI. When Facebook used the internal homescreen (once upon a time) the "Notes" feature was given equal prominence to "News Feed", which seems pure silliness. When Yelp used it, the "My Account" feature was equal in prominence to "Search" and "Nearby". This happens because in almost all cases where internal homescreens are used it's because the devs can't find a better way to communicate the apps different features to the user, so the solution is to bundle it all up into a bunch of tiles and let the user deal with it.

- It encourages a high degree of modality. You launch into into this massive 9-way fork in the road, and this encourages deep UIs where it's difficult to move between the different branches without backing all the way back up to the root. The original Facebook app suffered terribly from this. The trend in recent years has been a move towards flatter, more laterally traversible UIs. See for example the Facebook Chat Heads - where messaging is embedded throughout the app without making it modal. The ubiquitous side-menu that's almost universal in iOS today is a slightly less elegant solution to the same - though in the slide-menu's defense, it's less disruptive than taking over your whole screen.

- It's user friction you didn't have to incur. If I launch into Facebook it's a pretty safe assumption I'm checking my news feed. You can also contextually very easily determine what I want to do - if I have outstanding unread messages received recently, take me to messaging. Don't make the user choose if you have a high degree of confidence about what the user is looking for. A good example of this done well is, IMO, Ness - instead of asking you for cuisines or price ranges to execute a search, it does a default search based on smart defaults (which takes into account your last search, as well as time of day and other factors), and gives you easily tools to tweak the results to what you really want. A homescreen says "I have no idea what you want, so here's everything". Imagine going to Google.com and getting dropped in a large list of everything Google does.
Obvious man is obvious: learn to program.

Seriously though, there is an immense amount of overlap between formal logic and computer science. I learned most of what I know about Turing machines and computability theory from Philosophy classes.

FWIW, this on my résumé has served me well:

Undergraduate Philosophy at the University of Minnesota - Twin Cities.
This would say "BA," but I abandoned the American higher education system one credit (senior paper) away from graduating. Happy to talk to (or rant at) you about it.
Tox Chat: An Insecure Instant Messenger
Almost any kind of rotation in 2D or 3D graphics involves cos or sin. The spinning was going the wrong way, therefore the way to reverse it was to reverse something involving cos or sin. You can then just bruteforce it by reversing each cos until you get the effect you want. (If reversing cos seems to reverse something "perpendicular" to what you want, then you'd need to reverse the sin instead, not the cos.)

This is true in almost any context involving 2D/3D graphics, not just for this particular example. It's much more efficient than trying to sit there and think through the math or figure out what does what. But of course you learn less that way, so it's a tradeoff. And sometimes it's less efficient if there are too many combinations to efficiently bruteforce, or if it takes too long to test each iteration. But we live in the age of rapid-iteration javascript.
Somewhat related, most people don't realize how far along Iraq's nuclear program was at the time of the first Gulf War, even despite the Israeli raid on Osirik. Iraq had enriched a large amount of Uranium using calutrons, had recovered some HEU from their experimental reactors, and had done a considerable amount of R&D on bomb designs. If Saddam had not invaded Kuwait when he did it's almost certain that he would have had a functional nuclear weapon or several by the mid-1990s at the latest.
When you say something like "The only bit of Heidegger I am going read" to absolve me from any responsibility of quoting you chapter and verse. Not that I would anyway -- I don't really care if I convince anyone -- if what I say is something you can build on, cool, if not, that is cool too.
I think the common ground in these "govt regulations" versus "free market" arguments is that both sides want to see transparency, encourage consumer choice and avoid monopolies; it's the means that's disagreed upon.

> second the industry can lobby to buy regulations and fix the conditions so it won't have to be transparent

This seems to be most of a problem in the US, where money has such a direct influence on government. This doesn't mean that all govt is bad; it means that corrupt govt is bad.

To use your New Zealand example, they have arguably the most advanced and representative democratic system in existence. I think this helps limit antisocial corporate pressure (aka corruption) on their government regulations.
Video for Everybody
Exactly, a new CMS should drop sequel and move to mongo or a similar document store. Being able to arbitrarily add fields to a page, enabled by a store like mongo seems like a no brainer for a CMS.
On Colorado’s record-breaking flood and why it will only get worse
The problem isn't piracy, it's the mediocrity of the stuff put out by professional music industry.
Have you used the Kinesis Freestyle 2 or the just released Microsoft Sculpt Ergonomic keyboard? If so, what are your thoughts?
I've been to one of those farms when I was in Indonesia. They only showed me a single one of those animals in a big cage, but I can be sure there were more from the amount of coffee avaliable to sell in their "Rural store"

I've bought one cup of it for U$5,00 and it's stupid. The coffee tastes wierd and seeing that animal in that cage was enought to make me leave the place with a felling that I was doing something really wrong paying for that coffee.

I try hard to never buy this or any other kind of super cool variants of cheap things. Especially if they are from a 3rd world country because ( I am from one ) I know that there is nothing in those countries with power enought to stop any wrong doing. In those places governement and agencies just don't care about animal safety, public health and so on.
That comparison is a bit misleading... the force of a nuke is essentially omnidirectional, so a lot of that energy doesn't end up creating much except heat, much of that going into the atmostphere. A conventional bomb is going to deliver all of it's force in a highly localized area.
Well, it's a deliberate change that he makes later on in response to a feeling that people (not only critics, but admirers like Sartre) haven't understood his work. In "Letter on Humanism" he says of the relatively straightforward language of Being and Time:

I have learned to see that these very terms were bound to lead immediately and inevitably into error. For the terms and the conceptual language corresponding to them were not rethought by readers from the matter particularly to be thought; rather, the matter was conceived according to the established terminology in its customary meaning.

In short, he tried to say something new using all the old terms[1], and that allowed readers to assume something about the meaning of those terms rather than work it out for themselves. So, to get his point across, Heidegger starts looking for a new way of saying, one without shortcuts, one that forces readers to think things through.

Did it work? In a sense. Of course it also ensured that a lot of people will never bother reading Heidegger. For me, I simply treated Heidegger as a foreign language and learned to speak it. Once you're over the hump, he's not wildly difficult, and the reward, I think, is not unlike what you get out of learning, say, a functional programming language. It gives you new eyes, rather than just showing you some new thing.

1. 'Term' is often used with a special meaning in Heidegger. From On the Way to Language (with a few bits omitted): "Everybody sees and hears words. They are; they can be like things, palpable to the senses. To offer a crude example, we only need to open a dictionary. It is full of printed things. Indeed, all kinds of things. Plenty of terms, and not a single word. Because a dictionary can neither grasp nor keep the word by which the terms become words and speak as words."
Sure, I see no reason to keep it private: http://hub.darcs.net/squirrel/luts

(Note: it's a very hacked-together Prolog script. I wrote it in about 15 minutes in a fit of inspiration and free time. If it's useful to anyone I'll clean it up and add the features I enumerated in the README.)

How it works:

The input to the algorithm is the look-up table you want to optimize. I've mostly tested with a half-dozen or so pairs of small (1 or 2 digit) integers, as that is my use case. (Anything else is probably better served by an actual look-up table or binary branch tree.) Input values left out of the this table are considered "don't care" (i.e. there's no "default" output).

The Prolog portion just generates, via iterative-deepening, bit-arithmetic expressions. These expressions have as terminals the input variable (in theory, there could be multiple input variables; haven't tried this) and arbitrary (i.e. symbolic) named constants.

The expressions are, in turn, fed as-is to Z3 as a function over bit-vectors (note the constants are still arbitrary). The look-up table is fed to Z3 as a set of assertions about this function. Z3 is asked to prove (un)satisfiability; if the problem is satisfiable, (this is the important part!) it returns the values of the constants which make it satisfiable. These values are substituted in the original expression, which is then returned by the Prolog script as a solution.
Google shopping always seemed nice but I'm not sad to see it go because I'm in Canada and nobody wants my business.
See my reply to throwaway812 (which I'm updating with an explanation).
It is competition though. Competition directly for listening time, a person's attention. Every musician has there own pitch, there own style, with which they compete for a listeners attention.

It's not that anyone who picks up a guitar or drumset or ableton can be a professional, it's that these things are more accessible than ever and, much more importantly, the means of distribution is almost completely accessible to anyone. This means that there is a huge amount of music to choose from and a huge variety. Yes, a lot of it is crap, but there is still more that isn't due to the sheer volume of content (keep in mind that what is and isn't good is subjective. Even if you and I agree that musician X is terrible, maybe there's someone who likes terrible.)

What this all boils down to is that professionals are losing there competitive edge, quickly. Publishing no longer needs a guarantee of profit because setup cost has dropped to practically nothing and distribution cost IS nothing. They can offer more varied and nuanced music, but when it comes down to it most people just want something to play and don't have stringent requirements for their music. Amateur music is quickly filling in that gap, especially on the electronic front (not just EDM, there is a huge variety of music composed digitally that sounds nothing like your standard rave music).

In the end, music is becoming what it used to be, a cultural phenomenon.
Way better to stay quiet for fear of what someone will say on HN some years later. I'll go curl up in a ball now.
Found it here http://www.cise.ufl.edu/~manuel/obfuscate/pi.c
That's awesome.
Or you could become Paul Graham =)
Not every Philosopher deserves the job they manage to land ... my experience is that they live to be vague, so make sure you know whether the philosopher is one of the logical philosophers during their interview. You don't want the waffling kind.

One quick example ... my son was taking a 400-level IST class on Enterprise Architecture at Penn State from a very vague professor with a Philosophy degree. When asked to define Enterprise Architecture, he rambled on for half an hour before concluding that "you really can't define it ... kind of like Electrical Engineering". He was pretty flustered when one of the students read him the IEEE definition of Electrical Engineering. So this is an example of the type of person you don't want to hire.

For an example of the type of Philosopher that can help you move forward, read this comment: https://news.ycombinator.com/item?id=6390914. A person like this is good with program logic, but is also trained to recognize false arguments, inconsistencies, etc when you're debating how to build something. Want to get political agendas and personal biases out of the way? Hire this guy!
Apple is more excited about the iPhone 5C and so am I.
Perhaps you could try scaling estimation down, instead of up.

For example, in the SEI's Personal Software Process you estimate very frequently. Like agile, it works by attacking big problems in lots of small pieces. So instead of just doing the 4-6 whole-of-project estimates, you can also do estimates for stories, estimates for modules and so on.

The other thing to consider is re-estimating as you go. The Cone of Uncertainty demonstrates that as a project progresses, uncertainty about the problem and solution domains diminishes and so estimates can be made with tighter ranges.
Or maybe someone up the hiring chain just wants to see how their applicants react to that "curve ball"
How Do You Know You're Making A Positive Impact?
Awesome, thanks!

I have ~3.5million pieces of structured data to go through, I will find this paper interesting.
Here's an in depth explanation from PIMCO as to why Summer's withdrawal will likely be very bullish for credit and equities:

http://www.businessinsider.com/el-erian-market-reaction-to-s...
And a few things that can't, I suspect.
Wasn't talking about uncertainty at all, so I'm not sure why that comment. And no, its not really cool to pretend I said something else so you can debunk that.

I'll repeat myself then: the task of diving into a problem to estimate its time is, for many problems, approximately equal to the time to solve the problem. And I honestly have a hard time figuring out a responsible approach in those cases.
> "they're old and trying to apply old customs to new situations"

I doubt it was seniors who came up with the phone-stack, and it's definitely not seniors who have spread the idea on social media. I see it spread by 20-somethings and even teens who are sick of people being rude by ignoring them.

It might be different if it was used to signal disinterest, when someone is just droning on and on. But people dive into facebook/texts/whatever on their phones even when they're interested in the conversation, and even when the person speaking has barely started. It's like a compulsion. A rude compulsion.
Blogs are way too simple to reinvent every few years. Wordpress is fine. Can't we move on to something more complicated than Blogs and Crud apps?