A huge welcome to everyone leading into our morning talks.
Python has become one of the most popular programming languages in the world, meaning that along with this growth the Python community has continued to expand, in every continent around the globe. While this growth has been exciting, it has also brought new challenges and opportunities to improve our global community. Through this panel, we would like to address those challenges and understand our community better.
Portland’s protests following the murder of George Floyd involved thousands of people. Providing bail and legal support to those arrested at the protests required a massive amount of volunteers, resources, and an incredibly hard-working Django app.
Python is underrated when it comes to concurrency. The main aim of the talk would focus on exploring the general concept of concurrency and how we can utilise those concepts to write Python programs that are more scalable and more efficient in terms of I/0 bound operations. From the threading module and its limitations, to the asyncio module with its async and await keywords. We will look into different types of concurrent programming techniques available in Python though the major focus would be on the asyncio module, exploring best practises and common pitfalls while using asyncio.
Learn how one can write efficient APIs with high-quality API specifications using Open API and RAML specs to create API contracts and achieve a better experience using the API with more reliable unit tests and increased response consistency.
Jupyter notebooks are growing in popularity among CyberSec analysts. For threat hunting and incident investigations, notebooks give you flexibility not found in most Security Operations Center (SOC) toolsets.
However, threat hunting requires specialized tools, analytics and visualizations that aren't part of the typical data science libraries. We'll show some of the features of the MSTICPy CyberTools library that we built to address these gaps.
The focus of the talk will be on Python techniques (incl code examples) that we used to build extensible and discoverable tools for large-scale CyberSec operations. The techniques are applicable to many fields - no previous cybersecurity knowledge is required to watch the talk or use the techniques.
- What's the appeal of notebooks in SOCs? and what is missing?
- Making data querying/acquisition simple - creating dynamic functions from config.
- Data enrichment: getting more context on IP Address, Hosts, etc. - using decorators to create a consistent API.
- Visualizations - quick tour of MSTICPy visualizations using pandas accessors and Bokeh.
- Composability - assembling multiple operations into a pandas execution pipeline.
Starting a local Python User Group is hard. Keeping it running month after month is even harder. As a Python User Group organizer, I've had my fair share of mess ups.
In this talk, we'll examine some ways not to run your own Python User Group based on my own experiences as an organizer. By looking back at my own missteps, we'll determine some best practices for getting your own User Group off the ground. By the end of the talk, you'll be well equipped to run your User Group long-term. Come laugh and learn as we journey through my meetup misadventures and prepare you for your own.
All levels of Python experience are welcome.
Stop building projects that only "work on my machine", Learn how to isolate your python application by executing in an isolated, reproducible environment that extends beyond the code you write.
Ever wanted to read your favourite literature book or poetry but language is a barrier? Worry not! Enjoy the world literature in your preferred language along with audio book with just a click of a button. "Literature Love" uses AI services to translate and generate audio format for literature texts
The reason to write, and run, tests on the code is to detect bugs before the code is being used by the customer. Too often, this purpose is forgotten when deciding how, and what, to test. What makes a good test? What makes a good test-suite? How can you measure it?
By modeling tests as a "classifier", where the label is "buggy" or "not buggy", the general theory of classification can be applied. The basics of the theory, such as precision, recall, and F-score, will be explored, as well as how it applies to test suites. Specific techniques for measuring test quality, using tools such as mutation testing, tracing, and CI systems, will be presented.
Wrapping up an exciting weekend of talks and activities.
A grand welcome to the second day of talks and sprints
The Zen of Python says “there should be one -- and preferably only one -- obvious way to do it”, but what if there's a dozen obvious ways to do it?
In this talk we take a look at over a dozen implementations of a very simple function.
As we do so, we try to decide which alternative is the best and we even explore a couple of more intricate Python subtleties!
Which implementation will be the best?
Many people from underrepresented backgrounds are being diagnosed for the first time or getting treatment well into their careers.
This talk aims to be a resource for folks learning to work with their neurodiversities and their colleagues.
Council Data Project (CDP) is an open source project that provides tools for making city council transcripts, legislation, and voting records searchable through a single website. This is achieved through a Python-powered Infrastructure-as-code architecture. CDP provides an entire backend and frontend that can be easily deployed for a governing body of any size or location. As long as the deployer provides data for events in a pre-defined yet flexible structure, CDP provides a database, file storage, speech-to-text transcription, and natural language search.
During this session, we will cover CDP’s backend, primarily focusing on how we created ETL pipelines and an Infrastructure-as-code setup to be as low cost and easily forkable as possible. Because of this, backend-focused developers may get the most out of this talk. Additionally, this session is intended for people of all levels of Python experience. Instead of covering in-depth features or niches of the language itself, we will showcase some neat tools and open-source projects in the Python ecosystem that we use to build our infrastructure!
And this session is especially for anyone interested in civic tech or generally just making democracy more transparent!
Popular programming language index websites (TIOBE index) and developer surveys (Stack Overflow) place Python as one of the fastest-growing programming languages. However, this popularity also puts in the target range of attackers. The attackers perform malicious dependency attacks and use misconfiguration tools to reveal confidential information. Jukka Ruohonen, Kalle Hjerppe, and Kalle Rindell in their research paper “A Large-Scale Security-Oriented Static Analysis of Python Packages in PyPI” claimed that they scanned PyPI for security issues in Python packages and found the presence of at least one security issue in about 46% of the Python packages. In addition, security vulnerabilities can be present in the source code of the package. In this talk, we will address the security issues related to python packaging and possible solutions to make python packages secure.
When I started working on the latest high rise for San Francisco a challenge stood before me: How am I going to do this without losing my mind? Thankfully Python coding came to the rescue. This talk will showcase all the tools built around Python that can make architecture dreams come true!
A final thank you for all attendees, before sprints begin