Live data from Hacker News

Viewing profile — alquemist

alquemist

HN member
Joined
Wed, Jul 01, 2020, 7:23 PM UTC
HN karma
244
Public activity
108 items

About alquemist

No profile information was provided.

Recent public activity

  1. comment
  2. comment
    Comment #25482737

    Rarely. Over a long enough time period though, the probability of a portability event nears 1, and the cost of such event is enormous. Right now there is a credible challenge for t…

  3. comment
    Comment #25480252

    I am not following WASM closely, but it appears to be deployed in all modern browsers: Chrome, Firefox, Safari, Edge. That counts as 'large scale production deployment', even if th…

  4. comment
  5. comment
    Comment #25477225

    In a WASM + seccomp implementation, the whole WASM runtime runs inside seccomp. Breaking out of WASM leaves one running arbitrary asm inside seccomp, which has exactly the same att…

  6. comment
    Comment #25477186

    That's a bit of apples and oranges. JS/WASM are runtimes executing hostile code, whereas Go apps are trusted code.

  7. comment
    Comment #25477123

    Assuming that Intel / ARM microarch implementations are bug free, that is correct. In the real world there are no bug free implementations. Edit. This is the strategy Chrome sandbo…

  8. comment
    Comment #25477062

    * Predictable performance. * A wide ecosystem of mature language toolchains. * Simplicity: JS implementation contain sophisticated JITs, which are harder to prove correct compared …

  9. comment
    Comment #25477053

    It's not an either/or. Most likely Shopify runs WASM inside an seccomp enclosure. Possibly inside a VM as well. Defense in depth.

  10. comment
    Comment #25426017

    Mock: Adhoc guessing of what methods called on a dependency, but sometimes even between classes in the same module, might return. Guess repeated over and over as new tests are adde…

  11. comment
    Comment #25415886

    Agreed. Using mocks while testing vanilla in-process code is never justified.

  12. comment
    Comment #25415716

    Fakes are not mocks. The fake is just another module. Assuming no updates, it is written once. Mocks are written 47 times, inconsistently, while focusing primarily on other tasks. …

  13. comment
    Comment #25415480

    Fake, don't mock. Write, or ask the team that provide the external dependency to write, a small piece of code that behaves like your external dependency, but in-process. You'll tha…

  14. comment
    Comment #25415453

    Fake external storage / rpc dependencies.

  15. comment
    Comment #25415293

    Don't mock. Test production code, maybe with faked storage.

  16. comment
    Comment #25412037

    "In the beginning was the word". Language shapes reality. As software engineers, the second we accept that 'product owner' is a legitimate title, that second we lost agency to push…

  17. comment
    Comment #25411960

    https://leanprover.github.io While it is difficult to design a secure procurement chain all the way to the SiO2, we could at least design simple enough hw/sw systems for which form…

  18. comment
    Comment #25406845

    Can not resist. The tension between 'basic feature set' and an admittedly superficial reading of the docs is very funny. The manifesto links to https://github.com/commercialhaskell…

  19. comment
    Comment #25394582

    99% of the time a loop works just fine, because there are no measurable gains to be had from parallelism. For the 1% where performance matters, it's usually a bit more involved tha…

  20. comment
    Comment #25391195

    'FP' covers 2 meanings: A. Pure functions + immutable data structures. B. Expressive type systems, all the way to compile-time metaprogramming and dependently typed proofs. Writing…

  21. comment
    Comment #25390993

    Haha, I'm the wrong person to ask. I was fortunate enough to be in a hands on senior role, and I promoted a very light Java++ style, to be learned in a 2 hours seminar: immutable c…

  22. comment
    Comment #25390812

    I used Scala2 professionally for a few years. Recently picked up Typescript, it has become a very usable Java++ language.

  23. comment
    Comment #25272041

    RAII can be decoupled from ctor/dtor mechanism, see Python's 'with' statement. Javaish pseudocode, similar to a 'for' loop: // on exit the finally fn will be called with 'x' as an …

  24. comment
    Comment #25265005

    Thanks. Then the 'bad' code should look something like: // bad NotifyIcon CreateNotifyIcon() { NotifyIcon icon = new NotifyIcon(); icon.Text = "Blah blah blah"; system.Display(icon…

  25. comment
    Comment #25262744

    I have to agree with the author. It is extraordinarily difficult to see the difference between bad exception-based code and not-bad exception-based code. In particular, the example…