Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.
#390 Coding in a Castle
- Joining Strings in Python: A "Huh" Moment
- 10 hard-to-swallow truths they won't tell you about software engineer job
- My thoughts on Python in Excel
- Extra, extra, extra
- Extras
- Joke
About the show
Sponsored by ScoutAPM: pythonbytes.fm/scout
Connect with the hosts
- Michael: @mkennedy@fosstodon.org
- Brian: @brianokken@fosstodon.org
- Show: @pythonbytes@fosstodon.org
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Brian #1: Joining Strings in Python: A "Huh" Moment
- Veronica Berglyd Olsen
Standard solution to “read lines from a file, do some filtering, create a multiline string”:
f = open("input_file.txt") filtered_text = "\n".join(x for x in f if not x.startswith("#"))
This uses a generator, file reading, and passes the generator to join.
Another approach is to add brackets and pass that generator to a list comprehension:
f = open("input_file.txt") filtered_text = "\n".join([x for x in f if not x.startswith("#")])
At first glance, this seems to just be extra typing, but it’s actually faster by 16% on CPython due to the implementation of .join() doing 2 passes on input if passed a generator.
- From Trey Hunner: “I do know that it’s not possible to do 2 passes over a generator (since it’d be exhausted after the first pass) so from my understanding, the generator version requires an extra step of storing all the items in a list first.”
Michael #2: 10 hard-to-swallow truths they won't tell you about software engineer job
- College will not prepare you for the job
- You will rarely get greenfield projects
- Nobody gives a BLANK about your clean code
- You will sometimes work with incompetent people
- Get used to being in meetings for hours
- They will ask you for estimates a lot of times
- Bugs will be your arch-enemy for life
- Uncertainty will be your toxic friend
- It will be almost impossible to disconnect from your job
- You will profit more from good soft skills than from good technical skills
Brian #3: My thoughts on Python in Excel
- Felix Zumstein
- Interesting take on one person’s experience with trying Python in Excel.
- “We wanted an alternative to VBA, but got an alternative to the Excel formula language”
- “Python runs in the cloud on Azure Container Instances and not inside Excel.”
- “DataFrames are great, but so are NumPy arrays and lists.”
- … lots of other interesting takaways.
Michael #4: Extra, extra, extra
- Code in a castle - Michael’s Python Zero to Hero course in Tuscany
- Polyfill.io JavaScript supply chain attack impacts over 100K sites
- Now required reading: Reasons to avoid Javascript CDNs
- Mac users served info-stealer malware through Google ads
- HTMX for the win!
- ssh to run remote commands
> ssh user@server "command_to_run --arg1 --arg2"
Extras
Brian:
Michael:
- Coding in a Castle Developer Education Event
- Polyfill.io JavaScript supply chain attack impacts over 100K sites
Joke: HTML Hacker