- FIBA world cup has finally entered the bracket stage, with only 8 teams left. We play France.
- Filtered my oat milk twice instead of once for the first time day. Made a huge difference.
- Ekeler did a fantastic job yesterday while Gordon continues to cry. Love it.
- Passer rating is basically (touchdowns + yards + completions - interceptions), weighted and normalized by attempts.
- Ranges from 0 to 158.3 (perfect).
- To get perfect, it's basically 12 yd/throw, 80% completion, a touchdown every 10 throws, 0 interceptions.
- Aaran rodgers has the best career passer rating (103.1) and best season (122.5).
- The Equifax data breach settlement continues to disappoint. They now require an additional step from everyone - you must provide proof of an active credit monitoring service to get the <$125 cash, otherwise you only get the free credit monitoring service in the settlement.
- Lost both fantasy matchups this week.
- Remember, a semicolon in js is used to terminate a single statement. Curly braces are blocks that contain statements. If you have an if (condition) {statements} you don't need to terminate with semicolon. If you define a function() {} you don't need to terminate with a semicolon. If you assign and define a function, like const foo = function() {}; then you need to terminate with a semicolon.
- Supercontest.
- Changed it so that calc_lb only does it for the current week, not all in the season. Much faster.
- All current winners and points are now calculated serverside only. It checks the current values and does the math once, then passes matchup.winner and pick.points back to templates as needed. This simplified much of the javascript, since I don't do the duplicated calculation anymore.
- Went back through a lot of the js and terminated statements properly, shifted to 4-sp indentation, etc.
- The /picks tab now respects games that haven't started, coloring them blue.
- All tabs that require current scores (picks, matchups, lb, graph) are much cleaner on the backend, calculating only what's necessary and passing as little as possible through the templates. This required that the lb and graph endpoints got smarter, bc they didn't have the value preprocessor and defaults for week/season.
- The lb is only colorized once a week is completed now.
- Sorted the matchups table by datetime and the picks table alphabetically.
- Deleted the 2018 week 18 fake data.
- Changed the doc onload behavior of coloring picks to a function, called still once onload and then also every time after pick submission. This separation allows submitted picks to be dark blue and unsubmitted to be light blue, which I implemented.
- Tried to make the column headers vertical in the picks table (for team names), but this is unnecessarily difficult in css. Leaving team name abbrvs for now (changed pats to NE).
- Closed https://github.com/brianmahlstedt/supercontest/issues/71.
- My laptop can't find the tv via chromecast half the time. Turning wifi on/off (from my laptop) works, but this is still annoying that chromecast can't flush. I've confirmed they're always on the same network.
- Because of the docker cache, deployments are significantly shorter for smaller changes. To not need to rebuild the image is very timesaving.
- Remember, Python and Javascript have different representations for key/value pairs (dict, hash table). Jinja can handle your python dict just fine, but in order to pass it through a template to js, it needs an interim format that's useful. The most common is json. Dump it in your python app, then have js able to read it.
- data=json.dumps(my_dict) in the route, then myData = {{ data|safe }} in the template.