skysight-inc/HackerNews huggingface dataset:
I'm typing this on my home PC which is over 5 years old. I've replaced the gfx card, CPU and memory and it plays Battlefield 4 pretty well. I also use it for programming (I work in game dev). Why would I replace this very serviceable PC for a Apple toy which will be unsupported as soon as its manufacturer thinks they can get away with it in an attempt to get everyone on their must-upgrade-to-the-latest-thing merry-go-round. I appreciate quality hardware and fashion in tech a-la Apple makes me puke.
That's because they are and it has probably caused more harm than good by leading to the creation of these strategies.

Technicaly it isn't insider trading as they aren't getting data from the company. They are guessing it from a private company that is exempt from such guidance.
If that's literally all you do, I as a potential client should just go out and buy the underlying assets myself.
Sascha Riether mengakui bahwa
Absolutely nothing.

In fact, it's to be expected. Microsoft -> Google -> Facebook -> Uber (ugh).

Each was very successful, and success breeds growth, which is not bad. However, as you keep growing, there's never any pressure to remove the lower-performers or focus. This leads to too many people for the (perceived) good projects, which leads to internal politics carried out in a destructive fashion. At that point, you're pretty much like every other company hated by their employees.
GStreamer 1.8 released
related to the 5 qubit quantum machine mentioned.

https://news.ycombinator.com/item?id=11241194

http://science.sciencemag.org/content/351/6277/1068

http://arxiv.org/abs/1507.08852

http://arxiv.org/abs/1601.06819

https://news.ycombinator.com/item?id=11235186
Even worse, we actually had a regression at work caused by a zero width space sneaking into some code. Most editors won't even display anything for that character, even the code review tool we used didn't!

In the end I configured Emacs to highlight all unicode characters, trailing whitespace and tabs bright red. I also had it render zero width characters as normal spaces, otherwise they were still invisible. https://github.com/kzar/emacs.d/blob/master/init.el#L181-L19...
A Tutorial on Deep Neural Networks for Intelligent Systems [pdf]
I find it interesting that everyone's default mode is somehow that a developer/studio should be able to dictate what people show from their game and whether or not they can make money from it. Even though I find the idea of making money off of Let's Plays a bit silly as well, I honestly think it should be none of your business as a developer.

This is all part of a bigger picture where I think the consumer of media needs to have more rights, not less. People already mostly don't own what they buy, can't do what they want with it, etc., and further limiting that is doing no one any favors, except the people in the business that don't even play games themselves.
This strikes me as very similar to the simulation argument. That is most beings probably exist in simulations, and therefore you are far more likely to exist in a simulation than be a living person. Or similar anthropic arguments could be made about many things. You are more likely to be living in a bigger country, you are more likely to be living in the period of time where Earth's population is the largest, etc.
Otherwise known as the falling into a moneypit and suffocating problem.
What you actually want is a NAND emulator on an FGPA.

Then rolling back the NAND to a eariler state is simple and can be done in a split-second, much less than the actual time of the reboot. Depending on the software-implemntation, it might even be possible to roll the NAND back while the phone is still on, saving you the reboot.

So your time is bounded by how often you can reboot.

However, I'd be highly supicous that Apple might have a few bits of perminate storage inside the SOC and can detect multiple re-tries even without trusting the NAND.
10^4 is not 1000
Previous exciting works by the same research group (already discussed on HN):

- Acoustic cryptanalysis : https://www.cs.tau.ac.il/~tromer/acoustic/

- Get Your Hand Off My Laptop : http://www.tau.ac.il/~tromer/handsoff/

I saw a live demo of the latter at the CHES 2014 conference in Busan, it was really impressive.

