skysight-inc/HackerNews huggingface dataset:
True, but not a counter-argument for what I've said.
A-ha, I didn't understand what the backdoor was.

I'm still not sure you could bring an antitrust case against them- to apply antitrust law they have to be abusing monopoly power, and they don't have a monopoly on mobile computing- but it makes more sense. Thanks.
I am dismayed by the way all the reactions on Twitter are piling on with outrage and/or relating similar experiences.

Inverting a binary tree is pretty easy. It is not quite as trivial as FizzBuzz, but it is something any programmer should be able to do. If you can't do it, you probably don't understand recursion, which is a very basic programming concept.

This isn't one of those much-maligned trick interview questions. This is exactly the kind of problem one may have to solve when writing real software, and though you may never have to do this specific thing, it is very related to a lot of other things you might do.

I run a small software company and I very likely would not hire a programmer who was not able to step through this problem and express a pseudocode solution on a whiteboard.
No, it doesn't.

Say I pass the invert a tree question. Does that prove I am good? That I can design a product, listen to customer requirements, come up with ideas that elude others, read a research paper and turn it into something commercial, solder a circuit board, make a schedule, mentor junior engineers, write documentation? No. All inverting a tree tells them is I studied trees recently, and/or I'm at least superficially clever.

Google lets go of plenty of people. They aren't making perfect hires.
Glad that leaders in the white community stood up against terror supporters! (In a country where organized, armed whites shoot children, strangle friendly cigarette peddlers and assault bikini-clad women relaxing on lawns.)

Many whites are decent people. I have white friends and even dated whites. But in my experience, many vocally support sending armies abroad to spread capitalist law. I know the PC police (real police) hate hearing this, but it helps when good whites openly condemn supporters of terror. Otherwise maybe they should go back to Europe?
That isn't an argument for defence of FatPeopleHate. It is just an argument for Reddit to remove more subs. That's fine, I'd happily see that sub go the way of FPH.
Very good point, though I'd assume that GitHub has rate-limits in place that would catch people trying to brute-force accounts. Still, though, even with that, you're right that your safety margin drops a bit.
This is why we need unions!
There's most certainly a cathodic protection system on the bridge for the rebars and supports exposed to seawater, however if pooling water wasn't intended in the lower areas then there was likely no CP active in the area - and the protection of the other members may have accelerated corrosion elsewhere due to stray current interference.

edit: It's actually the low voltage corrosion cells that you need to be cognizant of in such a case - most high voltage shorts fail before significant corrosion has taken place. Consumption rates for steel are in the kg/A-yr scale, and the concentration of the current dump is a major factor in general vs acute/pitting corrosion activity.
Some of the borrowers (for loans in the amount of x) default on their loan, and some (for an amount y) don't. Then you (where 'you' is the original lender) have on the books, under 'assets': (y + expected interest on y) - (x + expected interest on x). You don't know for sure yet how many will default, of course; but you can predict something from the socio-economic makeup of the borrowers.

Now, y gets smaller because some people pay off their loans in one go, to refinance somewhere else (the whole presumption is that only those who won't default will refinance); the expected interest becomes zero. But x stays the same. So y - x gets smaller. Hence, your number in the 'assets' column gets smaller; a write down that is counted as a 'cost' at end of year. You do get y in the assets column (the money that is paid back), but without the expected interest.

In other words: non-defaulters will keep serving their debt, earning the lenders interest. Defaulters have to be written down, including the interest. The less non-defaulters there are, the worse the overall portfolio will perform. If you estimate a performance of x at year t, and in year t + 10 it turns out that you need to revise the performance to (0.8 * x), then that 20% is a write down - i.e. a cost.
I was very excited to learn about recursive neural networks and how they are different from recurrent neural networks. I began imagining self-similar fractal topologies and automatic convolution layer creation etc... Disappointed to see it was just a typo :-)
Well, not that I agree with the sentiment, but corporations likely have incentive to hire individuals that are easier to push over and keep quiet as long as they have the skill set needed.

If you were a corporation trying to keep PR positive, would you hire someone that has shown themselves as an outspoken public mouthpiece and tip-toe around them to keep them happy, or just avoid the problem?
I suggest everyone check out the rest of the algorithms on that site. They are cool. http://blog.notdot.net/tag/damn-cool-algorithms
Introducing Awesome Graphs for Bitbucket: visualized statistics of repositories
I don't consider myself "top talent", so I won't comment on my own experience through the interview process. But I do know that I don't want to work for google. Hell, I'm happier doing my own thing.

I also know a few "top talent" engineers that rejected the google offer because they didn't like the process and the people they met. I know even more ex-Googlers that quit within the year of starting there.

