-
- Curry broke his hand last night. This is not gonna be a good year for us. Giannis missed two freethrows back to back also.
- Smoked ribs, both pork spare and beef short. Timing worked out well.
- Replenished foil, gloves, peppercorns, paprika.
- Starbucks rose 7% after all the nitro brew drinks.
- Some person with whatacan@yahoo.com created an account named Burro Ito and submitted picks for the first time this week. I assume it was one of the old players, not a completely random person. The more important note: the app handled it perfectly! They show up on the leaderboard with 0-0-0, the pick percentages are good without divide-by-zero errors, everything is smooth.
- Made the picks route not do any calculation or queries or commit scores or anything if picks were open. Just return.
- Consolidated the friendsgiving gsheet and sent it out. We’re now in our 5th year, 5th signup sheet.
-
- SOC 2 is the standard for compliance criteria in data privacy. Third-party vendors and data organizations can be audited with this procedure to make sure they’re not doing anything shady with the company’s data. https://www.imperva.com/learn/data-security/soc-2-compliance/.
- The Cartman escape rooms is fairly new, and only ~60 teams had tried it so far. Of the 60, only 4 had escaped, and we had the fastest time of the 4!
- Damn, lockheed got a $35B order for 478 F35s.
- Fresh order. They’re doing as close as 2hr delivery now.
- More terrible recorder covers. Dead.
- Supercontest.
- Made the min-width styles !important. You don’t have to do the same for max-width, those are usually fluid.
- Added arrow back to lb. Made name cols wider. Widened all logo cols.
- Put a useful diverter so that the app doesn’t send any emails in dev mode. This is at the very end of the chain (within supercontest.util.email.send_mail) so that you cover as much of the sequence as possible before shorting.
- Nothing is shown on the all-picks page until lockdown now.
- Completely rewrote results, passing the full data through now (covers/pushes/noncovers, for finished/inprogress/unstarted). Now the lb can show each user’s record explicitly.
- The sort is updated now: in progress points, completed points, etc.
- Added faded color to the all-picks view as well (instead of header row).
- This was a pretty big update, but mostly backend. Some cool stuff for user.
- Deployed. https://gitlab.com/bmahlstedt-group/supercontest/issues/133.
- Committed lines, checked new emailer (with unsubscribe), submitted my picks.
- Remember, pure functions don’t change any global state and aren’t affected by any global state. They always have the same return/effect (for the same inputs).
- Lol:
- I always thought structures like NamedTuple or OrderedDict were weird collections designed for lazy programmers. If you need keys, use a dict. If you need order, use an iterable. If you need both, have one of each, not some frankenstein of both. I often keep my data in a dict and then have the sorted results as a separate definition. You’re sacrificing performance by doing anything else.
- Sigur Ros for music today.
- Tried a new matcha drink today. 1000x better than the black coffee and matcha.
- Matcha, oat milk, agave, ice, blended.
- World series game 7. Great game. The nationals (a wild card!) won.
- Spotify should have a setting to filter out all the bs. Don’t show me live albums, commentary albums, eps with 2 songs, acoustic albums, deluxe albums with weird filler tracks, etc. Just show me their 4 studio albums. Thanks.
- Zuckerberg has been taking a lot of heat for non fact-checking political content on fb (ads, posts, etc), which is admittedly something that very few other platforms do anyway. Twitter then came out and said it will ban all political advertising, starting on Nov 22. SHOTS.
-
- Virgin Galactic IPOed yesterday, high 12.09 low 10.50.
- Alphabet is trying to buy fitbit. Heartrate targeted ads, woohoo!
- Old Five for Fighting albums. Good memories.
- Cartman escape room!
- FF waivers. 1 for espn, 2 for yahoo.
- Considered putting the stock brake lever back on the ducati instead of the red shorty, which might be aggravating my elbow. Whyyyyyyy are hydraulic systems still used. Electronics, electronics, electronics.
- Paid rent. Maid manual citi payment since autopay doesn’t activate for first billing cycle.
- Supercontest.
- Moved all the clientside pick verification to functions. Cleaned up the matchups.js quite a bit.
- Added helmets to the rollup.
- Created space between the rollup and the full picks column.
- Added right arrows for the header that shows pick counts and leaguewide percentages.
- Added percentage sign to all percentages.
- Added banner for gjm.
- Vitamix.
- Oat milk. Didn’t strain it. It blends it well enough to drink, and then you can just throw out the bottom sediment when finished with the gallon. Healthier, easier, and allows you to fully mix things like dates/bananas.
- Veggie preworkout. Don’t need the juicer anymore! And you get the full nutrition. No pulp mess. Higher yield. A little chunky, but I’ll mess with ratios.
- Amazon fresh is now free with prime. Wow.
- Matcha arrived today. Good in the smoothies/shake. Didn’t really like it straight in black coffee. Needs to be a latte or something creamy with milk.
- Put the search navbar and quick edit buttons back on my blog. Blogging about the blog. Meta.
- Bought 80 lbs of meat and rode home with it on the bike, which was crazy. 40lbs of pork spare ribs and 40lbs of beef short ribs. $210.
- World series game 6.
- Cartman escape room!
-
- Matcha is essentially the same green tea leaves, but instead of steeping them in hot water, they’re stone-ground into a fine powder. I don’t need the highest grade, since I use it for smoothies/shakes mostly.
- Ceremonial grade is for mixing with water and drinking as tea (up to $20/oz).
- Culinary grade is for stuff like smoothies, lattes, baking, etc (down to $1/oz).
- Nike CEO swap.
- 12 hours of sleep last night, uninterrupted. Yessir.
- HSBC is the bank. Hulu is owned by Disney.
- The underscore is usually the object for lodash (hehe, nice) in js.
- Joe Rogan is 52. Theo Von and Chris D’Elia are 39.
- Don’t just use regular spinners, there are so many cool ones out there: https://www.react-spinners.com/.
- Awesome website, timeanddate.com.
- Supercontest.
- Just Raj, Wes, and Phil haven’t paid yet.
- Greg Matthews has this week’s banner.
- Changed percentages to show the first decimal place, even if it’s zero. This is more consistent. The pick cells are the exception, because 0.5 scores are much rarer, so we coerce whole nums to ints.
- Strongly increased the contrast for picked/nonpicked games, making both brighter.
- Switched from rgba, where it was ~30% and ~6%.
- Now it’s hex, at 50% and ~7%.
- Changed unsubmitted picks from table-info blue to orange, to make it extremely obvious that you have not submitted them.
- Removed table-active class coloring for team cells on the matchups tab. Wasn’t worth much, especially conflicting with the deliberate cell coloring of the pick process, and the table-hover of bootstrap’s css. Left the js to change the cursor to a hand (pointer) tho.
- Reworked the legend. Made it color-white-color again. Added the all-picks vs your-picks difference back.
- Added a template, view, form, route, and model for email preferences. Rather than tangling it in flask_user and hijacking the edit_user_profile template, I built it into a new template/backend using wtforms and flask-wtf directly (also to get more experience with these).
- Function to return all emails for users with a specific pref.
- Consolidated all email subject/body/messaging into util/email, so that the text was easy to compare and keep consistent.
- Email options are now available to the user:
- To be notified when picks open.
- To be notified when picks are about to close and they haven’t picked yet.
- Colors.
- Hex.
- Hex is just like rgb, with a hex num corresponding to each color channel in red, green and blue. 0 is none, f is full, as you’d expect from hex. So 00f is fully blue. #ff0 is yellow (red and green).
- It’s easy to remember from this: 000, with no color at all, is black. fff, the combination of all colors, is white.
- While you can get many colors with 3-digit hex, you can get MUCH more with 6 digit hex (which is the standard nowadays). Each of the standard 3-digit hex colors gets 16 more levels of resolution before moving on to the next one (obviously).
- 3 digit hex = 3 digits of 2^4 = 3 digits of 16 = rgb(R, G, B) where each value is a number from 0-15.
- 6 digit hex = rgb() where each digit is 0-255 (16*16, or 2^8).
- Alpha.
- The A in rgba stands for alpha. The alpha channel is what determines opacity.
- This exists for hex colors too, but only recently with CSS4. The first 6 digits are the color, and the last two digits are for alpha. Similar to rgba: 00 is fully transparent and ff is fully opaque.
- Bootstrap.
- Color ref:
- primary: #007bff
- secondary: #6c757d
- success: #28a745
- info: #17a2b8
- warning: #ffc107
- danger: #dc3545
- light: #f8f9fa
- dark: #343a40
- The bg-<> colors are these, with full opacity. The table-<> are the same colors, but with reduced opacity (alpha ~33%).
- Raw beef/pork meat is pink because of myoglobin. When myoglobin is heated up (cooked), it turns brown. When you burn wood (and charcoal, which is already-burnt wood), it produces nitrogen dioxide. This reacts with the myoglobin as it penetrates the meat, creating a stable molecule that doesn’t turn brown as it increases temperature. Curing salt (sodium nitrate) does the same thing.
- The pink doesn’t change any flavor itself, it just indicates that meat has been cooked slowly enough to not rise in temp before the wood smoke has penetrated a bit, which means you’re going to get smoke flavor inside the meat.
-
- Supercontest.
- Email reminder worked well last night.
- Submitted about 5 sets of late picks.
- Tie coloring on all-picks was working but not on your-picks. It was comparing team name to coverer correctly, but then team name to PUSH instead of coverer to PUSH.
- Reduced the unpick opacity from 0.3 to 0.2.
- All the new coloring changes worked.
- Did a little research on the flask-user form customization for email preferences.
- Started implementing https://gitlab.com/bmahlstedt-group/supercontest/issues/130.
- Lawrence’s bday last night on la tuna was great.
- Venice all day, smoking ribs with Harner’s neighbor.
- 1-1 in ff. 1-4 in sbsc.
-
- Git repo with the history (amendments) of the constitution: https://github.com/JesseKPhillips/USA-Constitution.
- Remember that Instagram is mostly python, and is one of the biggest scale python implementations across the globe.
- {{ form.hidden_tag() }} tells flask-wtf to use csrf.
- When flask-user templates iterate over the form variable that’s made available to jinja, it’s just a class passed through the route. The class is just a child of flask_wtf.FlaskForm, and it lists the fields and information about them. You can also define validations here. Example: https://github.com/lingthio/Flask-User/blob/master/flask_user/forms.py#L139.
- The robinhood sell orders completed and the funds settled, so I initiated the withdrawal to boa today.
- Supercontest.
- Updating some basic flask-user structure. Removed the bootstrap_is_hidden_field.
- Changed to proper colgroups for styling whole cols instead of each row, for the min-width in the legends and the matchup borders on all-picks.
- Played with linear and radial gradients for cell coloring. Ultimately went with diagonal stripes for all in-progress games.
- Games that were not picked still have their results show, just at 30% opacity.
- Removed the table stripes. We’re doing so much with background color already. This added unwanted contrast.
- Because of bootstrap’s table-responsive, min and max width won’t work as desired if set on colgroups, even with !important. You have to set it on the cells directly themselves.
- There are many places where some of your intended behavior fights with styles that bootstrap is setting underneath the classes you use. Overall, still very worth it.
- Demian Maia choked out Askren.
-
- New season of castle rock. This one follows annie wilkes, the bipolar nurse from misery who killed the author.
- House of Spirits was cool, but the most shocking part was the SURPRISE full nudity. They didn’t even warn us.
- Riding 100 down the freeway, on the ducati, in the purple suit.
- Router/modem are overheating in the cabinet, gonna leave the door open.
- Talked with bmanning about matlab/c bindings. They have a product called Coder. Functional verification still needs to happen obv, but syntax conversion is automatic.
- Music.
- Kanye released a new gospel album today? It’s called JESUS IS KING. It’s garbage.
- Old creed. Great. Old eve6. Not as much. Old rob thomas. Not as much. Vertical horizon was pretty good. David Gray and Howie Day. Meh. A little too soft but ok for background I guess.
- Supercontest.
- Fixed the consistent-width cols on all-picks. The logos in the headers had removed min-width.
- Distinguished the finished games from in-progress games by color stripes, not border. If the game is finished, it’s the solid color representing the result. If the game is still underway, it’s the same color but a white band in the middle. Looks really good.
- Made the legend look a little better, touches on both sides and white bg / black text in the middle.
- Combined both instructions/legend buttons, on all views, into one single help collapse.
- Converted all my inline styling to custom classes. Some basic ones already existed in bootstrap:
- white-space: nowrap -> text-nowrap
- rgb(225, 225, 225) -> text-muted
- display: none -> d-none
- Went through and checked for any inline scripting as well, and handled it.
- Did not minify or bundle the css. It’s only like 50 lines.
- Scraped all templates for common macros I could abstract out.
- Scraped all js for common functions I could abstract out. The biggest one was colorPickCell, which contains the logic for checking game status and coverer and stuff to determine how to color the cell, red/green/yellow, and the in-progress band. This included two other helpful functions isGameUnstarted and isGameFinished.
- Used the vitamix for the first time today. It makes a whole world of difference. So satisfied, shoulda bought it years ago.
- TSLA jumped over 10% today. BTC over 40% too (so dumb).
- Shorting kinda defeats the purpose of investment, ya? Tribute to the fact that the market is really there for gamblers, not for supporting good ideas financially.
- Warriors got killed by the Clippers, but it’s game 1 and the Clippers are champion contenders.
- Amazon’s switch from 2 to 1 day shipping increased revenue by 24% but increased shipping costs by 46% also.
- Bootstrap source css, 10,000 lines: https://github.com/twbs/bootstrap/blob/master/dist/css/bootstrap.css.