-
- World Chess Championship Game 6 today was fantastic. Nearly 8 hours. Multiple flips. Queen-bishop vs rook-rook-knight endgame. 136 moves, breaking the length record in a wcc.
- https://aws.amazon.com/blogs/aws/top-announcements-of-aws-reinvent-2021/
- Video Speed Controller chrome extension for all the on-demand aws:reinvent content. Huge.
- JupyterHub 2.0 out, including RBAC.
- Image builds.
- Remember to enable buildkit.
- Classics: multistage and alpine (or busybox).
- Alpine ships with ~10k pgs, (about 5-10x less than main dists).
- Remember alpine uses musl instead of the standard gnu c library so your build stage has to accommodate this when compiling the binary (usually a tag, something like “FROM golang:alpine”). Or just build on alpine, adding build-base.
- There’s also “scratch” but you’ll miss a lot from alpine. No shell.
- -static for independence (but size). Always check with ldd.
- For go, CGO_ENABLED=0 to make static.
- Java of course run in jre not jdk for size. openjdk:11-jre, openjdk:14-alpine. jlink to simplify build -> run env.
- Remember precompiled libs for python (eg numpy wheel) are for a specific arch so you’ll need a specific version to run on a diff dist like alpine. Pretty much all python apps/services are fine, but data science on python alpine is not as seamless.
- Every line is a layer. Every instruction is designed to be as hermetic as possible. Leverage this to use common layers ACROSS different images, of course. This cache is shared. Every layer is compressed by docker.
- For scratch or other ground-up, make sure to copy in /etc/ssl so you trust the cert signatures that servers respond with. You may need timing info as well, /usr/share/zoneinfo. Or /etc/passwd or /etc/group.
- Redis stands for REmote DIctionary Server. Never knew that.
- Modules for search, graph, timeseries, documents. Core is kv, of course.
- Good overview of Delos at FB (more design, not technicals): https://maheshba.bitbucket.io/blog/2021/10/19/42Things.html.
- Reinforcement of my daily practice, from another perspective: “Write papers. Writing for an audience that has zero context on what you are doing will force you to examine and clarify your assumptions.”