Abstract
When I saw the PyGotham Call for Proposals, I noticed how, in addition to the standard tech talks, they were also looking for "short film" submissions. So of course, having no experience creating a short film, I decided to come up with a hybrid solution. How about a tech-focused talk in the form of a late night talk show monologue?
And that led to Python2Nite.
Sure, there are some awkward bits, and some jokes that don't quite hit... but hopefully entertaining enough to get your interest piqued. Here are some of the things referenced during the... show?
Notes
Generative AI
Speaking of AI as "artificial intelligence" may be a little misleading, considering that it evokes ideas of sentience and autonomy perpetuated through science fiction. Perhaps a better way to think of it is as "really fancy auto-complete".
Perhaps a more precise definition: Large Language Model (LLM)
These models are large sets of data made up of numbers (multidimensional arrays). Tokens (word fragments) are converted into these numbers and stored in these models. As a result, when these models are given a group of tokens (words), they can provide the likeliest tokens (or words) that follow any given prompt. This is done by comparing the similarity of these tokens within their array signature. In essence, they function as auto-complete, based on the given training data.
(These models might seem sentient when used with a chat interface, but this is mostly trickery of the UI. In essence, the models are being fed a "script" that consists of a "user" and an "assistant", containing enough context for the model to reliably predict what comes next... well, reliably with a HUGE grain of salt.)
Some of the more prominent (well-known models):
Uses
- Code Generation
- Text Summarization
- Sentiment Analysis
- Language Translation
- Content Filtering
- and so on...
Resources
- Simon Willison's Blog
- Podcast featuring Simon where he discusses all these things in depth
- LangChain - Framework for developing apps powered by language models.
Python 3.12
Python 3.12 released on October 2, 2023. You can download the new version at python.org.
A few new features:
- F'YEAH! - more flexible f-string parsing
- Improved error massages ... (NameError: name 'massages' is not defined. Did you mean 'messages'?)
- Comprehension inlining - speeding up execution of comprehensions
- New type annotation syntax for generic classes
- Isolated subinterpreters with separat GIL
Conferences Galore!
Did you attend any of these great conferences? Even if you did, did you miss some of the talks? Check out the videos!
There are many, many more that I missed! There are a lot of great Python-related events all over the place.
I believe that's why we need...
PyVideoCon: No registration required... Watch on your own time... Not a real conference...
Hypermedia
Hypermedia has been around for a very long time. That doesn't necessarily mean that it is no longer relevant. In fact, some of the ways we can leverage hypermedia with server-side languages (like Python!) is quite powerful. But first, some basics:
- REST Architecture - Roy Fielding's original chapter on Representational State Transfer
- HATEOAS - Hypermedia as the Engine of Application State
htmx
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext.
PyHAT!
If you're interested in how you can use hypermedia in your Python applications, do check out the PyHAT: Awesome Python htmx repository.
Other Stuff
- Intro/outro music: Loins of a Matador by Remember Your Dead (yes, I used to make music long ago...)
- Camera used for video: OnePlus 8T
- Video Editing Software: DaVinci Resolve
- Bacground image: Picture I took overlooking Los Angeles from Griffith Observatory (I think)
- xkcd: "Someone is WRONG on the internet!"
- Graphics/Text created on Canva
- MANY MANY MANY thanks to Jon Banafato and the team over at PyGotham. They supplied a mic, lights, stands, and green screen that proved invaluable in the production of Python2Nite!