skysight-inc/HackerNews huggingface dataset:
For what the OP is talking about, I would say to never attempt a rewrite.

The only caveat is if you have spent the time to truly understand the codebase, then maybe you can do it. Most people advocate a rewrite because they don't WANT to understand the codebase. Even if you understand the codebase, it's pretty dangerous, but at least you have some idea of what you're saying you will rewrite.

So yeah, it can happen, but if you are in the situation that you have the knowledge and experience to override that rule, then you have the knowledge and experience to know that you CAN override that rule. It sounds a little circular, but it's how I tend to aim my broadly-given advice. If someone knows what they're doing, they should be able to recognize when they can ignore your advice. Anything else would have to be tailored to each specific instance, which isn't plausible in a blog post.
Oh no, thanks for the heads up. Will take a look.
I would expect the malware developers already to have targeted iOS if it were possible?
Trump Presidency a Boon to Toilets
I live in Russia, and none of the roads outside of Moscow Ring Road have any markings at all. Yes, even big cities. At best the markings are painted in spring and disappear within a few months. Getting autonomous cars to work in these conditions is a huge challenge.

There's a famous saying that Russia has two problems: fools and roads, and it's just as true as when it was first coined.
Here are some angrily and hastily written observations:

- No microSD card slot. Yes, 128GB internal storage -- and it being an UFS, which is fast -- is a lot, but there are people who carry data on their phones and require portability and speed. There's honestly no excuse not to have a microSD these days.

- Small battery; 3040 mAh, seriously, shouldn't the OEMs have learned by now? Android is a battery eater, Google doesn't seem interested in making the OS more efficient and keeps thinking of half-assed "solutions" like the Doze mode which is basically "if it's the night and the phone hasn't moved in an hour, please cripple its functions until the owner picks it up", heh. For Android you'd best go for the absolute minimum of 3500 mAh or just admit you're after a quick buck. If you're serious about an Android phone, better just put 4500 mAh or more in your device and then I'll take you seriously.

- No 3.5mm audio jack. Yeah, keep dreaming, Andy Rubin. Parties with rich friends who tell you "things they hear" are not a good indicator about market needs. And you dare call your hardware "essential", lol.

- Display is not AMOLED. Heard about actually having a black color on your display? Guess not. Heard about dynamically turning off parts of the screen to save power while not losing any part of the image (because the turned off part is black)? Guess you haven't heard of that either, nor energy efficiency for that matter.

- No word on planned maintenance period -- 1 year, 2, 4, how much? It's a crucially important element nowadays, how can Android's creator be unaware of that?

- Cameras look good on paper but we all know it's the camera app which makes the real difference. I bet it'll be some default vanilla app which won't make a good use of at least 50% of the device's camera functions.

Overall -- overpriced pretty device. What else is new? The guy is pulling a popularity card to get away with yet another mediocre device and entice naive people to buy it because of his supposed prestige as Android's creator.
Yandex is the most popular taxi service in Russia https://www.ft.com/content/3fce1422-8fd0-11e6-a72e-b428cb934...
Hell the attitude in the article evokes strong memories to my last workplace.

Almost all development teams tried so hard to build smart software doing the right thing, recovering from everything, tried to fix so many things. They spent insane amounts of work trying to be smart in error situations. And all of that was useless or harmful - it either didn't work, or it it made things worse.

My team operated under simple principles. Crash early, crash hard, log well, trust the operator. But you know, Ops at that place loved our applications. It took time to get them going, but it was easy to understand what to do whenever they crashed. It was easy to understand why it stopped. It was easy to understand when to file a bug.
Or yeah, what if I speak a language similar to english except the word 'EULA' means 'none of the following applies'.

Or what if I dance around in a circle reciting green eggs & ham whenever I sign anything?

Let me know when you find the court that is willing to hear these questions.

Unfortunately the 'had my fingers crossed' test from SCOTUS US v every 5 year-old was recently struck down.
Most of the Yandex developers are not that good or not loyal to a company. This classes in universities is a scam: instead of teaching people of real world things, they teach how to work with yandex tech stack.

