Съездил в командировку в Горький. Сейчас он, конечно, называется Нижний Новгород, но было бы здорово оставить старое название. Во-первых, не было бы путаницы с Великим Новгородом. Во-вторых, представьте, какая интересная эмоциональная энергетика в названии Горький.
И местные это всячески обыгрывают. Помимо просто повсеместного исторического наследия есть, например, сеть кофеен «Сладкий Горький», а в отеле подавали чай «Горьковский».
Много чего не успел, не посмотрел, был буквально на пару дней по работе. Даже в метро не спустился. Но чувствуется хороший туристический потенциал, обязательно сюда вернусь.
Из-за особенностей рельефа часть города находится на возвышенности, а часть в низине. Поэтому да, есть верхний Нижний Новгород, и нижний Нижний Новгород. Но Горький всё равно круче.
В детстве я слышал такую шуточную загадку: дракон-сладкоежка съел все города, но один оставил, какой?
#life
https://wiki.python.org/moin/GlobalInterpreterLock
In #CPython, the #global#interpreter lock, or #GIL, is a mutex that prevents multiple native #threads from executing Python bytecodes at once. This lock is necessary mainly because CPython's memory management is not thread-safe. (However, since the GIL exists, other features have grown to depend on the guarantees that it enforces.)
https://docs.python.org/3/library/atexit.html
The #atexit module defines #functions to #register and #unregister cleanup functions. Functions thus registered are automatically executed upon normal interpreter termination. atexit runs these functions in the reverse order in which they were registered; if you register A, B, and C, at #interpreter#termination time they will be run in the order C, B, A.