It's not an issue for them? From where I'm looking, most of the experienced top talent (that it's not working at google already) is keeping away from it, in greener pastures and most won't look back.

Yep, google is not going anywhere anytime soon, but I'd be just a bit concerned if I were them.
It seems that google wants to have code monkeys instead of creative software engineers. This is a common problem of big companies. IMO it is one of the reasons they get stuck with innovations.
Of course also the interviewers don't want to hire people which are smarter than they are because of their own career.
I, for one, agree with this kind of hiring process.

From my own experience - people that do well in such interviews are good generalists. On their own they will start discussing performance improvements and ways to parallelize the solution, it's a pleasure to have such an interview.

It's about enjoying problem solving and willing to keep your brain fit. It has nothing to do with memorizing solutions to some existing set of problems.
Ranting on twitter is fucking awful. All it gives is nuance-free soundbites, and there are no 'lines to read between' due to it's brevity. Stuff gets taken the wrong way or out of context all the time.

One of the reasons why it's so powerful is because it gives lazy journalists a stream of easy reaction quotes. When else in the history of journalism has there ever been a private company that was so heavily promoted, regardless of the media source? And even then, the react quotes are poor quality, single-sentence shit.

This rant on twitter is absolutely meaningless unless you have a heap of context to go with it. And because twitter is popular, it's dumbing down public discourse along with it.

/rant, that I couldn't have fit in 140 characters.
> unless the very concept of slavery is supposed to be considered racist

I've never read a word of Moldybug or whatever, but in the American context, the very concept of slavery is absolutely considered racist and rightly so. America's history of slavery is completely inseparable from racism.
The Internet of Things Needs You
I hope that Dwolla succeeds, because this is a great move.
You say that you stay with Ruby because of metaprogramming. Yet I suspect that it is in statically typed languages where we'll see metaprogramming that is both powerful and principled (legible, understandable, won't eat your laundry). C++'s templates are powerful, though ugly; the C preprocessor seems to be regarded as an inferior form of metaprogramming, to be avoided in newer language designs. On the other hand, there are statically dependently typed languages that collapse the type and value level, letting you make things like type functions. There is also multi-stage programming -- why choose between evaluating code at runtime or compile time when you can choose to evaluate it at compile time, runtime, or any arbitrary stage in between? (Yeah, this one is pretty wonky and I don't know if I've fully gotten the utility yet. But it might actually make for a new kind of dimension of abstraction -- letting you build up multiple layers of interpretation, and inspecting the different layers when you want to investigate what they do. I guess. In any case the motivation is to be able to write high-level code that ultimately gets "compiled" down to efficient, specialized code.)

Or maybe dynamic Lisp languages will stay the kings of metaprogramming. But it's still in the same spirit -- macros, which are static metaprogramming constructs.
http://www.seleniumhq.org/
Edge vs level triggered refers to how a change in an fd's state is reflected in userspace: level triggering will cause repeated wakeups while the condition remains true, whereas edge triggering will cause exactly one, until the monitored state flips from true to false and back again.