Yandex lost almost all good developers and it is continue even further. Companies rent offices near yandex and find yandex developers in the restaurants around this buildings and convince them to leave. This is very easy to make a decision to leave yandex for them.

Once i came to talk to yandex and ask - why they don't make good experience for mobile apps in their search results? Why they are not indexing anything related to apps? Answer was simple - user then will use this apps instead of yandex.

And such toxic ideas are pretty common in the company.

Talking about maps - they pushed out of the market one of the most awesome maps application in the russia. It had crappy UI, but it always make correct estimates and was able to learn your behaviour (more than 5 years ago!). While their app doesn't work at all but it couldn't because they need real drivers to make sane navigation. Then they pushed it to a taxis with a very simple trick - for taxis they made routes LONGER than it should be. This got them big fleet of a taxis. (sorry no proofs, but they are on russian and you won't understand it anyway)

I hope they won't be that successful with their crappy product on the roads (they failed in almost everything in last years) and it will be much harder to compete for smaller teams as everyone will say "huh, but there are yandex guys already!".

This video is a too dumb for a year of work. Voyage are better already, but they are a small team unlike yandex. Geohotz was even faster.
This issue brings to mind the fight over Phillip Shoemaker at Apple. Self driving cars and the engineering behind it seems highly specialized. Will this case with Levandowski put pressure on engineers to stay put, a stronger, tacit non-compete and no-poaching rule?
Companies can do worse things than firing people, but it's hard to legally compel them to do so.
Yes! I was wondering if it'd been proven impossible or not; I was (briefly) a trisector in middle school when they told me no-one had done it, but all my efforts amounted to were a deeper exploration of geometry. Which, at the time, was a pretty good result.
Since it's a civil case, won't it only have to be demostrated to be more likely then not? I thought 'beyond reasonable doubt' was only the bar for criminal cases.
But keep in mind that in civil cases like this one (unlike criminal cases), prosecutors and juries are allowed to draw "adverse inferences" from your silence and take it as evidence that you're guilty. Levandowski certainly isn't doing himself any favors by taking the 5th.
> My guess is that this firing is mainly a move to improve Uber's political capital "Look we fired the bad apple". I'd assume Uber has probably figured out how to tie his interests into cooperating with him (to the detriment of exposing IP theft) though maybe granting him equity or some sort of financial incentive.

Uber is complying with a court order to do their utmost to compel him to cooperate and testify. This is not political and it's also possible that they still don't want him to testify either way but they have to be seen to do the "right thing" in the eyes of the court.
It's a common myth being repeated.

I think comes from an assumption that if you use ZFS you care more than users of other filesystems about getting the same data you have put onto disk out of the disk later when reading it back.

If that's important it's good advice to use ECC RAM. The point that's often lost is that if you cared about correct data, then having ECC RAM would have been a good idea regardless of using ZFS or not, and you're not worse off with ZFS than you would have been with another filesystem without ECC RAM.

Another common myth is that ZFS requires large amounts of RAM. It doesn't do that either, but the assumption is that if you use ZFS you're building some large multi-user system which benefits from a large cache. If that's not your use-case then that's not true, you could run ZFS on your single disk laptop if you wanted to.
Not really the truth - Android apps are all sandboxed and have relatively little access.

In fact the only thing this oh-so-evil malware did was generate fake Google Ad clicks. Not really an offense against its users at all and it can be trivially uninstalled. I certainly wouldn't compare that to ransomware, DDoS botnets, search hijackers, etc that deeply nest themselves in your system and resist uninstallation so much that reinstalling the OS is often the suggested recovery option.
Great advice. It's funny because I already know this, it's logical and the decision makes sense in every way, but I still have trouble doing it. I've got a nice chunk of nights/weekends in July, maybe I'll make the final push then.
It is of course completely true that the order matters a great deal in this case. In fact, in this case, the order of goals matters much more than students typically realize! In my experience, students who write down and then run the first version frequently walk away with the impression that "Prolog is slow". But in fact this is a performance problem only in the widest sense of the word: This is rather a termination problem.

Luckily, there is a powerful way to detect such problems in Prolog, based on program slicing. The trick is to narrow down the program to those fragments that exhibit the same problem.

For example, let us start with the first program and one fact for parent_of/2:

parent_of(a, b).

ancestor_of(P, P).
ancestor_of(A, P) :-
ancestor_of(A, Parent),
parent_of(Parent, P).

Rather insidiously, from a quick first test, the program even seems to work as intended:

?- ancestor_of(X, Y).
X = Y ;
X = a,
Y = b .

With the following query, we get to the core of the problem:

?- ancestor_of(X, Y), false.
Nontermination!

Now the point: I can systematically remove some aspects of the program by simply removing goals and even entire clauses. For example, what about this fragment, where I have commented out a few parts:

% ancestor_of(P, P).
ancestor_of(A, P) :-
ancestor_of(A, Parent).
% parent_of(Parent, P).

In other words, we are now talking about:

ancestor_of(A, P) :-
ancestor_of(A, Parent).

This fragment by itself already does not terminate:

?- ancestor_of(X, Y), false.
Nontermination!

The point is: No pure goal you add after the single goal, and no pure clause you add to this program can prevent this nontermination! It will always stay there unless you insert new constraints (goals) before the goal, or change the clause altogether.

The possible application of such reasoning is a rather unique property of Prolog. In fact, I know of no other programming language that even comes close to admitting such a general and easily applicable mechanism for reasoning about termination properties and other aspects!

More holds: Such reasoning can be automated! It is comparatively easy to write a Prolog program that systematically eliminates goals and clauses for you, and reasons about the resulting fragments. Some kinds of nontermination can even be automatically detected (the general problem is of course undecidable).

A few practical guidelines for writing efficient and especially terminating Prolog programs can also be derived from such considerations.
For anyone not in the JS/Node worlds, this is a significant release that people are particularly excited about. It was also delayed somewhat due to wanting to align with V8 which should, however, be totally worth it :-)

