<a href='https://www.youtube.com/watch?v=BTVrhmcjy9c' 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>Complier Podcast from RedHat</strong></a></p>
<p><strong>Connect with the hosts</strong></p>
<ul>
<li>Michael: <a href="https://fosstodon.org/@mkennedy"><strong>@mkennedy@fosstodon.org</strong></a></li>
<li>Brian: <a href="https://fosstodon.org/@brianokken"><strong>@brianokken@fosstodon.org</strong></a></li>
</ul>
<p><strong>Brian #1:</strong> <a href="https://simonwillison.net/2022/Nov/26/productivity/"><strong>Coping strategies for the serial project hoarder</strong></a></p>
<ul>
<li>Simon Willison</li>
<li>Also a talk from DjangoCon2022
<ul>
<li><a href="https://www.youtube.com/watch?v=GLkRK2rJGB0">Massively increase your productivity on personal projects with comprehensive documentation and automated tests.</a></li>
</ul></li>
<li>I’m actually not sure what title would be best, but this is an incredible video that I’m encouraging every developer to watch, whether or not you work with open source projects.</li>
<li>Covers
<ul>
<li>The perfect commit
<ul>
<li>Implementation, Tests, Documentation, and a link to an issue thread</li>
</ul></li>
<li>Tests
<ul>
<li>Prove the implementation works, pass if it works, fails otherwise</li>
<li>A discussion of how adding tests is way easier than starting testing a project, so get the framework in place early, and devs won’t be afraid to add to it.</li>
</ul></li>
<li>Cookiecutter repo templates for projects you will likely start
<ul>
<li>super cool idea to have your own that you keep up to date with your preferred best practices</li>
</ul></li>
<li>A trick for using GitHub actions to use those templates to populate new repos
<ul>
<li>Trying this out is on my todo list</li>
</ul></li>
<li>Documentation must live in the same repo as the code
<ul>
<li>and be included in PRs for the PR to be accepted by code review</li>
<li>maybe even test this using documentation unit tests</li>
</ul></li>
<li>Everything links to an issue thread
<ul>
<li>Keep all of your thoughts in an issue thread</li>
<li>Doesn’t have to be a dialog with anyone but yourself</li>
<li>This allows you to NOT HAVE TO REMEMBER ANYTHING</li>
</ul></li>
<li>Tell people what you did
<ul>
<li>This is just as important in work projects as it is in open source</li>
<li>Blog about it </li>
<li>Post on Twitter (or Mastodon, etc.)</li>
</ul></li>
<li>Avoid side projects with user accounts
<ul>
<li>“If you build something that people can sign into, that’s not a side-project, it’s an unpaid job. It’s a very big responsibility, avoid at all costs!” - this is hilarious and something I’m probably not going to follow</li>
</ul></li>
</ul></li>
</ul>
<p><strong>Michael #2:</strong> <a href="https://githubcopilotlitigation.com/"><strong>GitHub copilot lawsuit</strong></a></p>
<ul>
<li>First, we aren’t lawyers</li>
<li>Lawsuit filed on November 3, 2022</li>
<li>We’ve filed a lawsuit challenging GitHub Copilot, an AI product that relies on unprecedented open-source software piracy.</li>
<li>GitHub copilot is trained on projects on GitHub, including GPL and other restrictive licenses</li>
<li>This is the first class-action case in the US challenging the training and output of AI systems.</li>
</ul>
<p><strong>Brian #3:</strong> <a href="https://mfcallahan.blog/2022/11/10/display-a-message-box-with-python-without-using-a-library-or-other-dependency-windows/"><strong>Use Windows Dialog Boxes from Python with no extra libraries</strong></a></p>
<ul>
<li>Actual title: <strong>Display a message box with Python without using a non-standard library or other dependency (Windows)</strong></li>
<li>By Matt Callahan / learned about from from PyCoders weekly</li>
<li>When I need a simple pop up dialog box that’s cross platform, <a href="https://www.pysimplegui.org/en/latest/">PySimpleGUI</a> is awesome and so easy.</li>
<li>But when I KNOW it’s only going to run on Windows, why not just use native dialog boxes?</li>
<li>Matt’s article shows you how, using <a href="https://docs.python.org/3/library/ctypes.html?utm_source=pocket_saves">ctypes</a> to call into a Windows dll.</li>
<li><p>Small example from article:</p>
<pre><code>import ctypes
def main():
WS_EX_TOPMOST = 0x40000
windowTitle = "Python Windows Message Box Test"
message = "Hello, world!"
# display a message box; execution will stop here until user acknowledges
ctypes.windll.user32.MessageBoxExW(None, message, windowTitle, WS_EX_TOPMOST)
print("User clicked OK.")
if __name__ == "__main__":
main()
</code></pre></li>
<li><p>Notes:</p>
<ul>
<li>The uType (fourth) parameter is a multi-use value that can be or-ed for things like:
<ul>
<li>Type of dialog box: Help, OK, OK/Cancel, Retry/Cancel, Yes/No, etc.</li>
<li>The icon to use: Exclamation, Info, Question, etc.</li>
<li>Modality, …</li>
</ul></li>
<li>Return value is used to understand how user reacted:
<ul>
<li>1 - OK, 2 - Cancel (or x), …, 6 - Yes, 7 - No, …</li>
</ul></li>
</ul></li>
</ul>
<p><strong>Michael #4:</strong> <strong>Extra Extra Extra</strong></p>
<ul>
<li><a href="https://twitter.com/pycoders/status/1593259414437478400"><strong>Python browser extensions</strong></a> </li>
<li><a href="https://jointakahe.org"><strong>takahe</strong></a> - Mastodon on Python - the right way</li>
<li><a href="https://mkennedy.codes/posts/black-friday-almost-melted-servers/"><strong>Michael’s article in Black Friday perf</strong></a>
<ul>
<li>We could scale down our server after what I’ve learned. But we’d pay 10x more in bandwidth overages ironically: Last month Talk Python broadly transferred 20.2 TB of data from our servers</li>
</ul></li>
<li>Moved our static traffic to <a href="https://bunny.net?ref=b4f3tqcyae"><strong>Bunny CDN</strong></a>, highly recommended service</li>
<li>RSS revival
<ul>
<li>My blog: <a href="https://mkennedy.codes"><strong>mkennedy.codes</strong></a> </li>
<li><a href="https://reederapp.com"><strong>Reeder 5 app</strong></a> on iOS and macOS</li>
</ul></li>
<li>Rivers Cuomo (from Weezer) and Guido <a href="https://www.singforscience.org/episodes/rivers-cuomo-guido-van-rossum"><strong>sit down for a talk together</strong></a>
<ul>
<li>Also check out the Talk Python episode with Rivers: <a href="https://talkpython.fm/episodes/show/327/little-automation-tools-in-python"><strong>talkpython.fm/327</strong></a></li>
</ul></li>
<li><a href="http://www.libhunt.com/ahoy/messages/ARRuCh7igpeLGSpmZv3TX5meA1oAEq79/click?signature=487fbf5cec0d22c6fdf56d1cfccc493fac8d2044&url=https%3A%2F%2Fwww.kite.com%2Fblog%2Fproduct%2Fkite-is-saying-farewell"><strong>Kite is saying farewell</strong></a></li>
</ul>
↧