- The dew point of water is a function of dry temperature and relative humidity, but 50-60F is usually pretty close.
- Switched 24, uber, and digital ocean (verizon was already migrated) over from the prime rewards card to citi, for 1% additional cash back.
- Placed Fresh order. Arrived same day.
- Watched El Camino (the Breaking Bad movie) with Harner.
- World series starts Tuesday, Astros vs Nationals.
- Niners still undefeated babyyyyyyyyyy. 6-0.
- Looks like I’ll probably lose both FF games this week, and 2/5 for sbsc.
- Got the nice shaver delivered.
- Clean it under the tap after every use. You can take it apart.
- Clean it in the full machine once a month. The cleaning fluid needs replacement about once a year.
- Charging takes an hour. The battery lasts about 50m with the shaver on.
- Hold the power button for 3 seconds to enable/disable the travel lock mode.
- Supercontest.
- Added sticky-top to the navbar, which means that it scrolls down on the banner but then when the main navbar gets to the top, it stays! It’s not supported on every browser but chrome is fine.
- Only two late pickers this week (marcus and cam).
- Added a user icon from font awesome for the profile dropdown on the navbar.
- Removed the dropdown-divider elements. I didn’t like the spacing it added because the link should be clickable in the whole area, and overwriting the margin/padding wasn’t worth the simple benefit of the line.
- Moved all the variable forwarding (python ->js) to a separate template file to keep it together and separate.
- You can’t just pass the whole g object because it’s not json-serializable.
- Moved harner to the paid league.
- Did a deployment in the thick of Sunday football while games were live. No prob. Downtime is <5 minutes.
- The statistics template was gitignored because it was in a directory named data. Fixed. https://sentry.io/organizations/bmahlstedt-org/issues/1288047383.
- The help collapse button in the contest view header needed ml-auto. The instructions/legend buttons already had it, but the collapse didn’t.
- Added the full font awesome stylesheet so that the icons load a little faster.
- Made it so that late picks will send the confirmation to the admin as well.
- Made the all-picks page have consistent fixed widths for the team abbreviation columns.
- Added an abbreviation map for the nfl scorestrip’s statuses, so it prints Final and Not Started and stuff.
- Verified that all divisions for percentages (usually possible points or num_picks) are protected with DivisionByZero error handling, so that users can register anytime (with 0 picks) and not break the service.
- Added tooltips on the lb for total picks for the week (all users), total picks for the season (one user), and total picks for the season (all users).
- Moved all percentage calculation to the frontend. The backend just has the numerator and denominator data. The frontend does the division to calculate percentages as necessary. This was moved to a macro to keep it consistent. It handles the divide-by-zero case.
- Added a really useful rollup to the left of the all-picks view, showing the status colors of all 5 picks in a convenient glance. This also consolidated the picks_open and !picks_open views, which this template had a few conditionals for.
- Don’t use the scope attribute for td elements (in html5). It’s only for header, to specify whether it’s a header for a row or a col.
- You can’t just + arrays in js like in python, you must concat or something like const newArr = […oldArr1, …oldArr2];