HNHacker News
TopNewBestAskShowJobs

_nhynes

1,156 karma · joined April 12, 2019

nick@rdifoundation.io
submissionscomments
_nhynes··on When Bloom filters don't bloom
Another potentially useful data structure that has good asymptotic complexity, but probably also poor cache locality is the Van Emde Boas tree [0]. I've never seen one in practice, but they sure make for excellent p-set problems!

[0] https://en.wikipedia.org/wiki/Van_Emde_Boas_tree

_nhynes··on Securing Memory at EPYC Scale
If each resident VM is a(n attested) hardware enclave with its own memory encryption key (stored in a software-inaccessible register), a privilege escalation attack from one VM would not be able to yield the contents of the other VMs. The best an adversary could do is deny service to the other VMs, but that's always allowed by the threat model.
_nhynes··on Drinking 1% rather than 2% milk accounts for 4.5 years of less aging in adults
past discussion: https://news.ycombinator.com/item?id=22056173
_nhynes··on Plundervolt: Corrupt the integrity of Intel SGX by controling the voltage
previous discussion: https://news.ycombinator.com/item?id=21759683
_nhynes··on NUVIA: New Server CPU Startup Going After Intel and AMD
Wasm itself doesn’t have any environment functions that would allow things like managing page tables or networking. I think that what you might see is a RISC-V JIT with a ring-0 Wasm runtime compiled to native. Kind of like https://github.com/nebulet/nebulet, probably
_nhynes··on Facebook Libra Is Architecturally Unsound
It sounds like what you're describing is passing a capability to withdraw balance (which is implicitly captured in an erc20's internal state via `approve` [0]). Of course, cap handling is probably a bit unwieldy for a snippet in a whitepaper, so they're likely making the assumption of "don't call untrusted code." I don't see a construction for sender delegation, so at least it reduces the TCB to the immediate callee.

[0] https://eips.ethereum.org/EIPS/eip-20

_nhynes··on Chisel/FIRRTL Hardware Compiler Framework
I used Chisel to make a relatively simple memory encryption engine AXI component for FPGA. In my experience, the typedness and composability of Modules makes it significantly more productive than directly writing Verilog. There's an escape hatch, too: interfacing with vendored IP and hard macros is straightforwrd using `BlackBox` (DI is useful for mocking these in tests). My only wish is that Scala properly supported macros.

One of my favorite components of the ecosystem is https://github.com/ucb-bar/chisel-testers2, which replaces the peekpoke tester and makes it easier to test asynchronous IO.

_nhynes··on RISC V: A new blueprint for microprocessors challenges the industry’s giants
For sure! I'm really looking forward to seeing production runs of https://keystone-enclave.org/.
_nhynes··on What can a software developer do about climate change?
If you're into machine learning you might consider projects like improving crop yields from historical data and tracking deforestation using satellite imagery. Microsoft has a whole "AI for Earth Initiative", too [0], if you're looking for ideas.

[0] https://www.microsoft.com/en-us/ai/ai-for-earth

_nhynes··on Kuma, a new universal service mesh
Yet Another YASM. YAY!
_nhynes··on Tesla battery researcher unveils new cell that could last 1M miles
> becoming too Aspergers

Why did you think it necessary to gauge GP's comment on a scale measuring how likely it could have come from someone with what is considered a mental disorder?

You could have easily omitted that phrase and the post would have conveyed the same meaning.

Here, you’ve either a) derided the non-malicious, involuntary behavior of a group of people, or b) tactlessly called out GP for being a member of this group. There’s nothing good that could have come from that. Please try to have more empathy in the future.

_nhynes··on Human speech may have a universal transmission rate: 39 bits per second
The increased information density in tonal language appears to be offset by a reduced speaking rate [0].

[0] http://ohll.ish-lyon.cnrs.fr/fulltext/pellegrino/Pellegrino_...

_nhynes··on Putting an end to Retadup: A malicious worm that infected hundreds of thousands
It depends on how the server was hosted. If it was on a cloud, the provider could have suspended the vm and slurped the encryption key directly from memory.

Bare metal would have been a bit harder, but still possible by probing the memory bus.

One could counter this by storing the disk encryption key in a hardware enclave (e.g., SGX).

_nhynes··on Putting an end to Retadup: A malicious worm that infected hundreds of thousands
> benign

For the computers running on renewable power (Costa Rica, maybe?), it would truly be benign and not just stealthy. Long live green PoW!