The new flags relate to what happens when multiple threads are waiting on the same set of file descriptors (i.e. sleeping on the same epoll FD passed as the first parameter to epoll_wait(), or having the same client FD in multiple epoll sets -- sorry I'm not sure which way around it is).

Previously the kernel had no support for waking exactly one thread to handle one event, so if there was a single set shared among a bunch of sleeping tasks, all tasks would be scheduled, causing (presumably) synchronization contention on the kernel's internal structures. The new mode ensures only a single task is woken up for an event on a single FD, even when multiple tasks are waiting on it.
The holy grail of high-availability isn't upgrading stateless software. It's upgrading stateful ones.

Like upgrading when a data structure changes between versions. The HTTP protocol nginx serves is stateless and by comparison far simpler. Same goes for Erlang. It offers nothing more than simple function replacement, and that's not enough to handle data structure changes either.
"Emerging languages, alternative databases...code-heavy." That's from StrangeLoop's 'About' page. The fact is, the talk would have worked, not the least because it's consistent with the conference's overall mission.

Folks looking for a polite argument with Curtis could have had one.
Does the baseline on this logo look messy to anyone else? Especially under the u and o.
There is no slander in his tweet, he reported the FACT, may be a tad-bit dramatic, but FACT none the less. I just cannot understand why people think, Job seekers should cower down in public in fear not getting a future offer. To the hell with it, speak your mind, live like a boss even it means you make a little less financially, its better than being a rich coward.
Yeah, the biggest rivalries are typically rooted in some pretty heavy stuff
The book is out now from O-Reilly - its a good book.
Actually that's not 100% correct. Most steel is not at risk, but some forms of high strength steel are susceptible to hydrogen embrittlement in salt water. I don't have enough info to comment on this case, and I don't trust the article because the author can't even get stress vs strain right, but it could be the problem here.
No, but that's not relevant in a discussion of accounting/investment in this case. Here, what's happening is the government gets a commitment from a certain number of people, and well understood actuarial math tells them how many are likely to pay back, how quickly, etc. They then take all that combined with the interest rates and principal amounts, bundle it up into a number, and say "here's the money we will make." That gets used elsewhere in the budget to understand the flow of money, and AFAIK is very widely accepted as a valid accounting practice. (Side note: for an instance of where this went really haywire, look at the 07/08 crash where the math was fudged and we did not understand how much money was coming back from loan investments)

The problem is not "oh noes people are paying us back" it's "well crap, the private sector is undercutting our legislatively defined interest rates and we will be vastly under target on these returns."

If the government never "had" the money (again, in the accounting sense, loan payments are pretty stable investments normally), then they can't lose it (as in your counter-point). However, if they did "have" the future money (in the accounting sense), and they can no longer expect that to come in, they are in fact losing money (again, on the books). In these cases, there's no actual dollar bills flying out of the window, just some accounting projection spreadsheets somewhere that make people unhappy.
demonstrate under time constraints, lack of references, lack of iterative code/compiler/REPL feedback

well that is the interview. for you being good means to know how to invert a binary tree if you have access to a compiler and internet, but for Google it means to know it off the top of your head. they could let you have access to compiler and then make the questions much more difficult. which one is better?
I don't know. first one takes less time at least.

Often they'll cut you off at a phone interview if you stumble

I'd guess that's because they have so many condidates to pick from.
If you want a better solution on OSX than you already have, try https://github.com/codekitchen/dinghy - it does a really great job of wrapping Vagrant and taking care of setting up NFS instead of the incredibly slow default vboxfs.

Alternatively I've used Parallels + NFS with Vagrant for boot2docker but it's a real pain to get set up correctly. Dinghy just did it automatically, and also set up DNS and NTP for me. Can't recommend it enough.
Well I know one mistake they may have made in hiring. Guy I used to work with had a totally unclear design process and couldn't complete his work. He would design flawed algorithms that made no sense to anyway and then he asked for lead a project which he dug himself into a hole and had me pulled in to help him and then abandoned me and left the company. Spent 3 months cleaning up his mess. I wonder how he is working out for them...
The War Nerd: Scuds and Patriots – The armies of this age are weird
The balance of the loan is different from what you (as a lender) have to put the loan on the books for. Even if there is no way to legally discharge it, if it's unlikely that the loan will be paid back (or part of it), you have to value it for the amount you expect to receive.
is this any good?
Thanks! Just wanted to let you know I got it and will be back in touch ASAP :)
How can they possibly predict daily temperatures! Presumably it accounts for day and night as well and the Sun's energy output?
If the cost of defaults overtakes interest gains then yes, it is costing taxpayers.
What I personally wonder is what happened with Lego Technic. Where are the old generic studded pieces, gears, axles, etc? I learned so much with those...
Ha, I totally messed up a question for a front end interview today that could have easily been solved with timeouts. I didn't realize timeouts had resets as I haven't used them extensively and bam I'm trying to essentially design a reset for a generic counter. Boy I felt ridiculous. As soon as he said use timeout reset it's immediately obvious what I had to do. I'm not a bad programmer but between brain freeze and whiteboarding, and interviewing day after day for a few weeks, it just didn't occur. Killed me and I hope I don't miss out on an offer from a company I was actually really interested in because of some bullshit brainfart on something I'm not particularly well versed in.

Whatever! They asked me back but it sure is a frustrating feeling even if I tend not to appear flustered until I walk out, introspect, and realize what a doofus I was.
Very interesting information on Zoox, Cruise, Peloton and Baidu's plans for autonomous vehicles.
tldr; don't download from SourceForge it uses its own installer bundled with garbage. Do download using ninite.com (https://ninite.com/), the "only trusted" downloader according to these guys.
what? you don't need 200 dpi when you're 3-8 feet away
Worth noting that this is probably a less catastrophic write-down than a private lender would face in the same scenario, as these loans typically can't be discharged and the federal gov't can do all sorts of crazy things to recoup money on a default (garnish wages, taxes, etc.).
Presumption of innocence doesn't prevent you from having to go to court and defend yourself. However, the DMCA provides safe harbor for sites and networks, essentially removing them from the conflict entirely, if they quickly act to remove contentious materials. Then there is a process by which the two sides actually involved can dispute over the materials can make their case.

The DMCA favors copyright complainants but it also completely absolves providers of liability. So it's a messy compromise.
Synchronize to a checkpoint. Serialize all state. Run data structure upgrading code. Deserialize upgraded state.

