- I'm 0-8 in fantasy so far!
- Appointments.
- Got the MRI. Much better waiting room, they got me in right away. Photos took 45 minutes. I was lying in full superman position without moving, which became horrible with pins and needles toward the end.
- Orthopedic = musculoskeletal. I had incorrectly thought it was only bones.
- Made appointment for the followup in Van Nuys. Would have done Culver, but I needed to get my license back from NoHo anyway. You can't replace a DL through the AAA DMV services, and the soonest appointments for the Hawthorne and Torrance DMVs were December.
- Supercontest.
- I had to set MNF's status to F for some reason. It was stuck on 4, even though the NFL xml was returning F. All of my score updating improvements today will change that bit.
- Last week was the worst league-wide performance since the beginning: 31.9%. Nobody got 4 or 5, 3 was the highest. There were four 0s.
- Cleaned the main __init__ quite a bit (the internals of get_app()). All extension capability is well organized and properly imported now.
- Split the determine_coverer/points logic into the wrapper (which expects rows) and the wrapped (takes raw values). This was useful because certain pieces of the app call these functions in those two separate ways.
- Generalized get_matchups and get_picks to be more modular, rather than using specific wrappers for each distinct queries. It's going to be easy to manage, the args basically mirror the cols 1:1, then the filters just add whatever was requested.
- Change it so points and coverer are now BACK in the db. They are written to by the apscheduler job, depending upon when games are live. They are read by everything (mostly in results), which simplifies a lot of duplicate logic.
- Machine went from ~300 to ~600M in mem usage over 12 hours after restarting the app but not doing anything (like a deployment). Not good. There's clearly a leak somewhere.
- Used a psql CASE WHEN THEN ELSE END statement for the migration, to populate old coverers and points. Just like an IF statement in a higher level language.
- Added the proper apscheduler jobs for live game scoring, as well as line fetching.
- Created the tickets for the next two (should be final) efforts:
- https://github.com/brianmahlstedt/supercontest/issues/107.
- https://github.com/brianmahlstedt/supercontest/issues/106.
- Made the jobs not run in the off season.
- Updated docs.
- No thanks: https://gfycat.com/miniaturespanishkronosaurus-adventure-v-travel-nature-matterhorn.
- What few colleges teach you about the fastest escalator to corporate success is the art of asskissing. Relationships (politics) mean more than individual contribution (skill) in most offices.
- 7'9" is the tallest anyone has ever been without any of the usual disorders that cause extreme height (gigantism, etc). https://en.wikipedia.org/wiki/List_of_tallest_people. He was just a statistical anomaly, the furthest end of the regular human height range.
- Started the final 8 mile training run and my left foot nerve pain was too much to continue after ~3.5 miles.
- Running was more painful in the knees/hips/back when landing on the heels, but I couldn't mid/toe strike because of the injury. Barefoot running really is so much better, but I'll have to be more gradual with training to strengthen my feet/ankles/calves.
- I will definitely run the race in the full purple shoes, with tape over the right outer hole that had formed (will donate after race).
- Re-downloaded strava to start logging the training again.
- flask-apscheduler attaches the actual apscheduler base scheduler at scheduler._scheduler, which you can use for some stuff that the flask extension stupidly hides (like print_jobs()).
Tuesday, October 1, 2019
Subscribe to:
Posts (Atom)