Now to be honest, I'm less impressed by this new one because I already saw a very similar attack on a smartphone using an EM probe (except maybe it was on the RSA cryptosystem). I'm not entirely sure but it may have been at the CRI demo stand at the CARTES convention in Paris in either 2012 or 2013.
Any idea if this could work with GIMP using something like the "GIMP PSPI plugin"?
Don't just complain about it on HN, tell the developers directly (via GitHub or otherwise).
The thing is, it actually doesn't matter. No one needs to be a certain way. Cool things will be done by people that can and will do those cool things. In the end the prescriptivity of this whole space is only ascribed by people internal to the whole system: externally nothing is 'supposed' to be done. This is just a symptom of more people programming.

The thing that will speak the loudest is actions and results. If people don't like depending on modules, don't. If you do, do. Eventually everything will be lost and forgotten like teardrops in the rain.
Hedge fund guy here.

There's an implicit assumption that return profile is what matters to the investor. It very often isn't. Quite often it's a simple cover-your-ass requirement. Gotta put my money somewhere, so anyone who isn't going to embarrass me is fine. Thus status quo.

Second, strategies do exist that barely lose money ever. I've a friend who runs a strategy that has had 4 losing months out of 100. Certified by a fund administrator. Sounds too good to be true, so the fund stays small. Everyone's heard of negative skew so they stay away.

There's also strategies that print money so regularly they don't need outside investment. You would be amazed at how simple it is. But I've actually reproduced this myself. You need some good execution to do it, but once it's up you don't need or want investors. If you get a bond like income stream, you might as well finance it like a bond. It's only stuff with low Sharpe where you need to share the risk.

So what do you see then? A bunch of traditional managers doing their stock picking where the result doesn't matter too much, and some funds with some alpha that isn't stable.
This argument basically boils down to "I think elegant abstractions are more important than readable code". This is a pretty valid position to hold, but I strongly doubt the majority of the JS community agrees.

A similar thing is how when you return a Promise from a 'then' callback, the resulting promise does not resolve to an inner promise but just to the value that was inside the inner promise. This completely breaks the monadic properties of Promise, but given that JS has no nice support for monads, it makes code simpler and easier.

IMO, but Promises/A+ spec designers made the right call here. Purists will disagree, but I bet the majority of the JS community hasn't even given this a thought (yet uses the feature all the time). I feel the same about async/await.

Also, anecdotally, at my company we're heavy heavy users of async/await ever since Babel added support for it, and we've yet to run into any of the problems the author refers to.
The key point most people have completely ignored is that the Flash memory doesn't get erased when the key code has been entered too many times. In any case performing a Flash erase over gigabytes of storage is an expensive (time,battery) operation.

What happens is that after ten attempts is that the encryption key (which may be just a few hundred bytes) is overwritten. Since the drive is encrypted you can't then decrypt it but the data is all still there.

So you wouldn't NAND mirror the whole flash drive; you'd just target the place that the encryption key is stored.
I was suggesting the people making the ai are flawed not the people prodding the ai after it was built. The machine isn't smart enough, even still, to figure out that it is being intentionally influenced. And eventually adopts the topics people are sending to it.
Magic is often used to describe confusing code
Along the same vein: Things to commit just before leaving your job - https://gist.github.com/aras-p/6224951
Helps make code look more like the algorithm it's implementing - would rather just use α than keep spelling out "alpha" every time. Good editors and REPLs make it easy to enter unicode symbols by tab-completing the latex spelling, e.g. \alpha<tab> gets replaced by α.
Disposable and merchant-specific card numbers have been around for decades but never gained much traction. Probably because the meager benefits do not overcome the poor UX.
You misquoted the grandparent to argue against a position he did not take.
git checkout - uf
Very little people. Some executives, that's all.
Show HN: I've refactored Lucene
I actually just received the one from the Kickstarter. It's really good, very nicely made, etc.

Would recommend it if you're interested in this kind of thing.
Worse product? You're cute.

Slack without the unicorn farts is much less of a hassle and a distraction; I have enough things to keep an eye on to appreciate plain text communication.
The difficult part is getting regulated, and raising money.

Robo-advisers are subject to the same regulation as traditional asset managers - a regulatory burden which is only likely to increase over time. The legal fees associated with regulation are not cheap.

