Spectre is the one that can be done with JS.
839 karma · joined April 19, 2012
Spectre is the one that can be done with JS.
I think Spectre is theoretically possible with just untrusted data (not just untrusted code).
It would need an existing trusted program that has a branch-predicting loop like the one in the paper. The attacker would feed untrusted data into the loop and then observe secrets through cache timing.
It's weird code, so it's probably unlikely an existing program would have it, but it's not outside the realm of possibility. The attacker would also need a high-precision way to measure the timing of the operation, which also might be hard to find in an existing program, but not impossible.
Just something else to keep you awake at night!
For sure, if everyone did a bank run then there would be a liquidity shortage. But saying that is wayyy different than what the article said, that most people couldn't even withdraw $1k.
If you ask a Bitcoin investor about why they invested, then they might explain it as a store of value, "digital gold", or etc. With that narrative, Bitcoin makes sense in the world, and isn't just a fad. And the erratic price is just a growing pain, it'll stabilize eventually.
But of course, the real reason many people are buying BTC right now is because of the speculative nature, they want to get rich quick. If someone's investment in BTC is significantly larger than their investment in bonds, commodities, real estate, etc, then "it's a store of value" is probably not the real reason they're buying BTC.
But the previous crashes weren't caused by any real news of a significant weakness of Bitcoin, so if there was news like that, then the crash would be worse than we've seen.
Whereas with the internet, if someone is able to knock out critical infrastructure one day, engineers would figure out a way to fix/reroute it, get it working a few days later, and everyone would happily log back on as soon as it's working. Although maybe they would throw out their "smart" coffee machines and etc.
The differences between frontend & backend: frontend code tends to be more loosey-goosey, less robust. Generally the goal of the frontend coder is to write lots of features in a short amount of time. Backend development is more "slow", you still want lots of features, but they need to be robust and work correctly 99.99% of the time.
For that reason, I think the best way to think like a backend developer is pick a language that doesn't have dynamic objects (like Python). I'm not saying that Python can't work, I'm saying that using a static-type language will help you outgrow any sloppy thinking habits that people tend to get when they spend too much time in Javascript.
Hiring wise, Java is still a very in-demand skill. Tech wise, Java is an extremely stable and proven platform that will serve any project well. It's "boring" technology (which is a good thing). If you really want to change your thinking, then try to stop gravitating towards shiny things and instead use a "boring" platform.
This was written in 2014, the researchers saw a small trend and extrapolated that the trend would continue, causing 80% user loss from 2014 to 2017.
Since 2014, FB's active user count has increased from 1 billion to 1.7 billion and the stock price from ~60 to 120.
This article is a great example of a very terrible and very wrong prediction.
So if you're talking about the "highly latency sensitive" players, then by definition those are only PC gamers, and only a small fraction of those players. The addressable market of gamers who tolerate 100+ ms of latency is very large, definitely large enough to build a business on top of.
Don't get me wrong, I love to see open source work, it is a plus and it definitely helps paint the picture of what the candidate is passionate about. But just having impressive open source work alone is not enough to make the technical interview unnecessary.
> and ace the technical interviews
If there's an IQ test after they ace the technical interviews, then that's a really weird order to do the interview, but I don't think that's the situation that the above comments were talking about.
Yeah, I'm withholding judgement on Luna specifically, until we can see it in action. Their model could be a good one, it all depends on whether they treat the text representation as a first class citizen or not.
Yes exactly. And if you look at the common methods for how knowledge is represented, in mathematics or any field really, it's very roughly around 80% knowledge as text and 20% graphs/diagrams/figures.
An image can be extremely helpful and illustrative if appropriate. But almost nowhere do you see people communicate primarily with images.
Text is king. I think if the programming environment doesn't embrace text as the primary input method, then it's not really good as a general-purpose environment; it'll only be successful in niches.
The Bitcoin model is good at incentivizing actors to play nicely. Banks have no need to create this incentive, it's already in their interest. The Bitcoin mining system also solves another problem: how to evenly distribute new money in a fair way. Banks have no need for that either.
If the weak references are safe (as in, their pointer is assigned to 0 when the target object is collected) then I think there can be performance issues (compared to the competition of a tracing GC).
If the weak references aren't safe, then you have a data structure that's more in the realm of manual memory management, so it's hard to draw a fair comparison with fully memory-managed objects.
The savings aren't just memory, it's probably a performance improvement too. Fewer allocations, fewer pointer indirections, and some operations (like equality checking) become O(1) instead of O(n) for these tiny strings.
OnLive had a pretty aggressive trove of patents, and when OL finally shut down, Sony bought their patents. So the company wasn't really acquired, it was just a fire sale.