This commit is contained in:
Jim Bennett 2022-05-11 10:35:46 -07:00 коммит произвёл GitHub
Родитель f0d707b42b
Коммит 331a5f5fb7
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 80 добавлений и 0 удалений

Просмотреть файл

@ -6,6 +6,8 @@ Check out this folder for past or upcoming **Jim Learns Stuff** sessions, where
[**Jim Learns Stuff - Jim Re-learns C++**](./jim-relearns-cpp/README.md)
[**Jim Learns Stuff - Cool stuff with Python+**](./jim-relearns-cpp/README.md)
---
## Speaker

Просмотреть файл

@ -0,0 +1,78 @@
# Jim Learns Stuff - cool things with Python
Python is one of the top programming languages in the world, topping the TIOBE index and coming second in the GitHub state of the Octoverse report.
Python is a very versatile language, used for everything from teaching young kids to code, to building complex ML and AI models. Its used by web developers, micro-service developers, infrastructure engineers, and data scientists.
In this series of Jim Learns Stuff, Jim will be playing with some cool things with Python (some very hot of the presses), including re-creating classic cryptography from the ancient world, embedding Python in a web page, and even making Python run faster!
## Registration/Live stream links
These events are run through the [Microsoft Reactor Meetup group](https://www.meetup.com/Microsoft-Reactor-Redmond/). You can register for these events on Meetup, or catch the live stream/recording on YouTube, or watch the live stream on Twitch.
| Date/Time (Pacific Time) | Episode | Meetup registration link | Live stream/Recording | Twitch |
| ---- | ------- | ------------------------ | ----------- | ------ |
| 4:00pm, 13th June 2022 | [Ancient cryptography](#episode-1---ancient-cryptography) | <a href="https://www.meetup.com/Microsoft-Reactor-Redmond/events/285828787/"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/meetup.svg" alt="Meetup registration link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://aka.ms/JLSAncientcryptography"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/youtube.svg" alt="YouTube live stream link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://www.twitch.tv/microsoftdeveloper"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/twitch.svg" alt="Twitch live stream link" style="vertical-align:top; margin:6px 4px"></a> |
| 4:00pm, 20th June 2022 | [Python in the browser](#episode-2---python-in-the-browser) | <a href="https://www.meetup.com/Microsoft-Reactor-Redmond/events/285828825/"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/meetup.svg" alt="Meetup registration link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://aka.ms/JLSPythoninthebrowser"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/youtube.svg" alt="YouTube live stream link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://www.twitch.tv/microsoftdeveloper"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/twitch.svg" alt="Twitch live stream link" style="vertical-align:top; margin:6px 4px"></a> |
| 4:00pm, 27th June 2022 | [Make Python faster](#episode-3---make-python-faster) | <a href="https://www.meetup.com/Microsoft-Reactor-Redmond/events/285828838/"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/meetup.svg" alt="Meetup registration link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://aka.ms/JLSMakePythonfaster"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/youtube.svg" alt="YouTube live stream link" style="vertical-align:top; margin:6px 4px"></a> | <a href="https://www.twitch.tv/microsoftdeveloper"><img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/twitch.svg" alt="Twitch live stream link" style="vertical-align:top; margin:6px 4px"></a> |
### Episode 1 - Ancient cryptography
Did you know some of the earliest documented cryptography was used for lovers to exchange love notes nearly 2,500 years ago? Or that techniques to break cryptography trace their origins to 1,500 years ago?
In this episode, Jim explores some classic cryptography and builds out tools in Python to not only encrypt messages, but also to try to decrypt them! hell be travelling around the ancient world from India, to Rome, Sparta and Baghdad, learning about their techniques for encrypting and decrypting all manner of secrets.
### Episode 2 - Python in the browser
We all know to do web things in a browser you need JavaScript, right? Thats the only programming language you can mix in with HTML and have it work? Right? Right?
Wrong! How about Python inline in your HTML? Yes, this is now a thing thanks to [PyScript](https://pyscript.net), recently announced at PyCon US. PyScript uses a version of Python running under Web Assembly to allow you to use in-line Python, accessing all the normal Python packages you know and love.
In this episode, Jim learns all about PyScript, putting the early alpha versions through their paces to build out a simple web app. Hell be seeing if he can do web development without JavaScript.
### Episode 3 - Make Python faster
One of the downsides to Python is speed. Its very fast to develop with, but at run time its nowhere near as fast as compiled languages like C# or C++. In fact, the Computer Language Benchmarks Game with binary trees shows a C++ app can run the test scenario in less than 1 second, but Python takes over 44!
Part of the reason is that Python is an interpreted language – each line is read, interpreted into computer instructions then run, rather than a compiled language where the compiler can create the computer instructions before the code is run, and find fun ways to optimize.
What if there was a compiler for Python? Imagine if you could drop in a compiler that would create compiled code the first time your code is run, then use that instead of interpreting the code each time. It turns out there is, and its called [PyJion](https://www.trypyjion.com).
In this episode Jim puts PyJion through its paces. Hell dig into how to enable it, how it works, and how much of a difference it can make.
## Speakers
### Jim Bennett
![A picture of Jim standing outside a building with his arms crossed looking very handsome in a shirt that says Puppies, Azure and I'm fine](https://github.com/jimbobbennett/jimbobbennett/raw/main/images/Headshot1-tiny-square.png)
Jim is a Regional Cloud Advocate focusing on building out and skilling communities in the Pacific North West, with a focus on the Microsoft Reactor in Redmond, Washington. Hes British, so sounds way smarter than he actually is, and is happy he moved to Redmond in time to be locked down at home and not see the office he came to work in, or the places he wanted to visit. In the past hes lived in 4 continents working as a developer in the mobile, desktop, and scientific space. He's spoken at conferences and events all around the globe, organised meetup groups and communities, and written a book on mobile development.
He also hates and is allergic to cats, but has a 9-year-old daughter who loves cats, so he has 2 cats.
You can find Jim on the following platforms:
<a href="https://jimbobbennett.io">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/jim/blog.svg" alt="dev.to" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://twitter.com/jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/twitter.svg" alt="dev.to" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://instagram.com/jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/instagram.svg" alt="dev.to" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://linkedin.com/in/jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/linkedin.svg" alt="twitter" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://dev.to/jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/blogs/devto.svg" alt="dev.to" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://aka.ms/jim/youtube">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/youtube.svg" alt="YouTbe" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://twitch.com/jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/streaming/twitch.svg" alt="Twitch" style="vertical-align:top; margin:6px 4px">
</a>
<a href="https://www.tiktok.com/@jimbobbennett">
<img src="https://raw.githubusercontent.com/jimbobbennett/ColoredBadges/main/svg/social/tiktok.svg" alt="TikTok" style="vertical-align:top; margin:6px 4px">
</a>