Other relevant posts digging into new features include http://codingsans.com/blog/node-8 and https://blog.risingstack.com/important-features-fixes-node-j...
I think his career is very unlikely to be over, assuming he stays out of jail.
Short ver: async await is now in an LTS release of node. Anything that returns a promise can now be run inline - ie, no endless .then() chaining - provided you've started an async context:

const writeFile = util.promisify(fs.writeFile),
request = util.promisify('superagent'),
stat = util.promisify(fs.stat),
sorts = require('sorts'),
log = console.log.bind(console)

const getJeansAndSaveThem = async function(){
var jeans = await request.get('https://example.com/api/v1/product/trousers').query({
label: 'Levi Strauss',
isInStock: true,
maxResults: 500
}).end()
jeans = jeans.sort(sorts.alphabetical)
await writeFile('jeans.json', jeans)
const status = await stat('jeans.json');
log(`I just got some data from an API and saved the results to a file. The file was born at ${status.birthtime}`)
}

Note: you should add error handling, I'm new to async/await and this code is to demonstrate a concept on HN, not to run your life support system. ;-)
If he is guilty, then he absolutely is; an adverse inference is nowhere near as serious as sworn testimony proving something happened.
Are you sure about (1)? I believe you can steal trade secrets even if you don't take them in an embodied form.

It is true that you can't prevent someone from practicing their profession under the terms of California employment law (other states vary) -- but if you take reasonable steps to protect your trade secrets, the employees can be bound to honor that secrecy by not disclosing them to future employers.

Source: I've been involved in a trade secret dispute (it was nonsense but annoying), and I am definitely not a lawyer.
Otto had existed for long enough at that point that you could, in theory, believe that he'd re-created those over the lifetime of Otto.

But even then I'd agree that they're probably guilty of "intentionally not thinking too hard about it", at the very least.
> only accessible on let bindings

