Skip to content

Instantly share code, notes, and snippets.

@elichai
elichai / Q&A.md
Last active October 15, 2021 09:29
Rust Bitcoin core

Q: Pathway wise is this even possible to have a parallel Rust thing going at the same time?
A: Yes, Rust is a compiled non-gc languange just like C++, Rust can call easily call into C functions and easily expose a C API (Rust can also do this with C++ but less "easily").

Q: At the same time there are a lot of big companies making that same bet... I wish I had more examples than that but I don’t off the top of my head
A:

  1. Google is actively using Rust in multiple projects: Fuchsia[[0]] CrosVM(part of Chromium OS)[[1]], and probably more[[2]][[3]]
  2. Microsoft, it was already said but microsoft is using Rust in Windows[[4]], wasm related tools[[5]], and more[[6]] they also have people whose all job is making rust+windows experience better[[7]]
  3. Facebook is both experimenting with rust[[8]][[9]] and using it in production[[10]]
  4. Dropbox main sync engine is written in Rust[[11]].
@elichai
elichai / gist:19f23049108b4c66624c032c0e13facb
Created November 3, 2021 15:50
libsecp256k1 Context Discussion
[2021-10-13 02:26:15] <real_or_random> sipa gmaxwell andytoshi: it would be nice to hear your opinion on https://github.com/bitcoin-core/secp256k1/pull/988#issuecomment-938650194 ... also wrt rust-secp256k1 which I believe is the main user user of _context_no_precomp
[2021-10-13 17:45:02] <elichai2> Hmm I really want `secp256k1_context_no_precomp` to work for signing mostly for the ergonomics of rust-secp in a fully no-std mode
[2021-10-13 17:45:08] <elichai2> But I can see the arguments against it
[2021-10-13 17:45:42] <elichai2> at the very least the name should change, although that's a breaking change
[2021-10-13 17:45:44] — elichai2 sigh
[2021-10-13 17:58:42] <real_or_random> well, let's say that's an opportunity then to change the semantics ...
[2021-10-13 20:51:02] <gmaxwell> real_or_random: I don't really understand the question on the no-precomp. The change to static tables should make the functions that need the additional setup check for that, rather than the tables... so that they don't run whil