skysight-inc/HackerNews huggingface dataset:
It doesn't matter which thing you do here. Almost all of NT is like that, if there's a feature you're sure NT has that Linux doesn't have, or vice versa, usually either you're wrong or the relevant team is working frantically to correct this mistake.

fork()/clone() obliges you to track which things the child doesn't want from the parent, and have a way to override them

CreateProcess obliges you to track which things the child DOES want from the parent, and have a way to override them.

There's a convergent evolution at work, the same way bats and birds have both got wings without a common ancestor having wings, wings work, not quite the _same_ wings, but the idea works, so it's inevitable.

futex() and WaitOnAddress have the same funhouse mirror effect. They're doing the same exact thing (very, very cheap synchronisation primitive, with just barely enough features to be useful), the names and descriptions are really different, but if you use both you're like "Oh, these are basically the same, huh". Both names are equally useless, futex() is a clever name if you already know what it does, but until you do you've no idea what to look for. On the other hand WaitOnAddress doesn't actually er, wait on an address, that would be expensive, like futex waking it up when something changes is _your_ job as the programmer.
I see. It makes sense.

In this context then, what are your thoughts on minting tokens using Macaroons [0]? I ask because they seem to be of much lower complexity than JWTs since they just hash the data so no encryption algorithm negotiation or anything of the like, however they still meet your definition of minting a token.

Obviously it would depend on a case-by-case basis to prefer macaroons over say a random token or vice versa, but in general is chaining HMACS still considered "drastically more complicated"?

My uninformed opinion is that verifying a hash shouldn't be that bad but my security expertise is pretty much non-existent so it would be great to be schooled on this :)

[0] - https://research.google.com/pubs/pub41892.html
It's odd that the "LEARN MORE" isn't actually a link.
Wasn't Intel's transactional CPU Memory the solution, but it also failed to to bugs?

Sorry for quoting wikipedia, but I'm not at school, hah! [1]

''''
TSX provides two software interfaces for designating code regions for transactional execution. Hardware Lock Elision (HLE) is an instruction prefix-based interface designed to be backward compatible with processors without TSX support. Restricted Transactional Memory (RTM) is a new instruction set interface that provides greater flexibility for programmers.[13]

TSX enables optimistic execution of transactional code regions. The hardware monitors multiple threads for conflicting memory accesses, while aborting and rolling back transactions that cannot be successfully completed. Mechanisms are provided for software to detect and handle failed transactions.[13]

In other words, lock elision through transactional execution uses memory transactions as a fast path where possible, while the slow (fallback) path is still a normal lock.
''''

[1] https://en.wikipedia.org/wiki/Transactional_Synchronization_...
I think it's more the humans that aren't up to the task, or at least have not built enough conceptual infrastructure to make it feasible to program these things.

A moderate number of people can grasp the imperative "do this then that" model, which CPUs strive so hard to maintain the appearance of despite speculative and out-of-order execution. Fewer people are comfortable with "functional" style programming. Other paradigms are relegated to corners. Multithreaded programming is still a bit of a black art.

Graphics programming only manages parallelism because there's an implicit huge map of "do this to every pixel" around everything. The actual shader programming language .. is imperative, because that's what people understand.
May I just point out that Microsoft in ASP Net core is really pushing everyone to JWT (for web api / spa anyways).

I am just trying to build apps, I could care less what protocol is in use, as long as it protects the users. Over the last few days of research (including coming across this HN thread https://news.ycombinator.com/item?id=13865459 from a few months ago) I can't help but feel a) trapped into using JWT and b) that is probably the wrong thing to use and I am going to regret it.
https://meltdownattack.com/meltdown.pdf https://eprint.iacr.org/2013/448.pdf

TLDR: Userland process' read access to Ring 0 memory will throw an exception (n.b.: kernel mode memory is actually mapped into process' address space), but before that the instruction reading the memory is actually executed and data are cached. The process can use value of data as an address in userland for another read instruction. Now the process just needs to check range of possible addresses where the data was read from and see how long it takes (using rdtsc) to access them - if it's quick, then we have a match.

Is that correct, or am I missing something? e: write changed to 2nd read
There is nothing contentious to debate about. Additionally, there is no debate if you call for violence against minorities.
Did you ever use LAN functionalities in public Wifi (e.g. Starbucks)?
It's not necessarily "to buy stuff from Amazon" I thought the direction was more meta than that - isn't it "to monitor the activities of people like you so that those activities can be influenced by people who pay for the data and/or analysis".

That could be look at what $politicalPartyAffiliates in your area consider important enough to change allegiance, so that a party that's marginal can present themselves as good for $socialGrouping in order to sway the vote. It's not necessarily just about purchasing.

