- User Since
- Jul 1 2018, 5:54 PM (67 w, 3 d)
Tue, Sep 24
gist is, you've got a plane with 100 passengers, each assigned a seat. The first passenger to board is drunk and chooses a random seat assignment. Each subsequent passenger to board will choose his or her own seat if it is available, or a random seat if not. What is the probability that the final passenger to board will remain in his or her assigned seat?
Sep 8 2019
Sep 7 2019
Sep 1 2019
Aug 19 2019
Aug 18 2019
My rough plan following this diff is basically:
- Switch up how we're doing page rendering since that's kind of murky current in terms of how we distinguish between 'build a sanitized HTML element' and 'render a specific page'. That can be cleaned up pretty easily and it's probably best to do that now while the codebase is still small
- Build out the UI for the initial user registration flow. I think this will be the same deal as for a generic user registration, just with a 'this user is an admin' flag toggled
- Build out some infrastructure around password management and credential checking. This'll be a "fun" learning adventure for me.
- Build out the ORM piece so we can actually register a user and store their info to the database
This implementation is also wrong atm. Properly, I'll need to use some flask wrapper function for this since __init__ by definition can't actually return anything (the implication being that, short of raising an exception, we can't interrupt the normal course of action and say, "Return page Y instead of page X"). I'll fix this in a subsequent diff.
Redirect to the appropriate registration route
Super basic check to see if at least 1 admin account has been registered yet
So I think that for now we might want to keep the view and route folders separate, where view is more or less "How do we bring together all of the UI components on the page" and route is "What Python gets run when we go to a URL". It looks like you have all of the blueprint routing in view currently.
Aug 17 2019
Aug 12 2019
Address review feedback
Aug 11 2019
Updates after rebasing
- Properly handle nested arguments
Aug 8 2019
Whoops! Sorry, almost forgot: mind fixing the PEP lint issues also?
Aug 4 2019
Looking good! Couple minor comments here and there.
Removed an extra debug statement
fleshed out implementation
Jul 28 2019
Correct a bunch of silly class stuff
Fix an import issue
@brooke --- I kind of went to town on imports in this diff. It's all just cosmetic stuff, so go ahead and ignore that when looking at the SimplexConfigSource stuff
Just go ham on the imports
Unbreak some imports
Jul 24 2019
@brooke — I'll need you to:
git reset --hard origin/dev arc patch --diff 33 arc diff --update D13 git checkout -b tmp arc patch --diff 37 arc diff HEAD^ git checkout dev # wait for Chris to accept D13 arc land git checkout tmp git rebase dev # wait for Chris to accept diff arc land
Jul 21 2019
Could you move this most recent commit into its own code review? I think things are going to get too messy here otherwise. Thanks!
Correct some SQL stuffs
Couple more super minor comments, then you're good to go!
I think approximate next steps from here will be to:
- Add a global check that the database is reachable per credentials stored in an arbitrary config file
- If unreachable, redirect to an error page that prompts the user to run some config command. E.g., config set mysql.port=3306 or whatever else
- Ideally, this should do a somewhat comprehensive check so that the instance admin has a fairly complete list of all required setup steps in one view (as opposed to having to continually reload the page to find the next broken thing in a hellish and neverending game of whack-a-mole)
- If reachable, check that all of the quickstart scripts have run. I need to figure out a way to do this efficiently and how to extend it to arbitrary patches delivered from the upstream
- If not, run the quickstart scripts. Ideally with some error handling. But if not, I'd be okay with that for the short term (I mean, not really, but I'm just lazy)
- If everything's good so far, actually go ahead and render the page