Viewing profile — alquemist
alquemist
HN member- Joined
- Wed, Jul 01, 2020, 7:23 PM UTC
- HN karma
- 244
- Public activity
- 108 items
- HN profile
- View on Hacker News ↗
About alquemist
No profile information was provided.
Recent public activity
- comment
-
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…
-
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…
- comment
-
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…
-
comment
Comment #25477186
That's a bit of apples and oranges. JS/WASM are runtimes executing hostile code, whereas Go apps are trusted code.
-
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…
-
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 …
-
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.
-
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…
-
comment
Comment #25415886
Agreed. Using mocks while testing vanilla in-process code is never justified.
-
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. …
-
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…
-
comment
Comment #25415453
Fake external storage / rpc dependencies.
-
comment
Comment #25415293
Don't mock. Test production code, maybe with faked storage.
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
comment
Comment #25390812
I used Scala2 professionally for a few years. Recently picked up Typescript, it has become a very usable Java++ language.
-
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 …
-
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…
-
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…