It also allows analysis of other aspects of life, like, say, people who search for drug paraphenalia -- or a step further away, music that's associated [by someone] with people who take drugs -- which festivals are they going to this Summer ...
But even then a performance hit remains due to the increased code size of the instruction sequence.
Everything can't be covered in a single blog post. As it is mentioned in the post, it will be a series of posts.
Thanks for your review. :)
GPU, TPU, DPU, etc are not general purpose compute: they are highly specialized for a certain tasks. Not familiar with Tilera, but it looks like up to 100 cores? That's not what I mean by massive either.

CM was massively parallel: 64,000 general purpose processors. I don't think we adequately explored its attributes. I bet we could make a decent emulation of a CM and its support tools now.
Smarkets is hiring!

MOBILE DEVELOPER, LONDON (ONSITE) - Job ad available here: https://smarkets.com/job/?id=69369

WEB DEVELOPER, LONDON (ONSITE) - Job ad available here: https://smarkets.com/job/?id=587396
I thought about building a hckrnews.com clone with this built in, and maybe a mobile app. It'd be nice to get sms/email/push notifications as an option, but not it all be a separate application altogether.
One big factor is growth potential.

US tech companies can scale into a ~$21 trillion economy between the US + Canada, with barely any adjustments for culture & language. From there they can then use their considerable footing to push into any number of other foreign markets and press the scale further.

Most software businesses benefit immensely from such scaling.

If you're a Scandinavian tech company, doing something like that is far, far more difficult. It caps the upside for most companies. That's not unique to Scandinavia of course, it's true about almost all other countries / areas, other than China. US & British cousin cultures have a slightly easier time as well in general, as they can often immediately tap right into the US as an early market. That's why eg Shopify was able to so quickly scale itself, despite the smaller size of Canada's economy, they're doing a monster business in the US. Tech companies that have pulled that off coming out of Scandinavia are still semi-rare, such as Mojang or Spotify (Mojang famously was able to use the global scaling to immensely reward its employees).
An Introduction to Geo Indexes and their performance characteristics
The other terrifying lesson of the Cuban Missile Crisis
Sure, if your subfield of astronomy was all about practical ways to adapt to living on meteor fragments!
What a tl;dr!

Please talk to management. Because I really see exactly two possibibilities:

- Intel never intends to fix anything

OR

- these workarounds should have a way to disable them.

Which of the two is it?
Isn't that exactly what made PS3 hard to develop for?
Very true. I'd be interested to know how this issue polls in the US, I haven't seen any data on that.
Intel: Don’t Anticipate Any Impact to Business
I think you're conflating the 'seal' and 'sign' use cases. I'm not sure how one could design a secure system where encrypted cookies could either be read by everyone (encrypted with private key) or forged by everyone (encrypted with public key), but using public keys to validate that an attestation was signed by a trusted third party is both sound and commonplace.

For example, this is how identity tokens from AWS Cognito are verified. They are RS256 JWTs signed with Cognito's private key, and any server can download Cognito's public key to validate that the tokens were issued by Cognito and haven't been subsequently altered (without having to make a network call to Cognito to request validation).
You could check out this comment thread, about what gets people excited :) https://www.reddit.com/r/rust/comments/7kjnu7/hey_rustaceans...
I can't figure out whether this means that OS-level mitigation of the problem doesn't prevent all avenues for exploitation. The headline implies it (and probably made it to the front page based on that implication) but TFA doesn't make it clear whether that's true.
Noam Chomsky – Best Speech in 2017
> mini VMs for every process using CPU ring protection

Yes. We should really start to learn from history, MULTICS operating system had already 16 CPU ring support back in the early 1970s. MULTICS is the mother of UNIX, its smaller child. MULTICS had so many advanced features that barely got implemented (often reinvented) in newer OS. It's time to read old docs and ask the old devs who are still alive. (Another such often overlooked gem is Plan9, but it's better known thanks to Go lang devs).

Older Intel CPUs only supported 2 rings. Modern Intel CPU supports only 4 rings. Windows and Linux use ring 0 for kernel mode and ring 3 for user mode. And Intel introduced a ring -1 for VT.

"To assist virtualization, VT and Pacifica insert a new
privilege level beneath Ring 0. Both add nine new machine
code instructions that only work at "Ring -1," intended to
be used by the hypervisor

It's time for modern operating systems to use more rings, and modern CPUs to correctly protect between different rings.

https://en.wikipedia.org/wiki/Multics

https://en.wikipedia.org/wiki/Protection_ring
Yes javascript is sufficient.

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!
Also, medium doesn't support latex. I could have resized the exported images properly but it was too much of a trouble doing that for every image.
Developers are busy with workarounds for serious bugs in Intel's Core 2 (2007)
Steve, what’s your recommendation for installing and managing Rust releases on macOS in 2018 in a manner that’s compatible with Homebrew? Last time I looked into this (early 2017) the recommendation was using rustup outside of Homebrew. Has this changed?
I built a order book data storage in Rust. It's kind of like redis but for order book data. I can't imagine writing such a complex piece of software in any other language in such a short time (2 months).

