• TSS stands for Transportation Software Solutions. Let Stacey, Roubik, and Art know that my intentions are to move back to the Bay Area.
    • Remy and Katilin got sick on Monday too! It wasn’t the prime rib, because everyone had that and only 3 of us reacted. I’ve also had it a few times since with no problem. Possibilities: dip, cheese, gravy? The latenight snack after stuff had been sitting out could have been it.
    • There’s a paradox about predictability; that once something becomes predictable, entropy naturally makes it move away toward unpredictable again. I half-buy it. I’m a believer in determinism superseding free will in the longggg future.
    • Your body can actually burn an incredible number of calories while sedentary (comparable to rigorous physical exercise), if you are highly stressed/concentrated: https://www.espn.com/espn/story/_/id/27593253/why-grandmasters-magnus-carlsen-fabiano-caruana-lose-weight-playing-chess.
    • Agreed. Personal websites are wonderful tools. https://www.vanschneider.com/a-love-letter-to-personal-websites.
    • GitLab is a company I had seriously considered about 2 years ago: https://www.forbes.com/sites/alexkonrad/2019/09/17/gitlab-doubles-valuation-to-nearly-3-billion. They’re doing very well, and my professional experience matches their mission absurdly well. Their IPO is in 1 year.
    • Chrome’s devtools has a “device toolbar” that you can toggle on and off by clicking the little button that looks like a phone. You can specify any custom viewport, standard phones, and it will show your how your responsive view is displayed. Great for testing.
    • Hahaha AB released from the Pats. What a roller coaster.
    • Supercontest.
      • Added mx-auto to all nav cols so that they’d center on smaller viewports, tested in devtools. Looks much better.
      • The lb totals and percentages will now show as ints if they’re whole numbers (even if source data is X.0). If they’re floats, they’ll continue to show as floats.
      • Webassets.
        • Moved all third-party cdn js to the toplevel template.
        • Moved all variables (that were passed through jinja from flask to javascript) to the toplevel template.
        • Bundled and minified all supercontest js, added in the toplevel template.
        • Cleaned some of the iteration in jinja, setting variables properly.
        • At this point, all templates are just templates. It’s a lot cleaner. All variable injection is collocated, which is easier to understand as well.
        • Made all js in the bundle distinct. Some required more specific ID selectors. Some needed to check on array length. Some needed to condition on typeof <x> !== undefined. This whole exercise was a good practice in forcing explicit javascript.
        • Minifying with jsmin.
      • Package the service.
        • I don’t just want to copy an ambiguous directory over to be able to use the app. It should have explicit boundaries. This will keep it slim, also.
        • Therefore, I made the service a self-sufficient package. It can’t run without an accompanying database already existing, but the app layer itself is self-sufficient.
        • This was a pretty lengthy, iterative process to get to work.
        • MANIFEST only tells it what to build the dist with; not necessarily what to install. You have to be explicit about those as data files in setup.py.
      • Overall, working with bundled assets and wheel pkgs should make the app non-noticeably faster.
      • Closed https://github.com/brianmahlstedt/supercontest/issues/81.
    • Docker.
      • If you built an image successfully but it failed to run the start command or entrypoint for some reason or another, perform the following to test.
        • docker ps -a
        • docker commit <ID> test_image
        • docker run -ti –entrypoint=sh test_image
      • To force a rebuild, even if nothing has changed:
        • docker-compose build –no-cache <service>
        • Then you can start the service at will.
    • tar -xzvf (I can never remember anyway – this is a worthless comment).
    • Remember to build wheels in the same environment that you’ll install them in. Not the same instance, but the same system. There are many underlying system libs that are baked into bdist wheels, and the build/deploy envs should be identical to prevent clashes for this.
    • find_packages() returns a list like this: [‘supercontest’, ‘supercontest.core’, ‘supercontest.views’, ‘supercontest.dbsession’, ‘supercontest.commands’, ‘supercontest.models’, ‘supercontest.graphql’]