<p><strong>Watch the live stream:</strong></p>
<a href='https://www.youtube.com/watch?v=A8nwbD3loIs' style='font-weight: bold;'>Watch on YouTube</a><br>
<br>
<p><strong>About the show</strong></p>
<p>Sponsored by <a href="https://pythonbytes.fm/compiler"><strong>Compiler Podcast from RedHat</strong></a></p>
<p><strong>Brian #1:</strong> <a href="https://wagtail.org/blog/ten-tasty-ingredients-for-a-delicious-pull-request/?utm_source=pocket_mylist"><strong>Ten tasty ingredients for a delicious pull request</strong></a></p>
<ul>
<li>on wagtail blog, from LB</li>
<li>Great tips for helping out with open source projects. </li>
<li>But even for closed source, there’s good stuff there to know for people transitioning to single person projects to working on a team.</li>
<li>The tips
<ul>
<li>Read the [development] instructions. The contributing guide, etc.</li>
<li>Read the issue and comments</li>
<li>Create a fresh branch for your contribution</li>
<li>Keep the changes focused</li>
<li>Write unit tests
<ul>
<li>also, extending tests for untested or under-tested features are a great way to contributes</li>
</ul></li>
<li>Give your pull request a name with context</li>
<li>Reference the issue being fixed or resolved in the pull request</li>
<li>Review & fix the CI failures</li>
<li>Push to the same branch with fixes and do not open a new pull request</li>
<li>Be patient. (Article lists this as “Eagerness balanced with patience”).</li>
</ul></li>
</ul>
<p><strong>Michael #2:</strong> <a href="https://pypi.org/project/textX/"><strong>textX</strong></a></p>
<ul>
<li>via <a href="https://twitter.com/RhetTurnbull"><strong>Rhet Turnbull</strong></a></li>
<li>textX is a meta-language for building Domain-Specific Languages (DSLs) in Python. It is inspired by <a href="http://www.eclipse.org/Xtext/">Xtext</a>.</li>
<li>In a nutshell, textX will help you build your textual language in an easy way. You can invent your own language or build a support for already existing textual language or file format.</li>
<li>From a single language description (grammar), textX will build a parser and a meta-model (a.k.a. abstract syntax) for the language</li>
</ul>
<p><strong>Brian #3:</strong> <a href="https://neopythonic.blogspot.com/2022/10/reasoning-about-asynciosemaphore.html"><strong>Reasoning about asyncio.Semaphore</strong></a></p>
<ul>
<li>Guido van Rossum</li>
<li>Article uses a fast food restaurant analogy to reason about concurrency, asyncio, locks, and semaphores.</li>
<li>A lock is like a single table restaurant with buzzers handed out to people waiting.</li>
<li>A semaphore is like the same thing but with more than one table.</li>
<li>Great discussion of the complexities of the Semaphore implementation.</li>
<li>Also of concurrency.</li>
<li>But almost as important, it’s an excellent example of utilizing a fairly easy to visualize analogy to reason about a complex problem. It also hits parts of the problem difficult to fit into the analogy, and pragmatically abandons the analogy when necessary.</li>
</ul>
<p><strong>Michael #4:</strong> <a href="https://blog.cloudflare.com/turnstile-private-captcha-alternative/"><strong>Turnstile</strong></a></p>
<ul>
<li>A user-friendly, privacy-preserving alternative to CAPTCHA</li>
<li>I created a Python library based on Pydantic to validate the forms: <a href="https://gist.github.com/mikeckennedy/66d6298106671a3c6215c9262c102d74"><strong>turnstile.py</strong></a> (should I make this proper package and GitHub repo?)</li>
</ul>
<p><strong>Extras</strong> </p>
<p><strong>Brian</strong>: </p>
<ul>
<li>Choosing a place to host your Python application.
<ul>
<li>aka <a href="https://testdriven.io/blog/heroku-alternatives/#railwayapp"><strong>Heroku Alternatives for Python-based Applications</strong></a></li>
</ul></li>
<li>Kicking around the idea of starting cohort based pytest training, possibly starting mid Dec.
<ul>
<li>Please let me know if you think this is a good idea and you might be interested. </li>
<li>message me <a href="https://twitter.com/brianokken">@brianokken</a></li>
</ul></li>
</ul>
<p><strong>Michael</strong>:</p>
<ul>
<li><strong>Cppfront project aims to modernize C++</strong></li>
<li><a href="https://twitter.com/JeffersGlass/status/1575940781516673024?cxt=HBwWgMDS1dDy7t4rAAAA&cn=ZmxleGlibGVfcmVjcw%3D%3D&refsrc=email"><strong>New pyscript</strong></a> (will cover in more depth soon)</li>
<li><a href="https://nextdns.io/?from=a743zhpr"><strong>NextDNS</strong></a> follow up
<ul>
<li><a href="https://nextdns.io/?from=a743zhpr"><strong>https://nextdns.io/</strong></a> </li>
<li>Yes, it’s basically PiHole in the Cloud with tons of options</li>
<li>Currently outdoing my NordVPN protections</li>
<li>Try with <a href="https://adblock-tester.com"><strong>https://adblock-tester.com</strong></a></li>
<li>Had to manually set DNS-over-HTTPS in Vivaldi to work with VPN</li>
<li>Add additional blocking lists</li>
</ul></li>
<li>Got a <a href="https://www.adafruit.com/product/5000"><strong>Feather ESP32-S2</strong></a> and put CircuitPython on it</li>
</ul>
<p><strong>Joke:</strong> <a href="https://twitter.com/PR0GRAMMERHUM0R/status/1571393611396169728"><strong>Getting help with code</strong></a></p>
↧