Compounding the problem, a competitive robo-adviser needs to offer lower fees than a traditional asset manager. Probably they need to be in the 0.25-0.5% range, which means that for each $1m under management they are picking up $5,000 of revenue. Out of that they need to pay salaries, infrastructure costs, legal costs, rent, taxes etc. Let's be conservative and say that these costs are $2.5m per year. That means that a robo-advisor needs about $0.5bn under management before it begins to turn a profit.

I don't think it's really suitable as a side project.
Compiler Bugs Found When Porting Chromium to VC++ 2015
Critique:

1) no LICENSE file

2) not configurable

3) not idiomatic ruby (e.g. camelCase not snake_case)

4) overtly complicated. A better, and shorter version, is:

bad_whitespace = " "
ARGF.inplace_mode = ""
ARGF.each_line do |line|
print line.gsub(" ", bad_whitespace)
end

5) bad commenting. The style of commenting each line for what it does is often silly. Something like "fileModified.close # Close file" tells me exactly nothing more than reading the code. Having "noisy" comments makes important comments less obvious, and thus actually makes the overall commenting worse.

This is a sign of a college coder who had some class where the teacher said "you're required to have at least this much commenting", or a beginner programmer.

And finally, this is obviously a dumb toy program.

This isn't useful to show-hn. This isn't anything novel, or even interesting. It's not hard to do. It's poorly implemented and not portable (really, why require the user to edit the filename? ARGF exists for a reason).

This was also submitted by a new hn account mere hours after it was created (clearly by the author). I have no problem with showing off your own work, but at least let it cool down to see if it's a good idea; see that other people think it's interesting or useful in its own right.

I consider presenting an essentially 5-line program that is not generally useable or insightful as being basically spam.

I do recommend keeping on programming and, once you've got a project you're proud of that has seen some use besides yourself, seen at least one other happy user, and relates to HN's interests, post away!
Yeah, that's an interesting case. My initial reaction is that I'd think of it as a tool that the AI was using. If a human used such a tool I'd consider it cheating at the game. But a self-modifying strong AI could integrate the specialized go AI into itself. If that is not considered cheating, should it be considered cheating for a human player to integrate tools into their physiology? Today it's pacemakers, why not a specialized go chip with a neural interface tomorrow? And this is assuming the strong AI even has a concept of a self separate from the software it controls; that separation might not even make sense.

I think we might not be able to answer these questions until a strong AI emerges.
Quick search command tool for your terminal
But only if alien life exists (we don't know) and shows the same distribution characteristics (we have no clue).

The reasoning, while consistent in itself, is based assumptions pulled from thin air.
Franz – One application, 10 messenger services (Whatsapp, Slack, Skype, etc.)
Sounds like some evil plan StackOverflow could use: inserting those characters randomly in the answers' codes to deter copy-pasting.
Are Composer and Packagist also vulnerable to package unpublishing and hijacking?
1. Applied Cryptography: Protocols, Algorithms, and Source Code in C
2nd Edition, by Bruce Schneier
Wiley Publishing 1996
ISBN 0-471-11709-9
2. The Computer Privacy Handbook: A Practical Guide to E-Mail Encryption, Data Protection, and PGP Privacy Software
by Andre Bacard
Peachpit Press 1995
ISBN 1-56609-171-3
$24.95
Reference: http://american-writers.org/
There was a project that implemented Http over Facebook messenger
https://news.ycombinator.com/item?id=10437619
I think it won't be a big challenge as browsers have solved this. We would need to bring it to the "react-native-browser".
Yes, this arguing is totally pointless in a logical sense.

1) We have no evidence for or against it.

2) Even if we knew - it wouldn't matter at all to us.

It's like arguing about the style of gods beard or how to get rid of undetectable demons.
It's not.

* Shrink wrapped software (without DRM) runs on your computer, you have full control over it forever.

* Subscription based software with DRM may also run on your computer, but only as long as you rent it, then it stops working and you can't access your data.

