#126 WebAssembly comes to Python
Python Bytes - A podcast by Michael Kennedy and Brian Okken - Mondays
   Categories:
Sponsored by DigitalOcean: pythonbytes.fm/digitalocean
Special guest: Cecil Philip
Brian #1: Python Used to Take Photo of Black Hole
- Lots of people talking about this. The link I’m including is a quick write up by Mike Driscoll.
 - From now on these conversations can happen:
- “So, what can you do with Python?”
 - “Well, it was used to help produce the worlds first image of a black hole. Your particular problem probably isn’t as complicated as that, so Python should work fine.”
 
 - Projects listed in the paper: “First M87 Event Horizon Telescope Results. III. Data Processing and Calibration”:
 
Cecil #2: Wasmer - Python Library for executing WebAssembly binaries
- WebAssembly (Wasm) enables high level languages to target a portable format that runs in the web
 - Tons of languages compile down to Wasm but Wasmer enables the consumption of Wasm in python
 - This enables an interesting use case for using Wasm as a way to leverage code between languages
 
Michael #3: Cooked Input
- cooked_input is a Python package for getting, cleaning, converting, and validating command line input.
 - Name comes from 
input/raw_input(unvalidated) and cooked input (validated) - Beginner’s can use the provided convenience classes to get simple inputs from the user.
 - More complicated command line application (CLI) input can take advantage of 
cooked_input’s ability to create commands, menus and data tables. - All sorts of cool validates and cleaners
 - Examples
 
    cap_cleaner = ci.CapitalizationCleaner(style=ci.ALL_WORDS_CAP_STYLE)
    ci.get_string(prompt="What is your name?", cleaners=[cap_cleaner])
    >>>  ci.get_int(prompt="How old are you?", minimum=1)
    How old are you?: abc
    "abc" cannot be converted to an integer number
    How old are you?: 0
    "0" too low (min_val=1)
    How old are you?: 67
    67
Brian #4: JetBrains and PyCharm officially collaborating with Anaconda
- PyCharm 2019.1.1 has some improvements for using Conda environments.
- Fixed various bugs related to creating Conda envs and installing packages into them.
 
 - Special distribution of PyCharm: PyCharm for Anaconda with enhanced Anaconda support.
 - I’m using PyCharm Pro with vim emulation this week to edit a notebook based presentation. I might run them in Jupyter, or just run it in PyCharm, but editing with all my normal keyboard shortcuts is awesome.
 
Cecil #5: Building a Serverless IoT Solution with Python Azure Functions and SignalR
- Interesting blog post on using serverless, IoT, real-time messaging to create a live dashboard
 - Shows how to create a serverless function in Python to process IoT data
 - There’s tons of DIY applications for using this technique at home
 - The Dashboard is a static website using D3 for charting.
 
Michael #6: multiprocessing.shared_memory — Provides shared memory for direct access across processes
- New in Python 3.8
 - This module provides a class, SharedMemory, for the allocation and management of shared memory to be accessed by one or more processes on a multicore or symmetric multiprocessor (SMP) machine.
 - The 
ShareableListlooks nice to use. 
Extras
Brian:
- Getting ready for PyCon with STICKERS. Yeah, baby. Come see us at PyCon. I’ll also be bringing some copies of Python Testing with pytest, if anyone doesn’t already have a copy.
 - Lots of interviews going on for Test & Code, and some will happen at PyCon.
 
Cecil:
Michael:
- Guido van Rossum interviewed on MIT’s AI podcast via Tony Cappellini
 - Visual Studio IntelliCode for VS & VS Code
 - Showing a Craigslist scammer who's boss using Python via Dan Koster
 
Jokes
Brian: To understand recursion you must first understand recursion.
Michael: A programmer was found dead in the shower. Next to their body was a bottle of shampoo with the instructions 'Lather, Rinse and Repeat'.