_nhynes··on Thoughts on Rust bloat
Yes! Even using the local server on your own machine. It’s not as good as incremental, but it really does help when working with multiple projects that use the same deps in the same ways.

NB: it works a bit better on not-Mac because staticlibs are deterministic.

_nhynes··on How to clean your Apple Card
All the more reason to use the cardless apple pay then, eh? Hmm..
_nhynes··on Thoughts on Rust bloat
Have you tried sccache [0]? It doesn’t always choose to cache a dependency, but it helps about 70% of the time. Anecdotally, it hastened a release build of a pretty standard CLI tool (with incremental compilation) by almost 4x.

In the context of resource-constrained machines, one can always host it remotely on S3. (or mount an NFS share as the CARGO_TARGET_DIR, if you’re feeling adventurous or want fast CI)

[0] https://github.com/mozilla/sccache

_nhynes··on Thoughts on Rust bloat
When compiling to Wasm (esp. in the context of blockchain), small bytecodes are less costly than fast but short-lived programs.

However, in terms of maintainability, I’m happy to foist a few extra kB of bytecode on developers to produce an idiomatic (i.e. serde-using) library.

_nhynes··on Scala Native
> What place does Scala now have in the world?

serious answer: chisel3

other serious answer (at least to me): the ability to write incredibly terse code. For instance Rust, as great as it is, doesn’t have partial application.

    iter.map(|x, y| f(x.as_ref(), y))?
is so much less satisfying than

    iter.map(f(_, _))
I’m pretty sure you could recover that behavior using a compiler plugin, though.

Also, don’t get me started on implicit conversions... I’m an avid golfer.

Other than not having (usable) macros, the language itself has very nice amenities. SBT was like an early Cargo, even.

_nhynes··on Résumés Are Starting to Look Like Instagram, and Sometimes Even Tinder
In the examples the article presents, it looks like the pendulum has swung from “dry” to “overdone” (c.f. 80s era web”). That being said, it’s a net positive that richer media are now emerging as options. It’s like research papers: from plain text to hyperref urls to full on promotional webpages (I’m looking at you Google AI).

Some might say that constraints force a pithy communication, but I’ll take a tasteful GIF over a static diagram or dense prose any day.

_nhynes··on Google Employee Writes Memo About ‘The Burden of Being Black at Google’
Sorry I didn’t mean to phrase it as directed at you. It was supposed to be a general statement with context. I suppose I could also do to watch my own language :)
_nhynes··on Rental firm walks away from Tesla order after quality dispute
Not least of which software...
_nhynes··on Google Employee Writes Memo About ‘The Burden of Being Black at Google’
> none of the available counselors were African American

Respectfully, are you sure you didn’t mean “Black?” “African American” doesn’t accurately capture e.g., Caribbean and Latin American identities.

_nhynes··on MesaPy: A Memory-Safe Python Implementation based on PyPy (2018)
I gave this a spin a while back but, unfortunately didn’t get very far since the software and dependencies have grown long in the byte. Since then, I’ve found RustPython [0] which is progressing toward feature parity with CPython but entirely written in Rust (!). A side benefit is that it compiles to Web Assembly, so if you could sandbox it without too much extra overhead.

[0] https://github.com/RustPython/RustPython

_nhynes··on Andy Rachleff on 35 years in Silicon Valley, Wealthfront and telling stories
dumb question: what is a "'silver bullet'" in this context?
_nhynes··on The Banana Trick and Other Acts of Self-Checkout Thievery (2018)
My guess is that expected payout would be too low to keep opportunistic shoplifters from doing their thing since most self-checkouters who aren't stealing would also get the discount. Otherwise this is a great idea.
_nhynes··on Meal timing strategies appear to lower appetite, improve fat burning
And how sluggish you feel, too. Digesting really takes a lot of energy!
_nhynes··on Browsers are pretty good at loading pages
And the rustdoc for Iterator [0] (everything else is great, though).

[0] https://doc.rust-lang.org/std/iter/trait.Iterator.html

_nhynes··on Rust Solved Dependency Hell
Nah. The Rust compiler's warnings are wonderful, as ever: https://github.com/rust-lang/rust/blob/master/src/librustc/i...
_nhynes··on Rust Solved Dependency Hell
Basically. Cargo is so good that the only things I could possibly wish for are specifying binary dependencies and easier use of Cargo as a library (and maybe a more robust `patch` section, but there's always `paths` in .cargo/config).
← PreviousPage 4 of 5Next →