Friday, July 26, 2019

  • React for bmahlstedt.com.
    • Modified to use hooks instead of class syntax, added my images after making svg and transparent backgrounds.
    • Read about how to serve a dockerized react app. Changed bmahlstedt.com to use this instead of my static flask app. https://github.com/brianmahlstedt/bmahlstedt.com/issues/1.
    • That `serve` tool is pretty cool, but remember it's for static sites. This is fine for bmahlstedt.com in its current state, but the supercontest would need node/express as the dynamic framework to serve it properly (can still use nginx and docker, node/express just replace flask).
    • Remember, my nginx reverse proxy expects every prod container to serve its content on 8080. The dev container just forwards 5000 child to 5000 host.
    • Had to restart the docker service because of that shimd issue. Had to rm the containers (kept the images, networks, and volumes), then docker-compose up on all of them.
    • Added the react devtools extension to chrome.
    • Productionized it. Set up a multistage docker build. First, it creates a container with my src and then builds a bundle with webpack from it (npm run build, which is built into create-react-app). Then, it copies the build output dir (and ONLY that) to a new container and serves it, deleting the intermediate previous container.
  • React for southbaysupercontest.com.
  • Remember, react router is the module that allows you to have multiple routes (in what would otherwise be a SPA). You can have separate bookmarkable urls within your domain.
    • You can even have nested subroutes.
  • Shareworks has had internal errors in serving documents (tax docs, shareholder notices, etc) for days now.
  • YouTube started as a dating app lol.
  • HN was pretty underwhelming this week.
  • Python 3.8 comes with the walrus operator := which is a conditional assignment.
  • Vectorization is almost required for web images. Looks so much cleaner unless the image is superrrrrr high resolution.
  • "Github pages" is a pretty cool tool. You can serve static content directly from a repo. You can have a website built automatically from the react app or whatever is in the repo. https://help.github.com/en/articles/what-is-github-pages.
  • The new corvette (c8) is actually sick. It doesn't look like the classic corvettes, it's much closer to a regular supercar frame. It is also allegedly selling for under 60k.
  • Restarted the droplet for the first time (ever, I think).
  • FYI, the letsencrypt docker composition I use for cert takes about 30 seconds once the containers are spun up for the first time until the certs are created and recognized.
  • An Orioles OUTFIELDER pitched in the 16th inning of a 6 hour game and won it lol. He was throwing 50-60mph the whole time.
  • Marshmallow is a python package that allows serialization/deserialization between complex datatypes (like full objects) and standard python datatypes. flask-marshmallow is a shim that allows use in the web framework, making it easier to hook up to sqlalchemy, etc.
  • HATEOAS = hypermedia as the engine of application state.