-
- Private work.
- More pandas. For join, use
merge
. Left, right, inner, outer. .unique()
, .sort_values()
, .drop_duplicates
, more.
- Remember to not use truthy operators (
or
, and
, not
) like usual in python. Use bitwise (|
, &
, ~
).
- Changed trays.
- Beside Altman, Greg, Ilya – the other 3 board members were Adam D’Angelo, Tasha McCauley, and Helen Toner. They don’t work at OpenAI (Quora, Rand, and Georgetown). Tasha is also Joseph Gordon Levitt’s wife. I don’t think any have tweeted since? Although some private. Ilya/Altman/Greg have.
- CZ pled guilty for money laundering, 50M fine, step down as binance CEO.
- Gardening.
- Had to relaunch the gitlab runner, and with
--restart always
so it boots when wsl2 boots (anytime the docker daemon restarts).
- Registered for re:invent (next week).
- Stacked 10-player sinquefield cup started today.
- Supercontest.
- All elasticache all day today – the implementation on the app side.
- Remember in the old flask-caching infra: You query the db once. It stores the resultant objects in the cache. A second request for the same data in. The cache returns the objects. But the objects are dangling (not associated with a session), and could be wrong, so sqla rejects them. I no longer have to worry about this with the redis cache.
- Made sure ALL reads were from the
queries
module and ALL writes were from the commits
module. There is one exception: flask-user
. This is already scheduled for cognito replacement.
- Split into
queries
(wrappers, returning python types) and _queries
(direct cache/db reads, returning sqla objects).
- This whittles down the surface area of (direct data access) vs (the app’s manipulation of data in python). I’ll only cache the former, for now. Maybe later I can cache commonly accessed views / whatever.
- Used
flask-redis
which plugs directly into the app factory pattern instead of managing my own redis object.
- Hmmm, nope – not needed.
flask-caching
(the standard, what I was using before) supports this. It can connect to a redis cluster. And it can cache view functions, custom functions, memoize, cache jinja snippets, auto-create keys for all of those based on specific request paths, args, etc – and exposes direct set() and get() calls from redis.
- Updated banner.