Should read "var bindings" (mutable bindings), sadly the edition window is now closed.
It would be interesting if food was sold this way. Instead of an upfront purchase of atoms and molecules, you license their use and pay a monthly fee. It would be a bit hard to tell which exact atoms came from each food consumed with current tech, but one could do estimates of the expected half-lives of various atoms and molecules in the human body and have people agree to pay according those rates. This would definitely allow for more predictable cash flows to the farmer and the rest of the food processing and delivery system.
I posted this long before they did that.
They don't have a great track record, but so far it seems to be working out this time - our indie apps get about one million downloads per month from the Store, and 95% of those are on desktop. If Microsoft can get more household name apps (like iTunes) into their store then I think it'll happen. Windows 10 S will help too.
> No - but it still has to be demonstrated to be true beyond reasonable doubt.

"Beyond reasonable doubt" is the standard of evidence required in a criminal case. The standard of evidence required in a civil case is a "preponderance of the evidence". This standard is met if the proposition is more likely to be true than untrue (ie >50% chance).

https://en.wikipedia.org/wiki/Burden_of_proof_(law)#Preponde...
Traditionally, damages in trade secret cases are calculated according to three metrics:

* Actual loss: the amount that the victim company lost in sales, customers, etc. because another company stole its trade secret. Here this is probably zero, since there are no self-driving cars in the market. (Although who knows, maybe Waymo lost partnership opportunities with large automakers to Uber)

* Reasonable royalties: hypothetically, if Uber licensed the allegedly stolen tech from Waymo, how much would they have paid?

* Unjust enrichment: benefit the Bad Guy got from the Bad Act(s), for example the amount of R&D that it didn't have to spend because it just shortcut the process.

Plus, in California, there's punitive damages available for twice the amount of damages. Which, if the facts are anything like what's alleged, Waymo will get.

The numbers add up fast.
Despite popular belief, the judiciary is in fact not a pack of nincompoops that can be trivially bypassed by a nudge and a wink...

Nor is the judiciary powerless against attempts to exploit loopholes, if they indeed exist.

"Muahahaha! The law is powerless against me and I can violate it with impunity by judicious word choice" is largely a fantasy.
The "real" AR might be the shared experience of location-based spawning of Pokemon, Pokecenters, arenas, etc. especially based on real landmarks.
If Waymo can indeed prove that the stolen IP was a major motivation for the Otto acquisition, then the monetary value of that acquisition is a lower bound for the value of the stolen IP. A lower bound, because when a company acquires another company, it expects an ROI > 1.

In the end, in a lawsuit like this, you must come up with an economic model that quantifies the damage, and must convince the judge (or jury, or whoever awards the damage claims) to accept it. So it's also a question of psychology. If you can show that an action was morally outrageous, you have a better chance to get awarded a higher damage claim.
The tinfoil guy in me says they know nothing important then. ;)

Being a bit more serious, thank you for the link, it was enlightening. Kudos.
You’re right next door to a platform that Microsoft is pushing hard, that users actually like, and is a huge blue ocean of opportunity for indie developers — for now.

Isn't that exactly the same pitch as the one Microsoft gave these developers back in 2011-12? I don't blame them if they decide not to buy it this time around.
> IMO allowing interior mutability by default on `let`-bound reference (`class`) types was a mistake in the language design and the same syntax should've been required there, but I assume Apple wanted to make things clearer for programmers who don't have a C/C++/similar background and so don't yet understand the distinction between [stack-allocated, pass-by-copy] values and references [to heap-allocated, reference-counted objects].

They also likely didn't want to make the work of bridging/using Obj-C types (which I believe are all reference types) even harder.
Typescript's increasing ability to type check JS code without modification (especially if it already has JSDoc comments or is already using npm-installed libraries with type information) is moving it to be a better fit as a solution for more situations.
How to learn a foreign language
> Now I don't understand taking the Fifth. If everyone takes the Fifth, how do you convict someone? Find evidences, and have the a grand jury find the person guilty?

