shangxiao
Joined 13 years ago
Joined 13 years ago
This is what enraged me about the Therac-25 design which ended up killing people. There's a whole report to read on the design, failure and follow up but to paraphrase the designers eliminated the physical locking mechanism and had this attitude that "oh it's electronic so it won't wear out and fail".
I'm using a Chrome plugin Vimium - one of the shortcuts 'f' (documented as opening links) actually highlights all focusable elements. Using this feature shows most of the checkboxes are interactive.
Edit: I guess the reason for me pointing this out is hopefully there's an easy way to make these more accessible for keyboard users.
Having said that bargeparse was meant to rely solely on stdlib as the environment we were operating in was tightly controlled and any 3rd party packages had to go through a lengthy review process to be whitelisted.
Additionally, since our team (and others in our organisation) were mostly using argparse, the goal was to provide a way to declaratively interact with it using existing features in the language itself.
It's called bargeparse [1]. The idea is to define an entry point function and use its signature as a means to declare the CLI arguments & options. I was surprised at how well Python's syntax for function arguments works for this... especially the use of pos-only & keyword-only arguments to force a particular style.
[1] https://www.theguardian.com/media/2021/apr/15/australian-nav...
Slight nitpick: Django should automatically create the Hstore extension for you [1] during migrate whenever you use a HStoreField
[1] https://github.com/django/django/blob/f5e07601b233a50e6bcca4...
Edit: I might've been mistaken here in thinking the above migration operation was automatically applied as the docs seem to suggest you need to add it yourself [2] but at least it's as easy as adding an operation ;)
[2] https://docs.djangoproject.com/en/3.1/ref/contrib/postgres/f...