HNHacker News
TopNewBestAskShowJobs

gavinuhma

160 karma · joined November 24, 2011

Co-Founder/CTO @capeprivacy: Serverless Confidential Computing. Co-Founded GoInstant (acquired by Salesforce)
submissionscomments
gavinuhma··on Show HN: Checksum.sh verify every install script
Solid! I couldn’t figure this out which I why I stopped using “—-check”. I’ll take a look
gavinuhma··on Show HN: Checksum.sh verify every install script
Got it. Thanks.

Re --check, I suppose the way to do that would be to download the file to disk, which --check requires as fair as I can tell. So I could download the file to disk, --check, and then remove it. I think most of these installs scripts are trying not to leave any artifacts around from install, other than the resulting binary.

gavinuhma··on Show HN: Checksum.sh verify every install script
It's really interesting. There should be a massive ledger of checksums for software
gavinuhma··on Show HN: Checksum.sh verify every install script
Like this? https://github.com/gavinuhma/checksum.sh/pull/2
gavinuhma··on Show HN: Checksum.sh verify every install script
This is awesome. Thank you! I've been through so many iterations but it's been fun to improve
gavinuhma··on Show HN: Checksum.sh verify every install script
Great point on alias, thanks. I think that was a relic of an older iteration.

I'll work through these suggestions. Appreciate it. Feel free to send a PR if you want.

For the here string I think that won't work because the file isn't being saved locally, it's just being piped (so $2 is a URL). I can't do the usual `shasum -c <<< "132e320edb0027470bfd836af8dadf174e4fee00 install.sh" which takes a local filename but not the file content. As far as I could tell anyway. I'll try it some more

gavinuhma··on Show HN: Checksum.sh verify every install script
Definitely. Important to note. There is a long long supply chain
gavinuhma··on Show HN: Checksum.sh verify every install script
Haha thanks! Honestly when I saw the domain was available it motivated me to finish the project and share it
gavinuhma··on Show HN: Cape: Serverless Confidential Computing
We're working with NCC on that. Thank you for commenting. It's good validation that the audit report is important
gavinuhma··on PySyft-Tensorflow
The project is on github here: https://github.com/OpenMined/PySyft-TensorFlow
gavinuhma··on TensorFlow Federated: Machine Learning on Decentralized Data
100!

This recent paper from Google combines FL with secure multi-party computation for “secure aggregation” to prevent the aggregate server from even seeing the gradients https://export.arxiv.org/abs/1902.01046

gavinuhma··on TensorFlow Federated: Machine Learning on Decentralized Data
“TensorFlow Federated (TFF) is an open-source framework for machine learning and other computations on decentralized data. TFF has been developed to facilitate open research and experimentation with Federated Learning (FL), an approach to machine learning where a shared global model is trained across many participating clients that keep their training data locally. For example, FL has been used to train prediction models for mobile keyboards without uploading sensitive typing data to servers.“

From https://www.tensorflow.org/federated

This is a very exiciting project that compliments other privacy-preserving machine learning techniques (PPML) in TensorFlow:

- Differential Privacy: https://github.com/tensorflow/privacy

- Secure Multi-Party Computation: https://github.com/mortendahl/tf-encrypted

- Confidential Computing (Trusted Execution Environments, Asylo, Intel SGX): https://github.com/dropoutlabs/tf-trusted

gavinuhma··on Show HN: GoInstant - A full dev stack for building real-time collaborative apps
TLDR; Firebase, Parse, GoInstant, and other BaaS have similarities. There is overlap in the problems they can solve, but specific strengths to each. GoInstant is specifically focused on Multiplayer Apps.

Firebase and Parse are both awesome products. They are really useful as application backends. GoInstant is focused completely on multi-user, real-time data. It compliments your backend, rather than replacing it. All of the decisions and concepts in our API are there to make it really easy to manage collaboration between users. It’s completely focused on the idea that you’re developing for a multi-user use case, either sync or async collaboration.

So, everything that happens with GoInstant involves other users. If you set data in our key/value store or send a message, other users are listening to that. Everything is wrapped in a pub/sub msg queue. When you connect or disconnect, other users know. Of course, you want to decide which users will know, so we organize groups of users into "rooms". We've built it from the ground-up with enterprise grade security, so auth, access control, and encryption are all rock solid.

As a quick example: if you were building a shopping cart, you would store the products in a backend somewhere (maybe Firebase, Parse, or a relational database). If you wanted to make that shopping cart multiplayer, i.e: multiple users shopping, adding products to the cart, and checking out together, you would use GoInstant for that. It's not that you couldn't accomplish it with other tech, it's that we're specifically built for multiplayer apps, so it's going to be intuitive. Who's looking at which product, what page they’re on, who added what to a cart, who's editing the quantity field: all of these features come out-of-the-box with GoInstant.

Hope this helps.

gavinuhma··on Show HN: GoInstant - A full dev stack for building real-time collaborative apps
Thanks!
← PreviousPage 2 of 2