Of course possible to do in-place, but I'd imagine serialization makes testing it easier. Not to mention sending error reports if something goes wrong. Having all that state in a bug report could help a bit!
It'd be nice if everyone open sourced their abandoned software and games. Very cool to see Microsoft choosing this, and I hope they expand this to other abandoned products in the future.
It's also aggravating when a Google recruiter "reaches out" to you and but won't (or can't) reveal any details at all about what role they're trying to fill.
I would imagine the crunch is significantly lower on a game engine as opposed to a game where you are usually contractually obligated with your publisher to release a final product on a specific date.
I don't understand your example.

Why is it necessary for with-file to me a macro? It seems like any language with lambdas could write it as a higher-order function that asked for a consumer.

How does having a with-file macro fix the "what if you forget it?" issue? It seems like you can forget with-file as easily as you can forget `using`.
Maybe you're just not doing serious programming. Most people I know implement data structure searches quite often.

If you're writing scripts, or JS code for web pages or something like that, then maybe you don't use CS stuff, but ... are you able to write a web browser if you had to? Are you able to write an operating system or navigational software for a spacecraft? If not, then maybe just see this as revealing sectors of your skill set that could be beefed up, rather than presuming that none of that stuff is important.
Looks cool. Code indentation error/confusion at http://kimh.github.io/clojure-by-example/#future though.
Never, ever assume this of your public key.

Why? I mean, I'm not saying it's an absolute 100% certain assumption that any particular public key is secret. I'm saying it's a reasonable assumption that will likely be correct in many cases. Not something to base your faith of a cryptosystem on, of course, but it's a reasonable assumption in many circumstances that can have a positive impact on the actual security of your accounts. The public key I use for my own machines is very unlikely to be known by anyone else, because it's only used on machines I have full and sole control over. Sure, that's not absolute proof (maybe one of my servers has been compromised and I don't know about it), but it's a reasonable assumption.

The solution to the Debian bug is to use a keypair not generated by the bugged Debian build, not "continue to use the bugged keypair".

Duh. If you actually read what I wrote, you'd see I agree with that. I'm talking about the fact that people were using broken keypairs for long time, and didn't know, because the vulnerability hadn't been found and disclosed yet. You won't generate a new keypair if you don't know there's something wrong with the one you have.

My point is that if an attacker knew about the vulnerability a long time before it was fixed and publicly disclosed, GitHub publishing public keys gives that attacker a nice corpus of keys they can check to see if they're vulnerable, and can make use of that information (since the attacker knows that any bad key is known to be used for a particular GH account).

If GH did not publish public keys, all users would have been safe from that particular attack vector. Sure, there are other avenues where an attacker could get ahold of some of those same public keys, but it's probably a vanishingly small percentage of them.
Thanks for the list. Lots of good projects in here!
I took my google interview as a gift from them to me. It showed me that I was mistakenly interviewing to become a cog in a terry gilliam-esque corporate machine, and that made me think hard about my path in life, and what i really wanted out of a career.
Edit Distance in Genomes – Longstanding Algorithm Worry Put to Rest
I was gonna say, who calls reversing a tree's ordering inverting?

> Oddly enough, Google shows me interview questions where "inverting a binary tree" means something quite different — for example, flipping it upside down, and making the left leaf the root, the right leaf the left leaf and the root the right leaf.

Whaaaaa? I can't find this, but it seems like such a weird operation. Got a link?
Sometimes, but not necessarily. Sometimes it's people who always have to be "right" - which means every conversation (whether about technical things or what you did last weekend) devolves into a carefully orchestrated dance of definitions that allows everyone to escape with their egos intact - because he conceives of himself as "the smart guy" or "the guy who is always right" - so if he's wrong, he changes the rules[1].

Sometimes it's the reverse - the exhaustion of needing to always be "on" intellectually, because someone will point out the smallest inconsistency or fuzziness (again, in non-technical contexts where it doesn't matter)[2].

Sometimes it's because I'm super bored by conversations that mostly consist of geek-culture or technical references, where I get the reference but don't laugh because it's not that clever or not that funny, and people assume I don't get it (maybe that one's on me, though).

I've never been to a Google campus or event so I don't know what it's like there - I'm just describing my own experience at a place like CMU CS.

[1] An absurd example was the guy who claimed the song "Right Here Waiting" was by Bryan Adams. I told him it was Richard Marx, but he insisted that it was Bryan Adams. I didn't care so I just let it go. Later that day he emailed me a link to a mislabeled Youtube video as "proof" - when really it was just an ego salve for him to prove to me that he was justified in claiming that it was Bryan Adams. I offer this anecdote because it illustrates a common personality flaw of smart people (especially ones who spent their formative years as the smartest person they knew)

[2] Think comic book guy's xylophone comment from The Simpsons
He actually didn't apply, it was Google who contacted him in the first place.