https://github.com/rickyhan/tectonicdb
This is horrible, really really horrible. And I'm not talking about the bug itself, but the mitigation --- which is basically "stop using indirect jump and call instructions and recompile all your software". The latter is beyond unrealistic.

It also sets a very bad precedent: I understand people want to mitigate/fix as much as possible, but this is basically giving an implicit message to the hardware designers: "it doesn't matter if our instructions are broken, regardless of how widespread in use they already are --- they'll just fix it in the software."
Well yes, what Sessions was accused of doing is systemic racism, which IMO is much worse than idiots throwing around pejoratives. Granted, the systemic racism is a lot better overall than it was. I mean lynching was legal, rape was legal, assault was legal and fighting back got your mobbed or worse.

Racism is the belief that a group of people are inferior to another group of people based solely on what they look like. I mean inferior as in inferior beings or sub-human, like a dog. Historically, US racism was particularly nasty. If you are interested, there is an iTunes podcast from Yale on Reconstruction (the whole war era really). The things you hear turn your stomach.

The WW2 propaganda about the Japanese as a dumb people is a good recent example. Of course the Japanese were very fierce and brutal fighters who would rather die than surrender. That's probably not going to get enlistment up though.
How does this affect the end-user security of the apps we use every day, like Gmail, Twitter, GitHub, Stripe, etc.?
> Or, another example is switch statements, which can compile down to jump tables.

Is the overhead of the retpoline such that it's no longer a benefit to compile switches to jump tables?
I'm sorry, but the incentive is right there: curing a person's blindness. Curing cancer. Curing HIV

So is that what you spend all your time on? If not, why not?
From the Spectre paper: Chrome reduced resolution of performance.now(), so they set up a webworker with a tight loop that increments a shared variable.
On Cloud9: Lambda Development in AWS’s Cloud-Based IDE
Not good enough. The person who got killed was not one of the people involved in the game. The guy who was the target to be swatted gave a false address to the person calling him out. Not playing the FPS would not protect you in this case.

That's what makes this so much worse - the guy who got killed never knew why the cops were there, which is presumably why he was confused and made the mistake that killed him. He died because he was innocent.
> It's almost as bad as if someone proved P = NP, rendering all cryptography useless on the spot.

No, P=NP does not immediately break crypto, because that relation makes no statement w.r.t. if those algorithms in P solving problems we thought were NP are easy to find. Or efficient. Just because the problem your adversary has to break is part of P doesn't make it easy.
I don't think this is enough. I think this just mitigates the ability to use high precision to determine cache misses on array accesses. The leaked data is still there and the paper says it's one of 64 possibilities. Enabling site isolation helps since it's only process memory. Someone correct me if I misunderstand.

EDIT: Also, just confirmed via https://jsfiddle.net/5n6poqjd/ that only FF has SharedArrayBuffer disabled. Chrome isn't going to release 64 which has SharedArrayBuffer disabled for a couple of weeks.
Yes it is. It redirects to the Knowledge Base. Check your adblockers.

edit: huh that's weird that so many people are getting an error, it works for me across two browsers on both Linux and Windows
"As I[1] said before, hiding in this list are 20-30 bugs that cannot be worked around by operating systems, and will be potentially exploitable. I would bet a lot of money that at least 2-3 of them are."

...

"At this time[2], I cannot recommend purchase of any machines based on the Intel Core 2 until these issues are dealt with (which I suspect will take more than a year). Intel must be come more transparent."

[1] Theo

[2] 2007
Would a microcode update be possible to fix this? I assume not and that it's fundamental to the speculative execution architecture, but haven't yet seen anything that explicitly addresses the question. Presumably if it is possible then it would reduce any longer term financial consequences for Intel of the problem.
Safely dispose of them. Neither would be safe to consume, but would help clean up the environment a great deal. The (not-thoroughly considered) business model would be to restore land enough to make it usable again for crops or livestock. This might be more difficult to do for heavy metals than petroleum.
It was, but the South had seceded, so they considered themselves a separate country with a separate (albeit hastily constructed) government, so executive orders don't apply to other countries. The legality of secession wasn't even decided until after the war, so it was a bunch of murky legal territory.
I found an exploit about meltdown and spectre. very expensive. who buys it
http://www.imgup.ru/images2/2ap3x1813955.png
is it worth giving $8900
Why don't GPUs have branch predictors?
I'm far from an expert in this field, but I just read the Wikipedia article on it and it says Spectre affects pretty much every processor since 1995.
This is a known problem. You should ping your account team for more information on upcoming development.

Your account team can also advise you on what zones you should deploy preemptives in. Googlers internally can see current preemptive capacity and preemption rates on a per zone level. In certain zones you're more likely to have preemption due to large customer demand.
My guess would be that fake articles use different words and structure than real reporting based on facts.

