• Rob Zombie was on JRE a couple days ago. Cool dude. Just directed another movie, 3 from Hell.
    • Stomach was torn up all yesterday, couldn’t do much. Worse than the ER trip in the bay, but stuck it out. Didn’t sleep, lasted about 24 hrs, but feel better now. Ordered imodium, pedialyte, and pepto bismol on amazon fresh and it arrived within 8 hrs!
    • Lost both FF games. Went 1/5 in supercontest.
    • Supercontest.
      • Went through my giant migration and verified it with pure sql incrementally. Made sure the season/week change were good, user_season_association, then on to picks and scores etc. Made it a lot easier to chunk on the pure db side rather than debugging through the application layer.
      • The problem ended up being the FKs back to week and season for the lines and picks tables. They were matching those two numbers, but not joining lines/weeks/seasons on their id conditions so lines and picks were going to multiple places. Simply added a couple join conditions to restrict this properly.
      • Removed some of the smaller tasks of 68 to a followup ticket 86: https://github.com/brianmahlstedt/supercontest/issues/86.
      • Since the leaderboard iterates over picks, it only shows players who have made picks at all that season. The same is now true for the picks tab.
      • Closed an old ticket: https://github.com/brianmahlstedt/supercontest/issues/33.
      • User registration defaults to add you to the most recent season, but we’ll need a way to do this efficiently at each season rollover. I guess for the 2020-2021 season, I’ll just run quick sql to add everyone who was in 2019-2020 over, then we can prune after week 2-3 like usual.
      • Made determine_current_pick_points() modular to not just require a Pick row. Now, you can provide a Matchup row (line/scores) and a team string, simulating a pick.
      • Picks can be made by any user at any time, no matter if they’re “active” for that year or not. That’s just for our records, and requires the script be run to sync that data based on the existence of picks that year.
      • Finished and closed all the gigantic model changes. https://github.com/brianmahlstedt/supercontest/issues/68. On to the fun stuff.
      • Fixed datetime and improved the lb: https://github.com/brianmahlstedt/supercontest/issues/86.
      • Added a request tracking dashboard: https://github.com/brianmahlstedt/supercontest/issues/77. Useful for timing and profiling over time, and by version. This will be used for production.
      • Added a debug toolbar: https://github.com/brianmahlstedt/supercontest/issues/78. This does a huge superset of the dashboard. You can see sqlalchemy queries, http headers, profiling, total times, etc; a plethora of information for a single request (every time).
      • Made the all-picks view show the team name abbreviations throughout the table so that when you scroll down you’re not lost. Added tooltips for the lines as well. https://github.com/brianmahlstedt/supercontest/issues/83.
    • lol: https://www.youtube.com/watch?v=4sqYEmAy9Dg.
    • “If you go to jail for tax evasion, you’re living off of taxes as a result of not paying taxes.” – Joe Rogan
    • For more complicated boolean queries in sqlalchemy, use not_ and_ etc.
    • Remember, with csrf enabled globally for an app, a lot of plugins might get tangled. You can specifically call csrf.exempt(view_or_blueprint), but this often means going into the source code for an extension to find out how to import the view/blueprint for exemption.
    • For rgb colors, if all 3 numbers match, then it will produce a color in grayscale. All zeros is black. all 255s is white.