Live data from Hacker News

Viewing profile — ryanpetrich

ryanpetrich

HN member
Joined
Fri, Aug 07, 2009, 5:48 AM UTC
HN karma
972
Public activity
416 items

About ryanpetrich

No profile information was provided.

Recent public activity

  1. comment
    Comment #46071831

    Should throw expressions ( https://github.com/tc39/proposal-throw-expressions ) ever make it into the JavaScript standard, the example could be simplified to: const env_var = proce…

  2. comment
    Comment #42841564

    aligned_alloc is a C function. It doesn't help the compiler prove that two pointers can't alias. restrict is the keyword that does.

  3. comment
    Comment #42360600

    This is to suppress a compiler warning that the k_sz argument is unused.

  4. comment
    Comment #42347144

    The bigger problem is mutability. Any pointers into the bit-packed enum storage become invalid as soon as you change its type. To solve this you can either prohibit pointers into b…

  5. comment
    Comment #40303134

    Memory barriers don't force a flush of all CPU cache. They will enforce the ordering of memory operations issued before and after the barrier instruction, preserving the contents o…

  6. comment
    Comment #38927263

    Yes, that's right. You need to update the entire OS for a minor security fix to iMessage.

  7. comment
    Comment #37745028

    Thanks for writing this. It takes a deep understanding to explain such complicated concepts in an accessible way. Reading it brought back fond memories of hacking on jailbreak proj…

  8. comment
    Comment #35173339

    Go's internal linker is much faster than the system linker thanks to some go-specific optimizations. Go must fall back to the system linker whenever CGO is used.

  9. comment
    Comment #30745740

    If best effort is good enough and your use case doesn't require robustness, reading out of host /proc certainly works. Tracking execs with hooks in the kernel's internal exec mecha…

  10. comment
    Comment #30728096

    It's not robust at all. Programs can and will exit before the userspace daemon is able to read from /proc. Malicious programs can even attribute their network activity to any progr…

  11. comment
    Comment #28951401

    This is what ETags are for. Upon a user's first visit the server should return an ETag uniquely representing the current version of the page. The browser will cache both the page a…

  12. comment
    Comment #28889972

    A benefit of storing the reference count in the high bits is that overflows will never corrupt the flag bits and can be detected using the processor's flags instead of requiring a …

  13. story
  14. comment
  15. comment
    Comment #23607362

    Apple's recent aarch64 implementations don't support any of the 32 bit ARM instruction sets, and aarch64 is a significant departure from armv7

  16. comment
    Comment #23369663

    It's pluggable in that large parts of it can be replaced or disabled at compile time. Runtime reconfiguration isn't well supported.

  17. comment
    Comment #22798508

    Another option: git log --all --author=`git config user.email` --oneline --decorate

  18. comment
    Comment #22091537

    Crystal is not Ruby, nor is it anywhere near as fast as C.

  19. comment
    Comment #21861261

    BPF programs can be attached to uprobes and thus much of the same tooling applies to userspace as well.

  20. comment
    Comment #20659491

    Being further away from killers that I'm equally likely to be victims of isn't any more comforting.

  21. comment
    Comment #20312884

    It’s also dangerous in JavaScript where properties of the Object prototype can mistakenly be dereferenced instead of the default/fallthrough case.

  22. comment
    Comment #20229099

    There's also the matter of someone forcibly pulling a machine's power cord. In some sense exit cleanups are fundamentally unreliable.

  23. comment
    Comment #19919861

    That's likely due to amp-font, which will wait a certain amount of time for custom fonts to load before continuing with a fallback browser font (see: https://amp.dev/documentation/…

  24. comment
    Comment #19682535

    Cassandra’s sets, lists and maps are already CRDTs

  25. comment
    Comment #19478050

    The code to run in the worker is passed as a string or a path, so no data can be captured. Data can be sent to the worker by posting messages, but the data is never shared—only cop…