It's entirely possible that an AI could pick up on even subtle differences.
Meltdown and Spectre ON DARKWEB
I found an exploit about meltdown and spectre. very expensive. who buys it
http://www.imgup.ru/images2/2ap3x1813955.png
is it worth giving $8900
Just curious... like what?
Not a bug according to Intel.
Thanks for pointing that out. I've escalated internally to have the video restored.

Edit: the video has been restored.
Yes, but the distinction between "must enumerate things to child" and "child inherits everything" isn't symmetrical. I believe that it's better for security and reliability if the list is made explicit, but evidently not everyone agrees.
I feel like user-facing server-side scripting languages should be investigated whether they incur the same risk as running JavaScript in a browser (which is big and complicated). I'm thinking about stuff like Sievescript and IFTTT-like applications.
It might be about blacklisting older versions, so users can only install the newest version like on iOS.
You cannot infer that the type of structure supporting the visible surface is a house, or part of one.
Real-world Git – a course for coders to learn the most important Git commands
Note: "May it be a wise idea ... ?" is an open question, meant to start a discussion. No need for down-voting, just answer or ignore it. :-)
I know I trust Apple[1] and all that but I (tin-foil hats on) don't like the system on a system stuff going on. I don't like closed systems that I have no oversight into, into what they might be logging, etc. The industry will likely follow Apple here and it's not too much of an issue given how low volume that iMac Pro is going to be but this could trickle down into macbooks and that'd be sketchy. I should just go hide in my bunker and build linux from scratch on a fully GNU open laptop -- alas that's not practical.

[1] more so than Google because Google uses my data and habits to sell me ads and sell that data to their customers, Apple wants to sell me gadgets and songs and movies, if that changes I'll drop Apple
I'm building a realtime path tracer using http://vulkano.rs/

It's the best Vulkan library I've seen so far (Though the C++ one is pretty good as well). It will preprocess your shaders and generate rust structs that are guarenteed to be the same alignment as the structs in your shaders, which is very nice. They also use a future-based API (a la tokio) such that I don't have to deal with fences and semaphores and whatnot myself. The future simply resolves as soon as the GPU is done doing work. It's an amazing abstraction, and really makes you think of your GPU as an asynchronous machine, instead of the openGL hacks that try to hide that from you.
Very often opioids are the only adequate treatment for pain; what else would you suggest?
It can mostly be fixed by making sure aborted speculative execution has no side effects.

I think this is doable by adding a buffer to store cache entries evicted by speculative execution, so they can be put back, and a log of new cache entries, so they can be removed

Also, the abort process itself needs to take a constant amount of time out of the critical path to avoid leaking info via timing (the timing then only depends on how fast the CPU determines it speculated wrong, but that doesn't depend on the speculated code).

EDIT: Hyperthreading also needs to be handled somehow, which other than disabling it might require adding a per-thread "L0" cache and using that exclusively for speculatively executed code.

There is still the problem of theoretical plain timing attacks on normally executed code though, but that's unrelated.

Making sure that the indirect branch predictor only makes predictions when the source address fully matches would be nice as well (although theoretically not required if there are no side effects).
Every system does. They're not called "death panels" but that's the function.

There's a reason why a 97 year old with terminal cancer isn't going to receive a liver transplant ahead of a 12 year old with no other health issues.

Under the ACA, we have the "Independent Payment Advisory Board". They decide which treatments will and won't be covered.

Private insurance has the equivalent. Most insurance companies don't cover "Experimental" treatments.

I'm unfamiliar with the details of the systems in Europe but they all have to have a body with a similar function. No system could survive with a policy of paying all of the money you want for every treatment you can find.
Ehh, I don't really think that's a good comparison. Pure Data is a visual programming environment/toolkit that gives you a set of low level building blocks from which you can build whatever you want. You can extend it by taking advantage of open source libraries that other people have made, or even code your own in C.

VCVrack is open source, but as an end user you're not dealing with the low-level stuff out in the open the same way you would in PD. It's a completed object rather than a set of legos.

Having said that, You're right about the GUI. The PD GUI is... primitive, to say the least.
You've still given away commercially useful information though that Amazon can trade - for example, the companies you're using for your lights and any other automation hardware. If that's associated with your Amazon account then companies can track you through the payment details and use that to target you with advertising in that podcast you paid for, or in the advert in your coffee company email you get when they wish you Happy New Year, or whatever.

That targetted selling may have no direct effect through the Echo itself, but the potential is there to increase the influence on you in other channels.

There may be other info, we have 3 kids who use our FireTV: I'd imagine they can estimate the child's age & sex and give targetted advertising in emails/web pages to companies selling toys for those ages. Based on the apps (whatever they call them, skills?), they can probably target that much better.