* Cloud service is a subscription based software that runs on someone else computer, with the same disadvantages as above.

A cloud storage locks you in a software eco system/API. So it's a software and storage topic.
He is correct in quoting the 1000 number because each cloned phone gets you 10 tries, thus 10 x 1000 = 10^4.
There are strategies that rarely lose money and have a great risk-adjusted profile. But they are generally at least one of

a) Not scalable (e.g. most intraday market-making or scalping strategies)

b) Only available at a very high fee (think north of 3/30)

c) Not available at any price (e.g. Renaissance Medallion, which has been closed to outside investors for 20+ years)

So I'm not sure that it's particularly relevant to this discussion, which is about fee pressure on traditional, long-only asset managers.
Who said it was impossible?
Show HN: Finac – Codecademy meets Finance (prototype, not mobile responsive)
Interesting. I used to know a vacuum cleaner repair technician who told me (anecdotally, no citation I can provide) that in her shop's experience Dyson accounted for about 5% of sales and 95% of repairs.
No, it's not "inarguable". What the paper says is that some funds in the extreme right tail are able to demonstrate a modicum of skill, meaning they do better than pure randomness would suggest. However, they do not do sufficiently better to consistently generate four-factor alpha net of fees. In other words, they do not do sufficiently better that you could invest in one and have a higher expected return than you would get investing in a passive fund with similar factor exposure.

The bare fact that certain funds or managers have averaged 20%+ over whatever time period is irrelevant, as that is absolutely expected due to randomness alone. It has no predictive power over the ability of those funds to generate future alpha, regardless of what intuition suggests. Again, in other words, investing in a fund that has consistently outperformed in the past does not increase your expectation of outperforming in the future. In fact, it is more likely than not that you will still underperform a low-cost passive fund with the same factor exposure.
Would you mind sharing pointers?
can somebody provide a link for this app? I can't wait anymore! :D
> Lets drop async/await and write our own interpreters.

Let's "codify" patterns instead of having everybody roll his own implementation thus make codebases more compatible.

All criticisms made in the article are 100% valid, however the former principle trumps every other one.

I don't want having to import yet another micro-module just to write something that should be trivial to do in plain javascript.

As for try/catch, some languages support pattern matching, why not Javascript?
This didn't happen in the last years. I doubt it will happen at all. I think they're more interested in the algorithms to reuse them in Google Apps the one or the other way.
Interesting write up, examples, and ideas, but the conclusion is a bit silly:

>Lets drop async/await and write our own interpreters.

Guess what kind of "interpreter" most people would need? The async/await kind. It doesn't solve everything and it does introduce more awkwardness[1] to the language but it's categorically a productivity and readability boost. Now to address the individual points raised:

1. Try/Catch

The argument here is against a core language feature and has nothing to do with async/await. Sure, guarded catch statements would be nice, but I contend that if you're relying on multiple levels of exception handling then you're using exceptions for flow control.

2. Higher order functions

JavaScript is a multi-paradigm language and as mentioned earlier that leads to awkwardness. You can only pull the language in so many directions before it becomes inconsistent. Some features will be geared towards functional paradigms and other will be imperative by nature. For example instead of `forEeach` you can use `for of` which allows you to yield inside the loop. In that sense async/await, for-of, and try/catch are all imperative control flow constructs. On the other hand callbacks, promises, and higher order functions are functional constructs. Mixing them together is not easy (nor should it be if you ask me).

3. "generality"

In this case you might not want to use such a high-level construct like async/await. Just like when you have to do caching or memoization you tend to drop down to do promises again. However, you can push this down into a library that exposes a promise and then continue using async/await in the rest of your application. In this specific case you want a monad-like abstraction, something that carries certain context across a sequence of computations. The generator implementation might be an overkill but the syntax looks nice.

[1]: This is a great write up on how adding different types of functions to the language makes it awkward to say the least: http://journal.stuffwithstuff.com/2015/02/01/what-color-is-y...
Wait a bit... So you say that they actually store the keys on the external NAND instead of the supposed-to-be-very-secure crypto parts of the CPU?