Finding evidence and having a jury (not a grand jury, grand juries indict, but do not convict) find someone guilty is exactly how trials work in the United States. One of the fundamental tenants of the US legal system is that nobody is obligated to testify against themselves (except in some very limited circumstances). It's the job of either the government (in the case of a crime) or the opposing party (in the case of a civil action) to prove that a person did things they are accused of, not the job of the person to prove they did not.
> adding functionality like JSON in MySQL 5.7

In the Java world, the Spring framework is about to drop a new major release revolving around asynchronous or "reactive" programming. Many other programming languages and frameworks are already moving in this direction.

This model pulls people toward alternative databases such as Cassandra, MongoDB, etc. Because you lose many of the advantages of asynchronous processing in the application tier, if your data access tier still relies on synchronous blocking API's (such as Java's JDBC and JPA).

Recently I was researching whether any relational database vendors were adding support for asynchronous access, and stumbled across MySQL's new "X Protocol" basically by accident. The documentation is still rather new and thin, and I was puzzled that it seems to revolve 100% around the use case of MySQL as a document store to compete with MongoDB.

Are there any plans to push the X Protocol further toward the spotlight, beef up the documentation, and emphasize use cases around asynchronous access as a relational database rather than document store?
RefDiff: Comparing different versions of Java code to document refactorings
Commoditized market does not mean lack of options or low quality goods. It just means the differences are predefined aka it's X octane gas without lead and a bunch of other things that you don't need to see on the pump.

People don't just buy generic meat they buy Grade A (means something) Prime Rib (means something) Angus Beef (means something).
a quick non sarcastic question, if the guns didnt make a difference, then how did flying in tight groups help? (keep in mind this is only English night flying bombers)
Is it possible to target Windows Phone 8 with UWP ?
Cryptocurrency Might Be a Path to Authoritarianism
Link to formal termination letter: https://www.washingtonpost.com/blogs/the-switch/files/2017/0...

The termination letter indicates that the termination is for cause and may have implications on stock awards and other compensation:

"Under the Stock Award and other agreements, you are entitled to 20 days to cure the events that give rise to this termination for Cause. This letter constitutes the “prior written
notice” triggering the commencement of that 20­day period."
Exactly this. Working at a brand name travel aggregator (sadly now just a brand of someone else) this was always the gotcha for the hotel chain. We get a deal on your certain count of rooms and you can't undercut our price for the same class of rooms. In exchange for 15-30% we send you business. There are kinds of deals possible including us buying rooms from you and then reselling them ourselves (too risky really) or agreeing to buy inventory you haven't sold for today. I don't know the ins and outs of each type of deal, but for smaller hotels its great, for bigger chains its a pain, and for bigger chains with aggressive managers of certain hotels who ignore corporate rules, a tricky gambling act. In the end the price is too high for big chains, but the ease for consumers to compare is great. Same problem with airlines somewhat, they don't want aggregators but the general public wants to compare prices, and to accommodate them the airlines cheat on pricing (low ball the aggregate price and then charge for all sorts of stuff later - i.e. Spirit). With airlines its much harder to compare prices then with hotel rooms.
512 bit registers fit 8 doubles and 16 floats, and it's not as simple as 16 flops per cycle. They are probably counting fused multiply adds which are usually the highest flop/cycle instruction.

If an FMA can be done in one cycle, then we have 18 x 32 = 576 flops, so if it's clocked at e.g. 2.0 ghz, peak performance would be ~1.1 Tflops.

Edit: I see someone wrote exactly 8 hours before..
But can anyone trust him with anything going forward, regardless of the outcome of the allegation?
Unlike a compiler that you can trick, the law operates on the intended spirit in addition to the letter of the statute and relevant precedent.

This "law hack" would be immediately caught by Waymo and Judge Alsop would rightfully penalize Uber. The corporate officers who signed off on an action like that would likely be criminally liable as well.