1,013 karma · joined June 15, 2013
https://youtu.be/7kVeCqQCxlk?t=1039
Watch on for the 'crazy response design' part.
I am still amazed.
I.e. basically something like this but for text?
Particularly he had a lot of experience with the rogues which heavily inspired the original Diablo. Because of this he was initially opposed to making the game real-time as opposed to the traditional turn based, enemies only move when you do rogue style.
However as he tells the story he programmed real time movement in a few hours on a Friday night just to see what it would be like. When he tried it out for the first time and clicked the mouse; almost magically the warrior walked over and smashed a skeleton into a pile of bones.
He was convinced right then that real-time was the right choice.
That moment may have been the birth of the ARPG genre.
For example I really don’t find their designs to be particularly no-nonsense.
I would actually prefer a more no-nonsense, absolutely minimally styled html. Like under 10 lines of css.
Because I really like contrast, really really don’t care for a position sticky element right where my eyes naturally scan on mobile obscuring stuff, am fine with Open Sans, don’t need the extra page load time spent on who knows what. If there is a dial between form and function I would like to jam that dial to 100% function. Other people with vision issues really need large text formatted as white in black. Others still much prefer the aethestics of font other than Open Sans.
It would be nice if somehow we could define precisely how we wanted our reading material formatted across all our devices and across all the varied ways we receive textual information. (Eg it would work with kindle, or in the growing number of electron apps, as well as in all the other software we use).
And then sites just had to provide a minimal use of semantic html elements to make it work.
So while medium does cleanup the box of chocolates mess of going to random blogs it turns all those chocolates into the one with the same minty flavor and some folks really don’t care for mint chocolates.
So when they see a random blog post to them it’s a box of chocolates where they have a shot of winning, with medium it guaranteed to be something they don’t care for.
Case in point I read another recent post don Stevie’s in my rss reader and that was pretty nice. Not sure if that will still be option (or for how long) now that he’s moving to medium.
Ie removing the leading zero breaks some sorting (Eg .mp3 files on an album where you know the number of tracks and hence how many leading 0s you need)
I use typescript quite a bit and am starting to hit some patterns that could be abstracted nicely if metaprogramming tools were in the shed.
If you are already using babel for example, you can have it compile Typescript (basically strip away all the type annotations). At that point typescript is like an optional set of javascript features.
Also the typescript compiler is very flexible, in terms of what it enforces. You can vary it from being really lax to pretty strict.
You can use babel to do the transpilation, then have the typescript compiler run off to the side doing typechecks / providing your editor with code completion.
I think it's impressive† that you got nesting to work, I'm really curious how you pulled that off for longs and doubles without incurring extra overhead.
† Though, given the magic you worked in getting Union types working in the ScalaJS facades I shouldn't be surprised.
Not sure which of these kotlin has if any
1. declaring that a type isn’t null with ! appended.
2. Suppression annotations beatable at the file / class / function / line levels to disable the check
3. Facades / Decorators that can be added by anyone that tell the compiler retrofitted additional typing information on existing libraries (the defintely typed / typescript approach)
I find it has a few nice advantages.
1. It doesn’t introduce another language with different syntax that I have to mentally flip between. Remembering stuff like surrounding variables with curlies and using = instead of : etc.
2. nesting thing also is much easier
3. It’s more concise (when createElement is aliased to h)
4. Most importantly it keeps me in the flow.
5. It’s just another function call so additional features can be added. For example I made a version using X instead of h that will parse the tag for “#id.class1.class2” tokens and add them to the props as appropriate saving a pretty decent amount of space. This is very similar to emmet so it’s nothing out of the ordinary.
6 I think HTML looks like garbage when the number of attributes overflows the line length. Js formats much nicer, it’s basically one token per line when it gets that long with indenting like the rest of the file.
7. Pulling logic out of the render call doesn’t require a as much of a code transformation.
The biggest downside by far is that I seem to be the only one that prefers this style from looking over lots and lots of tract libraries.
Until then (and that will probably take a while obviously) it's probably going to be a cat and mouse game. I would expect a lot of patching. Future discoveries probably won't have the luxury of a 6 month coordinate / fixing window.
On top of that this is drawing a lot of attention to a particular area which will likely have a snowball effect as more and more exploits are found more and more will search for them.
Finally, If the mitigation strategy is 'don't let a javascript application be able to accurately know how much time something takes' and for 25 years that has not been a serious fundamental design consideration (quite the opposite to the point that a super accurate one was given freely in the form of `performance.now`). It seems like this is one big messy ball of yarn to untangle.
Summarizing:
...
Goethem et al. exploited more accurate in-browser timing to obtain information even from within other websites, such as contact lists or previous inputs.
...
Oren et al. recently demonstrated that cache side-channel attacks can also be performed in browsers. Their attack uses the performance.now method to obtain a timestamp whose resolution is in the range of nanoseconds. It allows spying on user activities but also building a covert channel with a process running on the system. Gruss et al. and Bosman et al. demonstrated Rowhammer attacks in JavaScript, leveraging the same timing interface. In response, the WC and browser vendors have changed the performance.now method to a resolution of 5 µs. The timestamps in the Tor browser are even more coarse-grained, at 100 ms .
In both cases, this successfully stops side-channel attacks by withholding necessary information from an adversary. In this paper, we demonstrate that reducing the resolution of timing information or even removing these interfaces is completely insucient as an attack mitigation.
...
Our key contributions are:
– We performed a comprehensive evaluation of known and new mechanisms to obtain timestamps. We compared methods on the major browsers on Windows, Linux and Mac OS X, as well as on Tor browser.
– Our new timing methods increase the resolution of ocial methods by 3 to 4 orders of magnitude on all browsers, and by 8 (!!) orders of magnitude on Tor browser. Our evaluation therefore shows that reducing the resolution of timer interfaces does not mitigate any attack.
– We demonstrate the first DRAM-based side channel in JavaScript to exfiltrate data from a highly restricted execution environment inside a VM with no network interfaces.
– Our results underline that quick-fix mitigations are dangerous, as they can establish a false sense of security.
Maybe it's possible that so many people are signing up for Coinbase right now that it's flooding out the fraud?
"In the comments section of the Antonoupolos’s talk, reddit user @cfromknecht explains that there are flaws to the Elliptic Curve Digital Signature Algorithm (ECDSA), and it is very possible that quantum computers will be able to work faster than the transactions, therefore beating the encryption. “Whenever you spend bitcoins, you must include a signature that approves the spend, which is done using ECDSA” they explain, “If these signatures can be broken faster than transactions can be confirmed, an attacker could sign a different transaction that spends your coins before the original transaction is ever accepted.”
Wait, doesn't that just spray their sensitive information over more and more machines that may or may not be sufficiently wiped before it's reassigned to someone else? Or increase the chance they encounter someone running one of these exploits panning for digital gold in the other users RAM?
And also in addition to a stdlib, maybe a great package management system. Is there a popular crate / maven / npm etc equivalent out there for wasm yet?
It actually was totally fine and surprisingly snappy. I’d suggest giving it a shot.
I don’t know how to revert the jvm can’t be used for command line tools because of slow startup times zeitgeist but I don’t think it’s accurate anymore.
At these scales moving that much money around is not as simple as subtracting a number from one set of ledgers and putting it into another.