They apparently have secure memory to store the PIN. It sounds unlikely that they have not enough secure memory to store the quite small key as well.

So that would be an odd design decision. Do you know for sure that is how it is implemented?
Yes, but Windows 10 is neither free (you can trade a valid Win7/8 license for a Win10 license) nor cloud product per se (more a subscription). And when you buy a Win10 Home, Student or Pro license they in all cases spy on you and your data. There is no way to turn it off, except with the LTSB license that is only sold to large enterprise corporations. That's not the Microsoft of the Balmer era, and a lot worse than any product of the competition.
> After every 10 failed attempts, the chips need to be removed the phone, reflashed, and reinserted back into the phone. Then the phone needs to be rebooted.

And.... this is where I stopped reading. With enough electrical engineering chops, you can automate this. With 10k possible passcodes, this only needs to be done 1k times.
The Sounds of Dialup Modems and Related Equipment (2014)
Back in the day there was a Facebook app called "IPv6 over human" where you would receive packets from your connections and had to manually route them.
GDC 2016 Presentations
HN thread about it here: https://news.ycombinator.com/item?id=9203946
Why not just use anonymous gists in conjunction with RawGit CDN?

Unique IDs, no way to change or delete (since the gists are anonymous), served right out-of-the-box with a proper content type from cdn.rawgit.com.
Fintech Marketing: 3 Ways to Promote Your Product
Having owned around six different dysons (including the washing machine) over the last couple of decades, I can safely say that in general they are rock solid. In fact they are pretty user serviceable and can replace quite a few parts yourself should you need to.

In fact, the only time I have had an issue is on one of the first generation hand helds where the battery pack contacts became slightly loose, but a phone call to dyson support and a wipe clean with vinegar on the contacts resulted in the fix.

Anecdata is fine but you can have both directions, and I'm not sure a repair shop observing seeing popular vacuum cleaners is the best place to start from.
You're still trying 10,000 times, you're just using parallelism to speed it up.
"The flaw with this approach is that it's time consuming. After every 10 failed attempts, the chips need to be removed the phone, reflashed, and reinserted back into the phone. Then the phone needs to be rebooted."

What about the increasing enforced delay between individual attempts? I don't see people talking about that much. Is it easy to circumvent?

The delay between the last few retries is an hour, for example. To make 10 attempts at the passcode takes 2h21m in total [1]. So to brute-force a four-digit PIN would take 10,000/2=5,000 attempts for the average case or 500 rounds (at 10 attempts each) at 2h21m per round for a total of ~49 days. Then you still need to add the chip replacement procedure.

[1] http://cinnamonthoughts.org/2010/09/13/ios-passcode-waiting-...

Edit: incorrect numbers and words.
What you have in that case is a 128-bit prefix with, last I heard, less than 60 bits of security - due to md5 being so broken. Now the attacker can start the first round of sha1 with a massively reduced number of potential permutations. That isn't a problem for sha1 today, but if it is tomorrow - then you are much worse off then you would have been just feeding sha1 your plaintext. The benefit of the additional computational complexity is pretty small, and not worth the additional potential point of failure.
And even Qt is shifting to using Chromium web views to supplant their native widgets.
>So you say that they actually store the keys on the external NAND instead of the supposed-to-be-very-secure crypto parts of the CPU?

That phone specific to this case does not have the security enclave you're talking about.
John C. Bogle, the founder of Vanguard (mentioned in the article) wrote a book called "The battle for the soul of capitalism" [1] where he describes his motivation to found Vanguard. In summary he sees that funds managers add little value but extract too much money from risk takers (=investors) and thereby turn capitalism up side down. Sounds like his thesis is winning.

[1] http://www.amazon.com/Battle-Soul-Capitalism-John-Bogle/dp/0...
I can't recommend that enough - I feel I gained more practical skills doing those challenges than the classroom-led university course in Cryptography.