Sponsored by Techmeme Ride Home podcast: pythonbytes.fm/ride
Special guest: Steve Dower - @zooba
Brian #1: Making Enums (as always, arguably) more Pythonic
.value
is dumb.IntEnum
instead of Enum
and use integer values instead of strings, it kinda works better.StringEnum
also is better, but still doesn’t allow comparison. class BRAIN(str, Enum):
SMALL = 'small'
MEDIUM = 'medium'
GALAXY = 'galaxy'
def __str__(self) -> str:
return str.__str__(self)
str
and Enum
, and add a *__str(self)__*
method.random.choice()
.Michael #2: Python 3.10 will be up to 10% faster
Steve #3: Python 3.9 and no more Windows 7
Brian #4: Writing Robust Bash Shell Scripts
set -u
: exits your script if you use an uninitialized variableset -e
: exit the script if any statement returns a non-true return value. Prevents errors from snowballing.if [ "$filename" = "foo" ];
trap
to handle interrupts, exits, terminal kills, to leave the system in a good state.Michael #5: Ideas for 5x faster CPython
Steve #6: CPython core developer sprints
Extras
Brian:
Joke:
Hackobertfest 2020 t-shirt https://twitter.com/McCroden/status/1319646107790704640
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
MoO MoO moO MoO MoO MoO MoO mOo mOo mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOo Moo MoO MoO
MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO MoO
MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOo MoO Moo
S S S T S S T S S S L
T L
S S S S S T T S S T S T L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S T T T T L
T L
S S S S S T S T T S S L
T L
S S S S S T S S S S S L
T L
S S S S S T T T S T T T L
T L
S S S S S T T S T T T T L
T L
S S S S S T T T S S T S L
T L
S S S S S T T S T T S S L
T L
S S S S S T T S S T S S L
T L
S S S S S T S S S S T L
T L
S S L
L
L
(~R∊R∘.×R)/R←1↓ιR