2021-01-27 JAN
Enhanced reality in the microscope
https://ai.googleblog.com/2018/04/an-augmented-reality-microscope.html
GCP BigQuery Data Visualization (Nicole)
Can BigQuery Data Visualization tools be leveraged for dashboard metrics?
Design Patterns and Gang of Four (Daniel)
https://en.wikipedia.org/wiki/Design_Patterns
https://springframework.guru/gang-of-four-design-patterns/
WebAssembly news
rust vs go (Jonas, Jeya, Daniel ...)
TL;DR:
Wasm is preferred when performance is critical (https://hacks.mozilla.org/2018/01/oxidizing-source-maps-with-rust-and-webassembly/ ).
Creates a polyglot development environment.
Faster to download and execute (suited for federated learning).
WASI (https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-intro.md; https://www.youtube.com/watch?v=fh9WXPu0hw8) provides APIs to interface with an OS (e.g., filesystems, networking, etc.).
JS+Wasm works well.
Supported languages when compiling to Wasm (https://github.com/appcypher/awesome-wasm-langs)
TL;DR:
C, C++, Go, TypeScript, AssemblyScript, Rust are ready for production. JS and Python are work in progress.
Rust Vs. Rest (https://opensource.com/article/19/2/why-use-rust-webassembly)
TL;DR:
Small file sizes are good for transmitting code especially with IoT devices and federated learning. Smallest achievable Go file size: 2 MB. Smallest achievable Rust file size (1.6 KB; without the "--release" optimizations).
C, C++, AssemblyScript have reasonably small runtimes too.
Ryan Levick (Cloud Advocate; Microsoft): "the reality is that these technologies (Go and C#) will probably always be best for greenfield projects".
Rust has better tooling than C/C++ for Wasm (https://rustwasm.github.io/book/).
Rust adoption
Mozilla's project. Built Servo (https://servo.org/) with it.
Microsoft backs it heavily.
70% of all security vulnerabilities are removed instantly by Rust (https://github.com/microsoft/MSRC-Security-Research/blob/master/presentations/2019_02_BlueHatIL/2019_01%20-%20BlueHatIL%20-%20Trends%2C%20challenge%2C%20and%20shifts%20in%20software%20vulnerability%20mitigation.pdf).
Solomon Hykes' nightmare: https://www.zdnet.com/article/microsoft-why-we-used-programming-language-rust-over-go-for-webassembly-on-kubernetes-app/
AWS recently started a major team to support Rust.
Serverless support: https://github.com/rusoto/rusoto
Facebook has a dedicated Rust team.
GCP adoption is slower.
Deploy your first Wasm app today: https://webassembly.studio/
Learning from PLCO
Steal UI and beg to box (Lorena)
Pending items
... (I remember I forgot something ;-) )