Topics covered in this episode:
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**

Watch on YouTube
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

  1. College will not prepare you for the job
  2. You will rarely get greenfield projects
  3. Nobody gives a BLANK about your clean code
  4. You will sometimes work with incompetent people
  5. Get used to being in meetings for hours
  6. They will ask you for estimates a lot of times
  7. Bugs will be your arch-enemy for life
  8. Uncertainty will be your toxic friend
  9. It will be almost impossible to disconnect from your job
  10. 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:

  • A fun reaction to AI - I will not be showing the link on our live stream, due to colorful language.

Michael:

  • Coding in a Castle Developer Education Event
  • Polyfill.io JavaScript supply chain attack impacts over 100K sites
    • See Reasons to avoid Javascript CDNs

Joke: HTML Hacker