From 7a9291a2ab77aebc652ac49ceead9467372d6e36 Mon Sep 17 00:00:00 2001 From: Al Sweigart Date: Tue, 4 Jun 2024 16:44:55 -0400 Subject: [PATCH 1/2] Add files for PyTexas 2024 --- pytexas-2024/category.json | 3 +++ ...to-10-how-to-make-scrolling-ascii-art.json | 18 +++++++++++++++ ...ng-with-kalman-filters-and-stone-soup.json | 18 +++++++++++++++ pytexas-2024/videos/always-use-sets.json | 18 +++++++++++++++ ...ng-assorted-data-with-python-and-llms.json | 18 +++++++++++++++ ...nt-containers-for-python-applications.json | 18 +++++++++++++++ ...tegration-testing-with-testcontainers.json | 18 +++++++++++++++ ...day-1-keynote-design-of-everyday-apis.json | 18 +++++++++++++++ .../day-2-keynote-thriving-with-python.json | 18 +++++++++++++++ ...dly-cli-for-api-driven-infrastructure.json | 18 +++++++++++++++ .../videos/iterate-iterate-iterate.json | 18 +++++++++++++++ ...intaining-open-source-python-projects.json | 18 +++++++++++++++ .../videos/lightning-talks-day-1.json | 22 +++++++++++++++++++ .../videos/lightning-talks-day-2.json | 20 +++++++++++++++++ ...-methods-you-can-make-by-dunder-seuss.json | 18 +++++++++++++++ ...l-importlib-inspect-and-a-little-spit.json | 18 +++++++++++++++ pytexas-2024/videos/pysecops.json | 19 ++++++++++++++++ .../videos/python-code-vs-pythonic-code.json | 18 +++++++++++++++ ...rest-deploy-notebooks-as-web-services.json | 18 +++++++++++++++ .../sanely-working-with-legacy-code.json | 18 +++++++++++++++ .../videos/system-design-on-easy-mode.json | 18 +++++++++++++++ ...ting-with-python-in-jupyter-notebooks.json | 18 +++++++++++++++ ...-with-audio-in-python-feat-pedalboard.json | 18 +++++++++++++++ 23 files changed, 406 insertions(+) create mode 100644 pytexas-2024/category.json create mode 100644 pytexas-2024/videos/20-goto-10-how-to-make-scrolling-ascii-art.json create mode 100644 pytexas-2024/videos/advanced-tracking-with-kalman-filters-and-stone-soup.json create mode 100644 pytexas-2024/videos/always-use-sets.json create mode 100644 pytexas-2024/videos/anarchy-to-order-organizing-assorted-data-with-python-and-llms.json create mode 100644 pytexas-2024/videos/building-efficient-containers-for-python-applications.json create mode 100644 pytexas-2024/videos/containercraft-mastering-integration-testing-with-testcontainers.json create mode 100644 pytexas-2024/videos/day-1-keynote-design-of-everyday-apis.json create mode 100644 pytexas-2024/videos/day-2-keynote-thriving-with-python.json create mode 100644 pytexas-2024/videos/designing-a-human-friendly-cli-for-api-driven-infrastructure.json create mode 100644 pytexas-2024/videos/iterate-iterate-iterate.json create mode 100644 pytexas-2024/videos/lessons-learned-maintaining-open-source-python-projects.json create mode 100644 pytexas-2024/videos/lightning-talks-day-1.json create mode 100644 pytexas-2024/videos/lightning-talks-day-2.json create mode 100644 pytexas-2024/videos/oh-the-methods-you-can-make-by-dunder-seuss.json create mode 100644 pytexas-2024/videos/plugging-in-with-pkgutil-importlib-inspect-and-a-little-spit.json create mode 100644 pytexas-2024/videos/pysecops.json create mode 100644 pytexas-2024/videos/python-code-vs-pythonic-code.json create mode 100644 pytexas-2024/videos/rest-easy-with-jupyrest-deploy-notebooks-as-web-services.json create mode 100644 pytexas-2024/videos/sanely-working-with-legacy-code.json create mode 100644 pytexas-2024/videos/system-design-on-easy-mode.json create mode 100644 pytexas-2024/videos/voice-computing-with-python-in-jupyter-notebooks.json create mode 100644 pytexas-2024/videos/working-with-audio-in-python-feat-pedalboard.json diff --git a/pytexas-2024/category.json b/pytexas-2024/category.json new file mode 100644 index 000000000..01a6794f9 --- /dev/null +++ b/pytexas-2024/category.json @@ -0,0 +1,3 @@ +{ + "title": "PyTexas 2024" +} diff --git a/pytexas-2024/videos/20-goto-10-how-to-make-scrolling-ascii-art.json b/pytexas-2024/videos/20-goto-10-how-to-make-scrolling-ascii-art.json new file mode 100644 index 000000000..bfde98750 --- /dev/null +++ b/pytexas-2024/videos/20-goto-10-how-to-make-scrolling-ascii-art.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "20 GOTO 10: How to Make Scrolling ASCII Art\n\nScroll art is a form of animated ASCII art that beginners can make. Using loops, print(), and random numbers, you'll learn how to make a surprisingly wide variety of digital art within the constraints of text strings. You'll also learn about the history of ASCII art, computer education, and where to find inspiration for your own digital art.\n\nSpeaker: Al Sweigart\n\nAl Sweigart is a software developer, artist, Fellow of the Python Software Foundation, and the author of Automate the Boring Stuff with Python and other programming books freely available under the Creative Commons license at https://inventwithpython.com.", + "duration": 1377, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Al Sweigart" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/SyKUBXJLL50/maxresdefault.webp", + "title": "20 GOTO 10: How to Make Scrolling ASCII Art", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=SyKUBXJLL50" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/advanced-tracking-with-kalman-filters-and-stone-soup.json b/pytexas-2024/videos/advanced-tracking-with-kalman-filters-and-stone-soup.json new file mode 100644 index 000000000..c16235b56 --- /dev/null +++ b/pytexas-2024/videos/advanced-tracking-with-kalman-filters-and-stone-soup.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Advanced Tracking with Kalman Filters and Stone Soup\n\nLearn how to implement sophisticated tracking solutions in Python with Kalman filters and the Stone Soup framework. This demo aims to enhance your data analytics and machine learning skills by showcasing an implementation of a tracking algorithm.\n\nSpeaker: Cynthia Ukawu\n\nI'm a backend software engineer for a tech company in Washington, DC.", + "duration": 1462, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Cynthia Ukawu" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/1P8nYgPlPNQ/maxresdefault.webp", + "title": "Advanced Tracking with Kalman Filters and Stone Soup", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=1P8nYgPlPNQ" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/always-use-sets.json b/pytexas-2024/videos/always-use-sets.json new file mode 100644 index 000000000..5c0c36bc9 --- /dev/null +++ b/pytexas-2024/videos/always-use-sets.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Always Use Sets!\n\nIn this talk, we'll show how to use sets to improve the performance and clarity of our code. We'll even show non-set-like cases that gain enough performance by leveraging sets to make this approach worth some amount of extra complexity.\n\nSpeaker: Andy Fundinger\n\nAndy Fundinger is a senior engineer at Bloomberg, where he develops Python applications in the Data Gateway Platform team and supports Python developers throughout the firm through the company's Python Guild. Andy has spoken several times at PyGotham, as well as other conferences such as QCon, PyCaribbean, and EuroPython.\n\nIn the past, Andy has worked on private equity and credit risk applications, web services, and virtual worlds. Andy holds a master's degree in engineering from Stevens Institute of Technology.", + "duration": 1531, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Andy Fundinger" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/S7tLhIJZKxA/maxresdefault.webp", + "title": "Always Use Sets!", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=S7tLhIJZKxA" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/anarchy-to-order-organizing-assorted-data-with-python-and-llms.json b/pytexas-2024/videos/anarchy-to-order-organizing-assorted-data-with-python-and-llms.json new file mode 100644 index 000000000..58c1b1f8f --- /dev/null +++ b/pytexas-2024/videos/anarchy-to-order-organizing-assorted-data-with-python-and-llms.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Anarchy to Order - Organizing assorted data with Python and LLMs\n\nBringing structure to chaotic, heterogeneous data is critical for fueling effective applications. This talk will show how to leverage LangChain in a Python application to take assorted file types and build a unified knowledge graph stored in a Neo4j database.\n\nKey takeaways will include:\n- How to ingest/import varied data file types\n- Structuring/organizing data into a graph database\n- Using Langchain, GraphQL, or Cypher to use this data\n\nSpeaker: Jason Koo\n\nMobile Developer turned Pythonista, Jason Koo is a Developer Advocate Manager at Neo4j who loves all things Python! Most of the time he assists a small but mighty team of Advocates but still finds time to code and speak at developer meetups, conferences, and the occasional podcast. He also organizes and hosts a thriving Graph Database Meetup group in sunny San Diego.", + "duration": 1767, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Jason Koo" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/XvzdY0mvikg/maxresdefault.webp", + "title": "Anarchy to Order - Organizing assorted data with Python and LLMs", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=XvzdY0mvikg" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/building-efficient-containers-for-python-applications.json b/pytexas-2024/videos/building-efficient-containers-for-python-applications.json new file mode 100644 index 000000000..387d95daa --- /dev/null +++ b/pytexas-2024/videos/building-efficient-containers-for-python-applications.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Building Efficient Containers for Python Applications\n\nIn recent years, containerization using tools like Docker has become a cornerstone for deploying applications efficiently. This talk focuses on techniques and best practices to build more efficient Docker images for Python in order to generate reproducible and quicker builds while reducing the image sizes at the same time.\n\nSpeaker: Avik Basu\n\nAvik is an experienced Data Scientist and Machine Learning Engineer. Currently he leads AIOps at Intuit. He was first introduced to Python in 2013 during his undergrad, and has been his primary language since then. He views writing elegant Python code as an art, blending creativity with engineering precision. Presently, he leads the Machine Learning efforts for AIOps at Intuit.", + "duration": 1808, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Avik Basu" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/x3jh0wQmMrg/maxresdefault.webp", + "title": "Building Efficient Containers for Python Applications", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=x3jh0wQmMrg" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/containercraft-mastering-integration-testing-with-testcontainers.json b/pytexas-2024/videos/containercraft-mastering-integration-testing-with-testcontainers.json new file mode 100644 index 000000000..d79c750a4 --- /dev/null +++ b/pytexas-2024/videos/containercraft-mastering-integration-testing-with-testcontainers.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "ContainerCraft: Mastering Efficient Integration Testing with TestContainers\n\nIn the ever-evolving landscape of software development, effective integration testing is important. My talk, titled \"ContainerCraft: Mastering Integration Testing with TestContainers\" delves into the art of efficient integration testing using TestContainers.\n\nSpeaker: Sameer Shukla\n\nI'm Sameer Shukla, a dedicated engineer with a rich background spanning 14 years in software design and development. Beyond my role as an engineer, I am an author and researcher. I find joy in continually learning and sharing insights about cutting-edge tools and technologies through my contributions to diverse online learning platforms and esteemed international journals.", + "duration": 1178, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Sameer Shukla" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/FdGwexSiVvY/maxresdefault.webp", + "title": "ContainerCraft: Mastering Integration Testing with TestContainers", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=FdGwexSiVvY" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/day-1-keynote-design-of-everyday-apis.json b/pytexas-2024/videos/day-1-keynote-design-of-everyday-apis.json new file mode 100644 index 000000000..e3022c9a1 --- /dev/null +++ b/pytexas-2024/videos/day-1-keynote-design-of-everyday-apis.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Lynn Root is a Staff Engineer at Spotify and resident FOSS evangelist. She is a seasoned speaker on building and maintaining distributed systems, and is currently spearheading governance compliance for Spotify's ML/AI platform. Lynn is a global leader of diversity in the Python community, a member of the PyLadies Global Council, and the former Vice Chair of the Python Software Foundation Board of Directors. When her hands are not on a keyboard, they are usually holding a bass guitar.", + "duration": 2198, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Lynn Root" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/rAMLQkY7TZM/maxresdefault.webp", + "title": "The Design of Everyday APIs", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=rAMLQkY7TZM" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/day-2-keynote-thriving-with-python.json b/pytexas-2024/videos/day-2-keynote-thriving-with-python.json new file mode 100644 index 000000000..8b6bbd4fb --- /dev/null +++ b/pytexas-2024/videos/day-2-keynote-thriving-with-python.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Carol Willing is a three-time Python Steering Council member, a Python Core Developer, PSF Fellow, and a Project Jupyter core contributor. In 2019, she was awarded the Frank Willison Award for technical and community contributions to Python. As part of the Jupyter core team, Carol was awarded the 2017 ACM Software System Award for Project Jupyter's lasting influence. She's also a leader in open science and open-source governance serving on Quansight Labs Advisory Board and the CZI Open Science Advisory Board. She's driven to make open science accessible through open tools and learning materials. She recently served as Noteable's VP of Engineering.", + "duration": 3035, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Carol Willing" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/Ww2-Cw9qnmE/maxresdefault.webp", + "title": "Day 2 Keynote - Thriving with Python", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=Ww2-Cw9qnmE" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/designing-a-human-friendly-cli-for-api-driven-infrastructure.json b/pytexas-2024/videos/designing-a-human-friendly-cli-for-api-driven-infrastructure.json new file mode 100644 index 000000000..7ebc9f5f0 --- /dev/null +++ b/pytexas-2024/videos/designing-a-human-friendly-cli-for-api-driven-infrastructure.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Designing a Human-Friendly CLI for API-Driven Infrastructure\n\nAs Bloomberg's infrastructure grows and evolves, the tools we use to manage it are becoming increasingly important. To streamline infrastructure management, our team set out to design a REST API and constituent CLI (Command Line Interface) that would comprise a single interface for both programmatic and human interaction with our infrastructure. Traditionally, building a CLI that is tightly coupled to an API requires maintaining a separate codebase, which is tedious and error-prone. Instead, we designed a CLI that dynamically generates commands based on the OpenAPI JSON documentation. However, since APIs are designed for computer interaction, we designed our API to include the information needed to implement a human-friendly CLI. Leveraging Python, FastAPI, and numerous other open source projects, we built a stable, extensible tool that greatly improves how we interact with our infrastructure.\n\nSpeaker: Oliver Rew is a software engineer and a lifelong tinkerer/maker, I have a deep-rooted passion for building, fixing, and breaking things. I recently earned a Masters in Electrical and Computer Engineering, and have gained experience working at both small startups and large companies. I thrive on fixing hard bugs and diving deep into challenging problems.\n\nBeyond my professional work, I'm also involved in an exciting Cubesat project at Portland State University. When I'm not immersed in technology, I enjoy outdoor activities such as biking, rock-climbing, and spending quality time with my dog, Bruce.", + "duration": 1548, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Oliver Rew" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/rM_P1vkM1kw/maxresdefault.webp", + "title": "Designing a Human-Friendly CLI for API-Driven Infrastructure", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=rM_P1vkM1kw" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/iterate-iterate-iterate.json b/pytexas-2024/videos/iterate-iterate-iterate.json new file mode 100644 index 000000000..310c64047 --- /dev/null +++ b/pytexas-2024/videos/iterate-iterate-iterate.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Iterate, Iterate, Iterate!\n\nThe iteration protocol and generators are Python's power tools. Properly used, they allow for clearer code that is easier to debug and understand. The talk will cover the iteration protocol itself, generator functions and expressions, the itertools and more_itertools libraries, and how to use them to up your Python level.\n\nSpeaker: Moshe Zadka\n\nMoshe has been involved in the Linux community since 1998, helping in Linux \"installation parties\". They have been programming Python since 1999, and has contributed to the core Python interpreter. Moshe has been a DevOps/SRE since before those terms existed, caring deeply about software reliability, build reproducibility and other such things. They have worked in companies as small as three people and as big as tens of thousands -- usually some place around where software meets infrastructure.", + "duration": 1636, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Moshe Zadka" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/WMK7pTOdECQ/maxresdefault.webp", + "title": "Iterate, Iterate, Iterate!", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=WMK7pTOdECQ" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/lessons-learned-maintaining-open-source-python-projects.json b/pytexas-2024/videos/lessons-learned-maintaining-open-source-python-projects.json new file mode 100644 index 000000000..4e8ec7e22 --- /dev/null +++ b/pytexas-2024/videos/lessons-learned-maintaining-open-source-python-projects.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Lessons learned maintaining open source Python projects\n\nI started maintaining open source projects back in 2016 with tox. In 2018, I became a virtualenv maintainer. Today, this has now ballooned to 16 different packages where I'm the primary maintainer (+6 other projects where I help out). On average, these packages get more than 360 million downloads each month.\n\nIn this talk, I will share my experience, and explore how I manage to pull this off while also having a primary job and a family. I will present which techniques I tried, what worked, and what did not. I will also share my views on how one should approach maintaining an open source package to avoid burnout.\n\nSpeaker: Bernat Gabor", + "duration": 2140, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Bernat Gabor" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/rcSLOqwpJk8/maxresdefault.webp", + "title": "Lessons learned maintaining open source Python projects", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=rcSLOqwpJk8" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/lightning-talks-day-1.json b/pytexas-2024/videos/lightning-talks-day-1.json new file mode 100644 index 000000000..63ba9b8ab --- /dev/null +++ b/pytexas-2024/videos/lightning-talks-day-1.json @@ -0,0 +1,22 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Lightning talks are five minute talks on a variety of subjects.", + "duration": 2221, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Pandy Knight", + "Paul McGuire", + "Al Sweigart", + "Peter Sobot", + "Josh Schneider" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/xmLjd6X-d14/maxresdefault.webp", + "title": "Lightning Talks (Day 1)", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=xmLjd6X-d14" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/lightning-talks-day-2.json b/pytexas-2024/videos/lightning-talks-day-2.json new file mode 100644 index 000000000..2a09092cd --- /dev/null +++ b/pytexas-2024/videos/lightning-talks-day-2.json @@ -0,0 +1,20 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Lightning talks are five minute talks on a variety of subjects.", + "duration": 2221, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Walker Hale", + "Max Logan", + "Devon Braner" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/YhgzCFG4orA/maxresdefault.webp", + "title": "Lightning Talks (Day 2)", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=YhgzCFG4orA" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/oh-the-methods-you-can-make-by-dunder-seuss.json b/pytexas-2024/videos/oh-the-methods-you-can-make-by-dunder-seuss.json new file mode 100644 index 000000000..a23518ac9 --- /dev/null +++ b/pytexas-2024/videos/oh-the-methods-you-can-make-by-dunder-seuss.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Oh the (Methods) You Can (Make): By Dunder Seuss\n\nYou can make many methods\nOver 100 to be exact\nThat start with two underscores\nWhat do you think of that?\n\nThe runtime, it calls these\nAt points A or B\nTo do special magic\nAt runtime, you see.\n\nYou may have seen _getattr_ or _init_\n\nBut __rfloordiv__? What's the point of it?\n\nCome take a quick tour, your mother won't mind\nAnd hear a talk that's one-of-a-kind\nAbout how Python uses them under-the-hood\nAnd how you can use them to write code that's real good\n\nSpeaker: Joshua Cannon\n\nHowdy y'all! Sometimes I'm a Build Engineer and talk your ear off about tools and developer experience. Sometimes I go by \"Dunder Seuss\" and perform \"edutainment\" about Python itself. But mostly I'm just here to have fun and enjoy the company of others.", + "duration": 1340, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Josh Cannon" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/p1V9So7HBcg/maxresdefault.webp", + "title": "Oh the (Methods) You Can (Make): By Dunder Seuss", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=p1V9So7HBcg" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/plugging-in-with-pkgutil-importlib-inspect-and-a-little-spit.json b/pytexas-2024/videos/plugging-in-with-pkgutil-importlib-inspect-and-a-little-spit.json new file mode 100644 index 000000000..82240b101 --- /dev/null +++ b/pytexas-2024/videos/plugging-in-with-pkgutil-importlib-inspect-and-a-little-spit.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Plugging In with pkgutil, importlib, inspect, and a little spit\n\nSometimes, you want to build a framework where expansion can come via installed python packages and modules. There are third party libraries to handle that, but maybe you don't want something that heavy weight, don't want to handle the burden of security and quality testing releases, or just want to write your own so you know how it works. I'll walk you through how to create a pluggable framework where plugins can be delivered as Python packages. I'll show you some useful standard library packages that you need, some pitfalls along the way, and how to get a working prototype in no time!\n\nSpeaker: Josh Schneider\n\nFather of two boys. Test Automation Engineer. Primarily fluent in Python, but conversant in C#, Go, VBScript, and others. Huge movie geek.", + "duration": 1839, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Josh Schneider" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/Gn8EEw_gJew/maxresdefault.webp", + "title": "Plugging In with pkgutil, importlib, inspect, and a little spit", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=Gn8EEw_gJew" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/pysecops.json b/pytexas-2024/videos/pysecops.json new file mode 100644 index 000000000..1352ab988 --- /dev/null +++ b/pytexas-2024/videos/pysecops.json @@ -0,0 +1,19 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "PySecOps\n\nIn today's interconnected world, securing web applications is more important than ever. This talk will explore the realm of web security vulnerabilities prevalent in Python Django applications and discuss effective DevSecOps practices to mitigate them.\n\nSpeakers: Soundharya Khanapur & Shivani Shetty\n\nSoundharya Khanapur: I am a Masters student at NC State University and an ex-Software Engineer at Mercedes-Benz Research & Development India. My true passion lies in leveraging data-driven technology to bring about innovative solutions. During my leisure hours, you can often find me engaging in sports activities, embarking on explorations of new places, or immersing myself in the creation of entertaining software programs.\n\nShivani Shetty: Hello! I'm Shivani Shetty, a cybersecurity enthusiast driven by an unyielding passion for securing the digital realm. With a solid foundation in Risk Management, Incidence Response and Network Security, I'm embarking on a mission to make cyberspace safer for everyone. My goal? To leverage my experience, insights and hunger for continuous improvement to revolutionize the cybersecurity landscape.", + "duration": 1526, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Soundharya Khanapur", + "Shivani Shetty" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/Y1T-mB-h_JQ/maxresdefault.webp", + "title": "PySecOps", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=Y1T-mB-h_JQ" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/python-code-vs-pythonic-code.json b/pytexas-2024/videos/python-code-vs-pythonic-code.json new file mode 100644 index 000000000..d0fa6d065 --- /dev/null +++ b/pytexas-2024/videos/python-code-vs-pythonic-code.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Python Code vs. Pythonic Code: What Experienced Developers Find Challenging About Learning Python\n\nPython has a reputation for being very easy to learn. Despite this, experienced developers often struggle with working as effectively with Python (e.g., writing Pythonic code) as they are with other programming languages with which they are more familiar. This talk will leverage the experiences of a professional trainer to demystify this dichotomy with the goal of understanding the motivating reasons for it, and making suggestions on how to help developers new to Python move quickly from writing Python code to writing Pythonic code.\n\nSpeaker: Heather Crawford\n\nHeather Crawford is an Engineering Technical Trainer at Bloomberg and a former university professor. In her roles as a professional educator, she has taught learners at many levels from university students at all levels to both entry-level and experienced software engineers. Heather is a Python lover, who has used it since 2007.", + "duration": 1910, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Heather Crawford" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/RdkhRfRizf0/maxresdefault.webp", + "title": "Python Code vs Pythonic Code", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=RdkhRfRizf0" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/rest-easy-with-jupyrest-deploy-notebooks-as-web-services.json b/pytexas-2024/videos/rest-easy-with-jupyrest-deploy-notebooks-as-web-services.json new file mode 100644 index 000000000..7e3a6f30b --- /dev/null +++ b/pytexas-2024/videos/rest-easy-with-jupyrest-deploy-notebooks-as-web-services.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Rest Easy with Jupyrest: Deploy notebooks as web services\n\nJupyter notebooks are awesome! However, a notebook on its own is not a product or a service. Bridging this gap usually involves a complete rewrite into a web service that leaves behind all the awesome-ness of the notebook. What if we didn't have to do this? That's where Jupyrest comes in! Jupyrest is a library I created to solve this exact problem for my team at Microsoft. In this talk I'll show you how you can turn your Jupyter notebooks into a web service without any modifications to it. Jupyrest is being used at Microsoft by data scientists to deploy hundreds of microservices.\n\nSpeaker: Koushik Krishnan\n\nHi! My name is Koushik and I am an engineer at Microsoft. I work on distributed database systems and believe it or not, I use a lot of Python to build tools to so. I believe Python can help us make complicated software systems easier to operate and more performant as a result. When I am not coding I like to play disc golf and try speed-running my favorite video games.", + "duration": 1521, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Koushik Krishnan" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/HWIPkipolUk/maxresdefault.webp", + "title": "Rest Easy with Jupyrest: Deploy Notebooks as Web Services", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=HWIPkipolUk" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/sanely-working-with-legacy-code.json b/pytexas-2024/videos/sanely-working-with-legacy-code.json new file mode 100644 index 000000000..bc88389c8 --- /dev/null +++ b/pytexas-2024/videos/sanely-working-with-legacy-code.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Sanely Working with Legacy Code\n\nFor many developers, they will inevitably have to work with legacy code at some point in their careers. It requires a different set of skills to navigate these codebases as opposed to greenfield code where you start with a clean slate. Join me in exploring techniques to approach legacy code including how to improve documentation, increase testing coverage, refactoring code into smaller more testable units and techniques when you lack time to add tests.\n\nSpeaker: Joe Cabrera\n\nI am a software engineer with +10 years of professional experience building scalable and distributed systems for companies. I am also a subject matter expert in Information Retrieval and Personalized Search. I have spoken at several Python conferences, helped to organize a conference and am involved in the Python open source community.", + "duration": 1056, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Joe Cabrera" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/nfkF00cJw_U/maxresdefault.webp", + "title": "Sanely Working with Legacy Code", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=nfkF00cJw_U" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/system-design-on-easy-mode.json b/pytexas-2024/videos/system-design-on-easy-mode.json new file mode 100644 index 000000000..0bb2b6db4 --- /dev/null +++ b/pytexas-2024/videos/system-design-on-easy-mode.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "System Design on Easy Mode\n\nYou know those system design questions you get when interviewing for senior or staff eng roles? I love them. And while I won't solve them all for you, I will teach you an easy way to solve a large class of them.\n\nSpeaker: Loren Sands-Ramshaw\n\nLoren is a author, having written a book on GraphQL, has worked as a consultant at various startups. They also participate in various open-source projects.", + "duration": 2030, + "language": "eng", + "recorded": "2024-04-21", + "speakers": [ + "Loren Sands-Ramshaw" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/AulAm5BtMXw/maxresdefault.webp", + "title": "System Design on Easy Mode", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=AulAm5BtMXw" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/voice-computing-with-python-in-jupyter-notebooks.json b/pytexas-2024/videos/voice-computing-with-python-in-jupyter-notebooks.json new file mode 100644 index 000000000..e739ea3d5 --- /dev/null +++ b/pytexas-2024/videos/voice-computing-with-python-in-jupyter-notebooks.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Voice Computing with Python in Jupyter Notebooks\n\nJupyter Notebook is a popular platform for writing literate programming documents that contain computer code and its output interleaved with prose that describes the code and the output. Recently, it has become possible to use one's voice to interact with Jupyter notebooks. This capability opens access to those with impaired use of their hands. Voice computing also increases the productivity of workers who are tired of typing and increases the productivity of those workers who speak faster than they can type. I split voice computing into three activities: speech-to-text, speech-to-command, and speech-to-code. Several automated speech recognition software packages operate in Jupyter notebooks and support the three activities to a certain degree. I will provide examples of all three activities as they pertain to applications of Python to our research on the molecular structures of proteins and nucleic acids important in medicine. I have developed and shared several software tools at MooersLab on GitHub and Codeberg that facilitate using existing voice computing software in Jupyter.\n\nSpeaker: Blaine Mooers\n\nBlaine Mooers is an associate professor of biochemistry and physiology at the University of Oklahoma Health Sciences. He has been using Python to develop tools to ease the use of structural biology software by his students and other scientists. He has spoken at Jupyter Con and participated in several SciPy Conferences.", + "duration": 1688, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Blaine Mooers" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/C9GILvqAYVg/maxresdefault.webp", + "title": "Voice Computing with Python in Jupyter Notebooks", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=C9GILvqAYVg" + } + ] +} \ No newline at end of file diff --git a/pytexas-2024/videos/working-with-audio-in-python-feat-pedalboard.json b/pytexas-2024/videos/working-with-audio-in-python-feat-pedalboard.json new file mode 100644 index 000000000..9ce7c2d18 --- /dev/null +++ b/pytexas-2024/videos/working-with-audio-in-python-feat-pedalboard.json @@ -0,0 +1,18 @@ +{ + "copyright_text": "Creative Commons Attribution license (reuse allowed)", + "description": "Working with Audio in Python (feat. Pedalboard)\n\nPython can do (nearly) anything, but using Python to work with audio has always been a complicated and messy affair. In this talk, we'll be going through how digital audio works, how Python can be used to play with audio data, and how a new library - Pedalboard - can help. Pedalboard is a simple, fast, and performant library for doing common audio tasks in Python, including applying effects, using VSTs and audio plugins, and encoding/decoding various audio formats.\n\nSpeaker: Peter Sobot\n\nPeter is a Staff Machine Learning Engineer at Spotify in New York, where he helps lead their Audio Intelligence Lab - a machine learning research lab dedicated to pushing the state of the art in audio-based machine learning. He's secretly Canadian (howdy neighbour!) and when not hacking on audio software, he plays drums and bass in a handful of bands.", + "duration": 1682, + "language": "eng", + "recorded": "2024-04-20", + "speakers": [ + "Peter Sobot" + ], + "thumbnail_url": "https://i.ytimg.com/vi_webp/fI8cbEsxz8I/maxresdefault.webp", + "title": "Working with Audio in Python feat. Pedalboard", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=fI8cbEsxz8I" + } + ] +} \ No newline at end of file From 516ac6c63da3e63713424eb4619dd39205bcea5f Mon Sep 17 00:00:00 2001 From: Al Sweigart Date: Tue, 4 Jun 2024 16:45:24 -0400 Subject: [PATCH 2/2] Add files for PyLadiesCon 2023 --- pyladiescon-2023/category.json | 4 ++++ pyladiescon-2023/videos/.ds_store | Bin 0 -> 10244 bytes .../apac-panel-discussion-in-english.json | 20 ++++++++++++++++++ ...t-llm-based-application-with-haystack.json | 16 ++++++++++++++ ...rformance-with-data-caching-in-python.json | 16 ++++++++++++++ ...ration-infrastructure-in-data-science.json | 16 ++++++++++++++ ...\303\243o-para-o-desenvolvimento-web.json" | 16 ++++++++++++++ ...how-we-organized-a-mentorship-program.json | 16 ++++++++++++++ ...utilizando-conhecimentos-sobre-python.json | 16 ++++++++++++++ ...ve-ai-through-the-lens-of-open-source.json | 16 ++++++++++++++ ...a-pyladies-avatar-generator-in-2-days.json | 16 ++++++++++++++ ...e-a-docs-site-shortcuts-for-busy-devs.json | 16 ++++++++++++++ .../iacelearando-despliegues-poderosos.json | 16 ++++++++++++++ ...xpertes-en-apprentissage-automatique.json" | 16 ++++++++++++++ ...e-tell-if-the-search-results-are-good.json | 16 ++++++++++++++ ...0\255\350\277\220\350\241\214-python.json" | 16 ++++++++++++++ ...tarting-my-career-the-open-source-way.json | 16 ++++++++++++++ ...scendence-the-power-of-representation.json | 16 ++++++++++++++ .../videos/keynote-tu-voz-en-python.json | 16 ++++++++++++++ ...cias-de-una-principal-data-scientist.json" | 16 ++++++++++++++ ...the-voices-of-pyladies-global-council.json | 19 +++++++++++++++++ ...as-na-ind\303\272stria-de-tecnologia.json" | 20 ++++++++++++++++++ ...\263gica-experiencias-y-perspectivas.json" | 20 ++++++++++++++++++ ...sed-early-distress-detector-for-youth.json | 16 ++++++++++++++ .../videos/pyladies-bioinfo-brasil.json | 16 ++++++++++++++ ...-comunidade-que-promove-a-diversidade.json | 16 ++++++++++++++ .../videos/pyladiescon-2023-closing.json | 19 +++++++++++++++++ .../videos/pyladiescon-2023-introduction.json | 16 ++++++++++++++ .../videos/pyladiescon-2023-opening.json | 17 +++++++++++++++ .../python-adventures-for-the-neurospicy.json | 16 ++++++++++++++ ...nciples-best-practices-for-clean-code.json | 16 ++++++++++++++ ...tributions-visible-thru-mastodon-bots.json | 16 ++++++++++++++ .../survival-guide-to-typing-in-python.json | 16 ++++++++++++++ .../videos/testing-in-python.json | 16 ++++++++++++++ ...-curar-enfermedades-gen\303\251ticas.json" | 16 ++++++++++++++ ...\226\347\245\236\345\231\250-tsfresh.json" | 16 ++++++++++++++ 36 files changed, 567 insertions(+) create mode 100644 pyladiescon-2023/category.json create mode 100644 pyladiescon-2023/videos/.ds_store create mode 100644 pyladiescon-2023/videos/apac-panel-discussion-in-english.json create mode 100644 pyladiescon-2023/videos/build-your-first-llm-based-application-with-haystack.json create mode 100644 pyladiescon-2023/videos/cache-me-if-you-can-boosting-performance-with-data-caching-in-python.json create mode 100644 pyladiescon-2023/videos/collaboration-infrastructure-in-data-science.json create mode 100644 "pyladiescon-2023/videos/django-ninja-uma-excelente-op\303\247\303\243o-para-o-desenvolvimento-web.json" create mode 100644 pyladiescon-2023/videos/djangonaut-space,-how-we-organized-a-mentorship-program.json create mode 100644 pyladiescon-2023/videos/drones-do-software-ao-hardware!-utilizando-conhecimentos-sobre-python.json create mode 100644 pyladiescon-2023/videos/exploring-generative-ai-through-the-lens-of-open-source.json create mode 100644 pyladiescon-2023/videos/how-and-why-i-built-a-pyladies-avatar-generator-in-2-days.json create mode 100644 pyladiescon-2023/videos/how-to-make-a-docs-site-shortcuts-for-busy-devs.json create mode 100644 pyladiescon-2023/videos/iacelearando-despliegues-poderosos.json create mode 100644 "pyladiescon-2023/videos/keynote-cr\303\251er-une-communaut\303\251-de-5000-expertes-en-apprentissage-automatique.json" create mode 100644 pyladiescon-2023/videos/keynote-how-can-we-tell-if-the-search-results-are-good.json create mode 100644 "pyladiescon-2023/videos/keynote-pyscript-empowering-rich-python-applications-in-the-browser-\345\234\250\346\265\217\350\247\210\345\231\250\344\270\255\350\277\220\350\241\214-python.json" create mode 100644 pyladiescon-2023/videos/keynote-starting-my-career-the-open-source-way.json create mode 100644 pyladiescon-2023/videos/keynote-transcendence-the-power-of-representation.json create mode 100644 pyladiescon-2023/videos/keynote-tu-voz-en-python.json create mode 100644 "pyladiescon-2023/videos/mujeres-en-tecnolog\303\255a-experiencias-de-una-principal-data-scientist.json" create mode 100644 pyladiescon-2023/videos/panel-discussion-unity-in-diversity-the-voices-of-pyladies-global-council.json create mode 100644 "pyladiescon-2023/videos/panel-discussion-vozes-na-tecnologia-contando-experi\303\252ncias-na-ind\303\272stria-de-tecnologia.json" create mode 100644 "pyladiescon-2023/videos/panel-empoderando-a-las-mujeres-en-la-industria-tecnol\303\263gica-experiencias-y-perspectivas.json" create mode 100644 pyladiescon-2023/videos/project-teddy-text-based-early-distress-detector-for-youth.json create mode 100644 pyladiescon-2023/videos/pyladies-bioinfo-brasil.json create mode 100644 pyladiescon-2023/videos/pyladies-maputo-construir-uma-comunidade-que-promove-a-diversidade.json create mode 100644 pyladiescon-2023/videos/pyladiescon-2023-closing.json create mode 100644 pyladiescon-2023/videos/pyladiescon-2023-introduction.json create mode 100644 pyladiescon-2023/videos/pyladiescon-2023-opening.json create mode 100644 pyladiescon-2023/videos/python-adventures-for-the-neurospicy.json create mode 100644 pyladiescon-2023/videos/pythonic-principles-best-practices-for-clean-code.json create mode 100644 pyladiescon-2023/videos/sparkling-connections-making-pyladies-contributions-visible-thru-mastodon-bots.json create mode 100644 pyladiescon-2023/videos/survival-guide-to-typing-in-python.json create mode 100644 pyladiescon-2023/videos/testing-in-python.json create mode 100644 "pyladiescon-2023/videos/usando-python-para-curar-enfermedades-gen\303\251ticas.json" create mode 100644 "pyladiescon-2023/videos/\346\227\266\351\227\264\345\272\217\345\210\227\347\211\271\345\276\201\344\270\200\351\224\256\345\274\217\346\217\220\345\217\226\347\245\236\345\231\250-tsfresh.json" diff --git a/pyladiescon-2023/category.json b/pyladiescon-2023/category.json new file mode 100644 index 000000000..cc80f92bd --- /dev/null +++ b/pyladiescon-2023/category.json @@ -0,0 +1,4 @@ +{ + "description": "PyLadies Conference (PyLadiesCon) is an exciting online and free event dedicated to empowerment, learning, and diversity within the Python community.", + "title": "PyLadiesCon 2023" +} diff --git a/pyladiescon-2023/videos/.ds_store b/pyladiescon-2023/videos/.ds_store new file mode 100644 index 0000000000000000000000000000000000000000..63bcc410ece286f9016a5be97829058e247642ea GIT binary patch literal 10244 zcmeI1&u$z=5XNh~IYa_QNZb$+b3w^vqL2tA1P6O<<5;mBBL_!FAn@9o_1f!Qvw!S3 zCm%r^cmrO6*Wk#7hv5XjuX@%yyX!_#4k$uB)^zuDS66-Yb#=}5*vzu}=-?x>+{|ur ztA6Kgifb;7>z=z7%AR+rGv=FZ+lDRKQ(LurbJD3JF_0KY3?v2;1Brn*fdSsxx^BJ| z>Qp8M5(9~WD+ZJwa&Fa&WqlcHPaPC~1fae_w_mh52l$-4tQX7rGSog5o#FJ5l~c3w zh>?ZqjOP-kUM%a&P>1Q3h3S@+mb3DNlDT!}ahiX@xaFG60Drm+X{3 zS=*;~NFA`8(;8www@36}xQ0Dsj$??j+cSvjczNVLx6ql}78<+WlY{MqksJ&!&?!!u zj14JsWKV6scE|Q=HJ^8iWZ$Kwg}-xC;q%g$vPra_*xbAvEBE-0$Fh_q+00#5@M(TlVVU_ClYp{&atz7YvI>cL*yNG7bW>w8wuaLjL z!b@dM?Mv|<^1QN#GVplhsjo$DyI|64DyGI+W1G1f_1dc)+j zHD}#rN41PT#YWJisJPxrY)zCUtA2eu<=1MtW2864U%)2>9dHQGChQ&gcwkrY5Js<1 zPGOwl0Q_P>nPbN5DWA3a+iqh(Jd4Bd4iSQgXP$Yhp1qHT3r9VPggUkrF;c*Nfjwk*NVnEUxolM8)@nykdtR$*fA3$l>%A_%Wu+C< zsqB*7s$`cP+hLwE?J<6ax#K9*+b6Iql*)FSNFHBF&F`jh^eP4$_&Cllij7_R#AX9K zAu{!*A2A}Wid^v`OX6Pd<>-1Ed1=avJ9werWBRpnhBocxHG0};lr8C2d4aEEA5|-o zCV4)x4$4(i*4QTLN(>|h5(9~W*Jhv=X6E|-zZ(Dl|7+_{6B7f8fj6Il?8eH@N*$b8 z1gpNa=iJ|O>yq4MsC^2Be~zd2&+$CybNpRy$=+A3i}qq!Uxu00pY7c