The document summarizes the state of the Python community and provides suggestions for improving engagement and participation. It discusses how the Python community is broader than just core developers and includes any contributors. It also suggests that python.org could better showcase exciting Python projects and real code examples to enthuse new users. Overall, the document encourages growing and engaging the community through conferences, documentation, and showcase of Python's capabilities.
This column discusses modern Python modules that can help alleviate issues caused by the Global Interpreter Lock (GIL) and enable scaling of Python applications across multiple CPU cores or machines. It notes that while the GIL simplifies the CPython implementation, it prevents true multi-threading. The column explores using multiple processes instead of threads to achieve parallelism. It highlights the subprocess module for basic cross-platform process management and Parallel Python for a more complete distributed processing solution. However, it also mentions that Parallel Python is not the only option and there are alternative solutions.
The document describes Doonish, an online trivia game inspired by Trivial Pursuit. Players can create and answer questions in different categories. The game was first created in 2007 and redesigned in 2010. It is developed by a team of 4 programmers using technologies like a naive Bayes text classifier, tagging engine, and Wikipedia text integration to enhance the questions. The goal is to build the game using known technologies to minimize learning time.
This document discusses developing Comet applications in Java using popular Java web servers like Tomcat and Jetty. It provides an overview of Comet and different Comet styles like polling, long polling and streaming. It then describes how Tomcat and Jetty leverage non-blocking I/O to enable Comet and scalable implementations. Code examples are given showing how to create a Comet servlet for Tomcat that implements the CometProcessor interface and uses a MessageSender to push data to clients.
The document describes a Java framework called FJTask that supports fork/join parallel programming. FJTask is based on the work-stealing scheduler design from Cilk. It uses a pool of worker threads that each maintain a double-ended queue of tasks. When a worker finishes its tasks, it can "steal" tasks from other workers. FJTask provides lightweight executable tasks instead of using Java threads directly to reduce overhead. It implements efficient double-ended queues and work stealing to allow good parallel performance of fork/join programs in Java.
This document proposes and evaluates cooperative scans, a framework for improving disk bandwidth utilization and reducing latency for concurrent scan queries in a database management system (DBMS). It analyzes existing scheduling policies like normal, attach, and elevator scans and finds they do not fully exploit data sharing opportunities. The cooperative scans framework introduces a new relevance policy that dynamically schedules queries and their data requests based on the current system situation. Initial results on row storage show significant performance improvements over traditional policies. The document also discusses extending cooperative scans to column storage and related implementation challenges.
This column discusses modern Python modules that can help alleviate issues caused by the Global Interpreter Lock (GIL) and enable scaling of Python applications across multiple CPU cores or machines. It notes that while the GIL simplifies the CPython implementation, it prevents true multi-threading. The column explores using multiple processes instead of threads to achieve parallelism. It highlights the subprocess module for basic cross-platform process management and Parallel Python for a more complete distributed processing solution. However, it also mentions that Parallel Python is not the only option and there are alternative solutions.
The document describes Doonish, an online trivia game inspired by Trivial Pursuit. Players can create and answer questions in different categories. The game was first created in 2007 and redesigned in 2010. It is developed by a team of 4 programmers using technologies like a naive Bayes text classifier, tagging engine, and Wikipedia text integration to enhance the questions. The goal is to build the game using known technologies to minimize learning time.
This document discusses developing Comet applications in Java using popular Java web servers like Tomcat and Jetty. It provides an overview of Comet and different Comet styles like polling, long polling and streaming. It then describes how Tomcat and Jetty leverage non-blocking I/O to enable Comet and scalable implementations. Code examples are given showing how to create a Comet servlet for Tomcat that implements the CometProcessor interface and uses a MessageSender to push data to clients.
The document describes a Java framework called FJTask that supports fork/join parallel programming. FJTask is based on the work-stealing scheduler design from Cilk. It uses a pool of worker threads that each maintain a double-ended queue of tasks. When a worker finishes its tasks, it can "steal" tasks from other workers. FJTask provides lightweight executable tasks instead of using Java threads directly to reduce overhead. It implements efficient double-ended queues and work stealing to allow good parallel performance of fork/join programs in Java.
This document proposes and evaluates cooperative scans, a framework for improving disk bandwidth utilization and reducing latency for concurrent scan queries in a database management system (DBMS). It analyzes existing scheduling policies like normal, attach, and elevator scans and finds they do not fully exploit data sharing opportunities. The cooperative scans framework introduces a new relevance policy that dynamically schedules queries and their data requests based on the current system situation. Initial results on row storage show significant performance improvements over traditional policies. The document also discusses extending cooperative scans to column storage and related implementation challenges.
The document summarizes Steve Holden's talk to the Python community about ways to improve participation and engagement. It highlights that the community aims to connect Python users, encourage greater involvement, and support community initiatives. However, leadership and resources are limited. The talk explores strategies like showcasing success stories, mentoring new developers, and optimizing the Python website to better promote the language and community.
The document discusses contributing to open source Python projects and infrastructure. It notes that contributing can improve skills and showcase abilities, but that we need to contribute especially because we rely on Python infrastructure. Maintaining open source projects is important because most rely on just a few developers but are used by thousands. The document provides tips for getting involved, including requirements for technical contributors like programming knowledge and issue fixing skills. It lists some Python open source projects and paid opportunities for contributing like Google Summer of Code. Submitting patches depends on the project but typically uses a pull request process.
Python is a high-level programming language that has been around for over 30 years. It has become one of the most popular programming languages due to its simplicity and ease of use. Python is an interpreted language, which means that it doesn't require a compiler, making it ideal for beginners
The 21st century; oh, what a time to be alive! With the world at your fingertips, it is easier than ever to dream big. But the question is- where to begin? With a wide range of programming languages to choose from to begin with, this article isn’t a gimmick for Python. Through this piece of writing, we hope to open you up to the realities of the world of Python. We will let you know the reasons why should I learn Python programming, what are the benefits of learning Python, what can I do with Python programming language and how can I start a career in Python Programming.
Python is the programming language implicitly selected by choosing Plone as a CMS. Unless only using out-of-the-box Plone, knowledge of Python will be needed to customize and extend Plone functionality. Python is a powerful, easy to learn language that allows developers to build fantastic applications on Plone or for other purposes using many available Python packages and tools.
Python is the programming language that is implicitly selected when choosing Plone as a content management system (CMS). While Plone can be used out of the box, understanding Python allows users to fully customize and extend Plone's functionality through the creation of applications and modules. Python is a powerful yet accessible language that offers many advantages for both Plone development and general web development.
This document provides a summary of a summer training report on Python and its libraries. It acknowledges those who provided guidance and support. It includes an introduction to the training institute, a table of contents outlining 6 chapters, and an introduction to the history and development of Python. It discusses Python's design as a scripting language and its use of object-oriented programming.
Python is a popular coding language yet many are not aware of how many programs runs with the help of this language. You can do pretty much anything you desire to do with this very practical programming language. This language is preferred by many software developers during compilation and testing. It is also opted for studying by many students. It is also preferred by most beginners to know this language. There are number of websites written in Python. Can you believe that Google and You Tube has its programs written in Python? Not only these website, several others like Hipmunk, Spotify, Dropbox, Quora and many more.
Python is an open-source, high-level programming language that allows developers to write code in fewer lines than languages like Java or C++. It was created in the 1980s by Guido van Rossum, who remains its lead developer. Python has seen increasing demand from employers for developers and automation testers with Python skills. While it has a simpler syntax than Java, Python can be used for a variety of applications including software development, web applications, and test automation. It also has support and applications on platforms like Google Cloud, showing its continued relevance.
Learn Python Python Introduction for Beginners.pdfSudhanshiBakre1
This document provides an introduction to the Python programming language. It discusses the history and origins of Python, how it emerged from Monty Python's Flying Circus in 1990. It was developed by over 300 people seeking an execution language in code. Python is an easy to learn, simple language with high-level data structures and a user-oriented approach. It is interpreted at runtime and interactive, supporting object-oriented programming.
Python Language is a multipurpose, high-level, object-oriented programming language , easy to learn. Python is a popular programming language used for developing applications and web services. Python's strong support of modules, subroutines and functions help in faster development of applications.
This document provides an introduction to the Python programming language. It discusses Python's chronology, features, paradigms, and common uses. The key points are:
- Python was created in the late 1980s by Guido van Rossum and is now widely used for tasks like web development, GUIs, science, and more.
- It is easy to learn, write, and understand due to its simple syntax and dynamic typing. Python supports procedural, object-oriented, and functional paradigms.
- The document introduces the Python installation process and recommends downloading the latest version of Anaconda, an open-source Python distribution, for Windows or Mac users.
The quality of the python ecosystem - and how we can protect it!Bruno Rocha
The document discusses the quality of the Python ecosystem. It notes that while Python has many attractive qualities, the ecosystem faces challenges around library safety, documentation, and long-term maintainability. However, the community is the main driver of quality control. Improving tools for testing, verifying, and documenting libraries could help address issues. The responsibility of ecosystem quality ultimately lies with individual contributors collaborating openly through projects like PyPA to help evolve Python and PyPI.
Python is an interpreted, general-purpose programming language with a simple syntax that emphasizes readability. It supports object-oriented programming, threads, exception handling, and automatic memory management. Some key benefits of Python include its readability, modularity through third-party packages, and large community for rapid application development. Python is dynamically typed, meaning variables are not explicitly declared as a particular type and can hold values of different types during runtime.
Python is a popular, general-purpose, object-oriented programming language that can be used for a wide variety of applications. It is easy to learn and read, free and open source, portable, and has a large standard library. The document provides an overview of Python's history, features, applications, architecture, and basic constructs like functions, classes, and modules. Key topics covered include Python being dynamically typed, interpreted at runtime, and named after Monty Python.
Python is a popular and general-purpose programming language that is widely used in many fields including machine learning, data science, artificial intelligence, software development, and web development. It is easy to learn and has a large community and library of preexisting functions and modules. Popular uses of Python include software development, data analysis, artificial intelligence, and machine learning due to its simple syntax and extensive library support. There are many career opportunities in fields that use Python and average salaries range from $80,000 to $120,000 per year.
Python – The Fastest Growing Programming LanguageIRJET Journal
1) Python is a widely used general-purpose programming language known for its simplicity and readability. It has seen rapid growth in recent years driven by its popularity for data science and machine learning tasks.
2) Key reasons for Python's growth include its use in academia and industries like software, manufacturing, and electronics. It is also popular due to its extensive libraries for tasks like data analysis and its job opportunities for data scientists.
3) Python supports multiple programming paradigms, has a large standard library, and can be used for web development, desktop GUIs, system scripting, and more. Its simplicity, readability, and extensive community make it a good choice for both learning and real-world programming
Python is often considered an easy language to learn due to its simplicity, readability, and extensive community support and documentation. It has a clear and concise syntax that resembles plain English. Python also has a large standard library that includes common modules, reducing the need for developers to write additional code. Its interactive environment allows users to immediately see the results of their code, facilitating hands-on learning. Overall, Python's reputation for approachability stems from its commitment to readability, minimal syntax, and supportive community of developers.
This slide is very useful for python beginners.Python training in Chennai at Credo Systemz helps you to get an extensive knowledge of Python programming language. Python course training by Credo Systemz is an instructor-led training conducted in Chennai premises.
The document summarizes Steve Holden's talk to the Python community about ways to improve participation and engagement. It highlights that the community aims to connect Python users, encourage greater involvement, and support community initiatives. However, leadership and resources are limited. The talk explores strategies like showcasing success stories, mentoring new developers, and optimizing the Python website to better promote the language and community.
The document discusses contributing to open source Python projects and infrastructure. It notes that contributing can improve skills and showcase abilities, but that we need to contribute especially because we rely on Python infrastructure. Maintaining open source projects is important because most rely on just a few developers but are used by thousands. The document provides tips for getting involved, including requirements for technical contributors like programming knowledge and issue fixing skills. It lists some Python open source projects and paid opportunities for contributing like Google Summer of Code. Submitting patches depends on the project but typically uses a pull request process.
Python is a high-level programming language that has been around for over 30 years. It has become one of the most popular programming languages due to its simplicity and ease of use. Python is an interpreted language, which means that it doesn't require a compiler, making it ideal for beginners
The 21st century; oh, what a time to be alive! With the world at your fingertips, it is easier than ever to dream big. But the question is- where to begin? With a wide range of programming languages to choose from to begin with, this article isn’t a gimmick for Python. Through this piece of writing, we hope to open you up to the realities of the world of Python. We will let you know the reasons why should I learn Python programming, what are the benefits of learning Python, what can I do with Python programming language and how can I start a career in Python Programming.
Python is the programming language implicitly selected by choosing Plone as a CMS. Unless only using out-of-the-box Plone, knowledge of Python will be needed to customize and extend Plone functionality. Python is a powerful, easy to learn language that allows developers to build fantastic applications on Plone or for other purposes using many available Python packages and tools.
Python is the programming language that is implicitly selected when choosing Plone as a content management system (CMS). While Plone can be used out of the box, understanding Python allows users to fully customize and extend Plone's functionality through the creation of applications and modules. Python is a powerful yet accessible language that offers many advantages for both Plone development and general web development.
This document provides a summary of a summer training report on Python and its libraries. It acknowledges those who provided guidance and support. It includes an introduction to the training institute, a table of contents outlining 6 chapters, and an introduction to the history and development of Python. It discusses Python's design as a scripting language and its use of object-oriented programming.
Python is a popular coding language yet many are not aware of how many programs runs with the help of this language. You can do pretty much anything you desire to do with this very practical programming language. This language is preferred by many software developers during compilation and testing. It is also opted for studying by many students. It is also preferred by most beginners to know this language. There are number of websites written in Python. Can you believe that Google and You Tube has its programs written in Python? Not only these website, several others like Hipmunk, Spotify, Dropbox, Quora and many more.
Python is an open-source, high-level programming language that allows developers to write code in fewer lines than languages like Java or C++. It was created in the 1980s by Guido van Rossum, who remains its lead developer. Python has seen increasing demand from employers for developers and automation testers with Python skills. While it has a simpler syntax than Java, Python can be used for a variety of applications including software development, web applications, and test automation. It also has support and applications on platforms like Google Cloud, showing its continued relevance.
Learn Python Python Introduction for Beginners.pdfSudhanshiBakre1
This document provides an introduction to the Python programming language. It discusses the history and origins of Python, how it emerged from Monty Python's Flying Circus in 1990. It was developed by over 300 people seeking an execution language in code. Python is an easy to learn, simple language with high-level data structures and a user-oriented approach. It is interpreted at runtime and interactive, supporting object-oriented programming.
Python Language is a multipurpose, high-level, object-oriented programming language , easy to learn. Python is a popular programming language used for developing applications and web services. Python's strong support of modules, subroutines and functions help in faster development of applications.
This document provides an introduction to the Python programming language. It discusses Python's chronology, features, paradigms, and common uses. The key points are:
- Python was created in the late 1980s by Guido van Rossum and is now widely used for tasks like web development, GUIs, science, and more.
- It is easy to learn, write, and understand due to its simple syntax and dynamic typing. Python supports procedural, object-oriented, and functional paradigms.
- The document introduces the Python installation process and recommends downloading the latest version of Anaconda, an open-source Python distribution, for Windows or Mac users.
The quality of the python ecosystem - and how we can protect it!Bruno Rocha
The document discusses the quality of the Python ecosystem. It notes that while Python has many attractive qualities, the ecosystem faces challenges around library safety, documentation, and long-term maintainability. However, the community is the main driver of quality control. Improving tools for testing, verifying, and documenting libraries could help address issues. The responsibility of ecosystem quality ultimately lies with individual contributors collaborating openly through projects like PyPA to help evolve Python and PyPI.
Python is an interpreted, general-purpose programming language with a simple syntax that emphasizes readability. It supports object-oriented programming, threads, exception handling, and automatic memory management. Some key benefits of Python include its readability, modularity through third-party packages, and large community for rapid application development. Python is dynamically typed, meaning variables are not explicitly declared as a particular type and can hold values of different types during runtime.
Python is a popular, general-purpose, object-oriented programming language that can be used for a wide variety of applications. It is easy to learn and read, free and open source, portable, and has a large standard library. The document provides an overview of Python's history, features, applications, architecture, and basic constructs like functions, classes, and modules. Key topics covered include Python being dynamically typed, interpreted at runtime, and named after Monty Python.
Python is a popular and general-purpose programming language that is widely used in many fields including machine learning, data science, artificial intelligence, software development, and web development. It is easy to learn and has a large community and library of preexisting functions and modules. Popular uses of Python include software development, data analysis, artificial intelligence, and machine learning due to its simple syntax and extensive library support. There are many career opportunities in fields that use Python and average salaries range from $80,000 to $120,000 per year.
Python – The Fastest Growing Programming LanguageIRJET Journal
1) Python is a widely used general-purpose programming language known for its simplicity and readability. It has seen rapid growth in recent years driven by its popularity for data science and machine learning tasks.
2) Key reasons for Python's growth include its use in academia and industries like software, manufacturing, and electronics. It is also popular due to its extensive libraries for tasks like data analysis and its job opportunities for data scientists.
3) Python supports multiple programming paradigms, has a large standard library, and can be used for web development, desktop GUIs, system scripting, and more. Its simplicity, readability, and extensive community make it a good choice for both learning and real-world programming
Python is often considered an easy language to learn due to its simplicity, readability, and extensive community support and documentation. It has a clear and concise syntax that resembles plain English. Python also has a large standard library that includes common modules, reducing the need for developers to write additional code. Its interactive environment allows users to immediately see the results of their code, facilitating hands-on learning. Overall, Python's reputation for approachability stems from its commitment to readability, minimal syntax, and supportive community of developers.
This slide is very useful for python beginners.Python training in Chennai at Credo Systemz helps you to get an extensive knowledge of Python programming language. Python course training by Credo Systemz is an instructor-led training conducted in Chennai premises.
This document discusses event driven architecture (EDA) and domain driven design. It begins with an introduction to the speaker and an overview of EDA basics. It then describes problems with traditional SOA implementations, where domain logic gets split across many systems. The document proposes that exposing domain events on a shared event bus allows isolating cross-cutting functions to separate systems while keeping domain logic together. It provides examples of how this approach improves scalability and decouples systems. Finally, it outlines potential business benefits of using EDA like enabling complex event processing, business process management, and business activity monitoring on top of the domain events.
The document discusses trends and challenges facing information technology, including building a civic semantic web and waiving rights over linked data. It also discusses whether semantic technologies could permit meaningful brand relationships. The document contains a chart showing government department spending in the UK, with the Department of Health spending £105.7 billion, followed by local and regional government spending £34.3 billion, and the NHS spending £90.7 billion.
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
This document summarizes an Erlang meeting held on July 3, 2009 in Tokyo. It discusses the gen_paxos Erlang module, which implements the Paxos consensus algorithm. Paxos is needed to solve problems like split-brains where data could become inconsistent without coordination between nodes. The document explains the key aspects of Paxos like its phases, data model in gen_paxos, and how nodes communicate through message passing in Erlang. It also provides references to related works and papers about Paxos.
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
The document discusses Scala and functional programming concepts. It provides examples of building a chat application in 30 lines of code using Lift, defining case classes and actors for messages. It summarizes that Scala is a pragmatically oriented, statically typed language that runs on the JVM and has a unique blend of object-oriented and functional programming. Functional programming concepts like immutable data structures, functions as first-class values, and for-comprehensions are demonstrated with examples in Scala.
This document is the introduction to "The Little Book of Semaphores" by Allen B. Downey. It provides an overview of the book, which uses examples and puzzles to teach synchronization concepts and patterns. The book aims to give students more practice with these challenging concepts than a typical operating systems course allows. It also discusses the book's licensing as free and open source documentation.
This document provides style guidelines for Scala developers at Twitter. It outlines recommendations for imports, implicit usage, reflection, comments, whitespace, logging, project layout, variable naming conventions, and ends by thanking people for attending.
This document introduces developing a Scala DSL for Apache Camel. It discusses using Scala features like implicit conversions, passing functions as parameters, and by-name parameters to build a DSL. It provides examples of simple routes in the Scala DSL and compares them to Java. It also covers tooling for Scala in Maven and Eclipse and caveats like interacting with Java generics. The goal is to learn basic Scala concepts and syntax for building a Scala DSL, using Camel as an example.
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
The document discusses alternative concurrency paradigms to shared-state concurrency for the JVM, including software transactional memory which allows transactions over shared memory, message passing concurrency using the actor model where actors communicate asynchronously via message passing, and dataflow concurrency where variables can only be assigned once. It provides examples of how these paradigms can be used to implement solutions like transferring funds between bank accounts more elegantly than with shared-state concurrency and locks.
This document discusses using TCP/IP for high performance computing (HPC) applications. It finds that while TCP/IP can achieve bandwidth of 1 Gbps over short distances with low latency, the bandwidth degrades significantly over wide area networks with higher latency. It investigates tuning TCP parameters like socket buffer sizes to improve performance over high latency networks.
Martin Odersky outlines the growth and adoption of Scala over the past 6 years and discusses Scala's future direction over the next 5 years. Key points include:
- Scala has grown from its first classroom use in 2003 to filling a full day of talks at JavaOne in 2009 and developing a large user community.
- Scala 2.8 will include new collections, package objects, named/default parameters, and improved tool support.
- Over the next 5 years, Scala will focus on concurrency and parallelism features at all levels from primitives to tools.
- Other areas of focus include extended libraries, performance improvements, and standardized compiler plugin architecture.
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
This document discusses alternative concurrency paradigms for the Java Virtual Machine (JVM). It begins with an agenda and discusses how Moore's Law no longer solves concurrency problems as processors are becoming multi-core. It then discusses the problems with shared-state concurrency and how separating identity and value can help. The document introduces software transactional memory, message passing concurrency using actors, and dataflow concurrency as alternative paradigms. It uses examples of bank account transfers to demonstrate how these paradigms can be implemented and discusses their advantages over shared-state concurrency.
This document contains the schedule for a conference with sessions on various topics in natural language processing and computational linguistics. The conference will take place from September 14-16. Each day consists of morning and afternoon sessions split into parallel tracks (1a and 1b). Sessions cover areas like semantics, parsing, sentiment analysis, and more. Keynote speakers include Ricardo Baeza-Yates, Kevin Bretonnel Cohen, Mirella Lapata, Shalom Lappin, and Massimo Poesio. Presentations are 20 minutes each with coffee breaks in the mornings and poster sessions in the afternoons.
The article discusses the Guardian's Datastore project, which makes data of public interest freely available online for reuse. Some key points:
- The Datastore contains datasets on topics like MPs' expenses, carbon emissions, and public opinion polls. This data was previously hard to access but the web now allows easy access to billions of statistics.
- Making this data open and machine-readable supports the Guardian's tradition of fact-checking and transparency. It also encourages others to analyze and build upon the data in new ways.
- An early example involved crowdsourcing the review of 500,000 pages of MPs' expenses, revealing new insights. Other Guardian datasets like music recommendations and university rankings are now available for others
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
This document summarizes a presentation on Paxos and gen_paxos. It introduces Paxos as a distributed consensus algorithm that is robust to network failures and allows data replication across multiple nodes. It then describes the gen_paxos Erlang implementation of Paxos, including its data model, state machine approach, and messaging between nodes. Key aspects of Paxos like the prepare and propose phases are explained through examples. The document also provides context on applications of Paxos and references for further reading.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
1. The State of the
Python Community
Leading the Python Tribe
Steve Holden
steve@holdenweb.com
PyCon US, March 2009
I’d like to begin by thanking the Program Committee for the invitation to speak
here today. I am honored that they believed I would have something worthwhile,
and entertaining, to say. It’s not their fault if they are wrong.
2. whoami
Chairman, Python Software Foundation
President, Holden Web LLC
Systems consulting and training shop
Excellent Python training ...
Author, Python Web Programming (2002)
B.Sc. (hons), CITP, FBCS
Just a few words of introduction if you don’t know me.
I run my own business, which gives me a great deal of freedom to ignore my
own financial best interests and spend volunteer time on the PSF.
I was the chairman of the first three PyCons, and I have always been a great
believer in the value of user communities (former Chairman on Sun UK User
Group, former Treasurer of DECUS UK). PyCon’s long-term success vindicates
my belief that the Python community indeed has something special to offer. The
volunteers who have helped to put PyCon 2009 together, many of them with a
long-term involvement in the enterprise, deserve our generous thanks.
Yes, I wrote a book about Python. Seven years later the Python in it is, of
course, out of date. But Glyph Lefkowitz, principal architect of the Twisted
system, was kind enough to say that he thought its exposition of the principles
and technologies was still relevant. I may write another book one day, but it’s
rarely something you do for the money. Unless people are much more interested
in what you have to say …
My technical credentials are probably not as relevant to this talk as the fact that I
have been noodling around with computers for over forty years, and have been a
supporter and advocate of open source for over twenty. But I was only elected to
Fellowship by the British Computer Society in December 2008, so I am still
gratified enough to bore people by mentioning it.
3. Goals of This Talk
Connect with “the Python community”
Whatever that is …
Highlight community activities
Encourage greater participation
When I was invited to give a talk, I thought quite a lot about how I could most
effectively use the “face time” this would give me with the Python community.
This also led me to consider exactly what I thought the Python community was,
and I will touch on that shortly. It’s not often one gets the chance to talk directly to
so many Python users at once.
I decided it would be good to focus on some of the many positive things that the
community has collectively achieved over the past few years. That will, I hope,
make it more obvious that any criticism I may offer is intended to be constructive.
Finally by encouraging the community as a whole to be more proactive I wanted
to offer everyone assistance in implementing their own dreams and ambitions for
Python. The Python community is already broad, but I hope that it can start to
perceive itself more broadly than I believe it currently does.
4. The Python Community
Who Is It, and What Does It Do?
Something not often considered …
5. Who Is “The Community”?
The PSF?
Fewer than 100 members (January 2009)
Python users?
Mostly not core developers
Contributors?
Source, documentation, blogs, anything!
Anyone who wants to join?
I don’t think so
While it’s easy to think of the Python Software Foundation as “the Python
community” in fact it’s not, by a long chalk. The PSF is a largely self-selected
group, and if it represents anything it represents the Python developers. Not all
PSF members are committers, however, and many people other than developers
have a valid interest in both the development of the language and its promotion. I
would like to see the membership both grow and broaden.
While it might be nice to think of everyone who uses Python as members of “the
Python community” that definition is probably a little too broad. Some people
treat Python purely as a tool, and some people are only interested in what they
can get out of Python. The PSF occasionally has to deal with organizations and
individuals who want to give the impression of community involvement but who
are really just looking to see how they can profit from the language and its
community. Fortunately there are many more who “get” open source, and
willingly contribute what they can.
Ultimately I see the Python community as a subset of those who are getting
something out of using the language. So even someone who simply uses
Spambayes to filter their Outlook email can be a community member if they are
prepared to enthuse about its advantages in the context of its being a Python
application.
6. Python Usage
Nobody really 1400000
knows how many 1200000
Python users there 1000000
800000 2.5
are 2.6
600000
3.0
But usage is 400000
200000
growing
0
Sep Oct Nov Dec Jan Feb
So we can expect a
continual stream of Installer Downloads, 2008/9
…
Companies often talk about “giving something back”, and that’s worthy enough.
But it implies a need to take something out first, which is a somewhat exploitative
approach. The Python license permits this, and it is responsible for much of
Python’s growth, so we shouldn’t complain or worry about this exploitation.
The people I feel are the real backbone of the community, however, are those
who give their time and energy willingly to others. They write open source
software and make it available, or give talks about Python, or write articles, or
maintain web content, or blog about Python. So I see contribution as a key
element of community membership, though I don’t want to limit the nature of the
contributions that qualify someone to be regarded as a community member.
Clearly the core developers are at the heart of the Python community.
Each PyCon sees approximately half the attendance coming to their first Python
conference, and many of those newcomers are also new to the language. We
need to acknowledge that, and accommodate it in our published materials. If only
one-tenth of language downloads are new users we would appear to be adding
over 100,000 users per month!
7. There’s no evidence that Python noobs look like this. It’s just an attempt to
introduce some visual light relief.
I think that newbies are good for the language. They represent support for our
ideas, and they bring new ideas with them. Some of those ideas may be a little
half-baked, and many of them have already been considered and rejected for
good reasons. But we can always educate newcomers about those reasons, and
it’s important to stay in touch with the user base. Some of those ideas might
actually be useful …
8. Noob Enthusiasm!
I just started using python last week and I'm addicted.
[ …]
Man, I love Python ! Its so clean and easy to use. Its so complete. It
complete.
links into everything one way or another... Java, C, C++, Qt, KDE,
KDE,
SWT, Swing and probably more things that I don't know about.
Python makes sense. Python is readable.
[ …]
I love how Python has object member lists in PyDev in Eclipse. It
makes it easy to use and explore the language and objects.
I wrote a simple command line serial emulator in about 10 minutes
minutes
using the PySerial library. Unbelievable.
I see a lot of Python in my future.
comp.lang.python, January 24, 2009
This is the kind of thing that crops up regularly on comp.lang.python.
It demonstrates exactly the kind of enthusiasm that Python engenders in people
who come across it for the first time. Much of it makes intuitive sense, and it
really is good at integrating with other systems. People’s initial experience of the
language is often very positive; we need to understand how to tap into these
experiences and learn how to turn them into positive publicity.
9. What Do We Want Noobs To Think?
The PSF rocks?
Python rocks?
I rock!?
Get them feeling positive about Python use!
So, how do we have new users
“rocking out of the box”?
Get the user excited about Python!
What is Python’s marketing proposition?*
* This phrase is more or less guaranteed to get up some people’s noses
Python is such a great language we should think more deeply about how it
makes the new user feel. In sales and marketing one is encouraged not to sell
the features of a product, the things it can do for its owner, but instead to focus
one the benefits the owner will get.
We certainly shouldn’t be selling the Python Software Foundation: at best that’s
just a vehicle. We shouldn’t even really be selling the language itself: we should
be selling what the language can help you do, which is frankly more exciting than
anything else anyway.
Even after more than ten years as a Python programmer I am still enthusiastic
about the language: that expresses its power to enthuse very well. Python can do
so many remarkable things it shouldn’t be horribly difficult to put together some
amazing demonstrations. It would, of course, take some effort. Hence the “Help
Wanted” sign.
10. The Python Newbie Experience
In so far as there’s a single place people would expect to go for information about
Python that place is python.org.
The web site has made great progress in recent years, but I have to wonder
whether this is the first impression we want to be making. OK, having a
spacewalking astronaut on the home page is cool but the main text isn’t
calculated to shout about how cool Python is. It’s selling the features (what the
language is) rather than the benefits (what Python can do for you).
Where are the descriptions of cool projects? Where are the snippets of actual
Python code so people can see for themselves how simple it is to understand this
language? Where are the excited quotes from new and established users about
how truly awesome Python can be?
I don't see the infectious enthusiasm of the previous slide reflected here. I’d like
to.
11. None of This Is Captivating
So Python users can’t do cool things?
Of course they can!
Let’s make them easily available as
demos!
wxPython scores very well here
“The user must do something cool in thirty
minutes” --Kathy Sierra
--Kathy
So, it’s time for another revamp. Not, this time, in design – the design is still
perfectly viable. It’s the content that needs revising, and the revisions need to
stop focusing on the features (open source, object oriented, etc.) and start to sell
the benefits (easy to use, large libraries, wide third party support, plays well with
other languages, etc.) and showcase the diversity of the Python world.
This means thinking a bit less about Python itself and a bit more about the
potential and actual users of the language. It’s a difference of emphasis, but not
one that intelligent people such as the Python community can’t handle. And hey,
we can always get some support from marketing people if we really need it …
Wouldn’t it be great if there were Python downloads that included stuff like the
wxPython demo kit that would show off some of the more compelling applications
developed in Python over the years?
12. This is a Nokia Series 60 ‘phone
running a Python application
My G1 does the same thing, but so
far only in Java
13. The Nokia Internet tablets are
programmable in Python. My
rather aged 710 doesn’t come
out to play much now, but it’s
run PyGame in the past …
14. Unfortunately I didn’t retain
the details of what this
Python application is doing,
but rendering ability like
this gives the lie to the
“interpreted languages can’t
do graphics” myth
15. As does EVE Online, a real-time
space simulation game (this is a
real over-simplification) that
supports over 50,000 simultaneous
players
16. The US Geological Survey
are also Python users, and
produce some fascinating
graphics
17. This little fellow is a Tux
robot, programmed via a
USB wireless transmitter
(in the fish) and
programmable in Python
18. And who could forget Galcon,
that compelling Python
application we all love to play
19. Phatch is a versatile batch
processing program that
can perform operations
on whole trees of graphics.
It’s a Python application based
on the Python Image Library
20. No summary of Python applications
would be complete without mention
of Chicago crime. For a while this
was the most popular way to find
out where to score drugs in Chicago
21. So, What About python.org?
Some progress since January 2006
Is there some way we can get python.org to reflect the excitement of Python?
The last major revision to the site was performed starting with a post-PyCon
sprint three years ago. So one might, with a Pythonesque flavor, say …
22. It’s Bleedin’ Demised?
This is April 2006. Look familiar?
[John Cleese dead parrot sketch voice]
“I would like to complain about this web site, what I purchased not three years
ago from this very conference”.
We should, however, remember that there is a dedicated team of volunteers
working to keep the site up to date, and I don't want anyone to think I am
ungrateful to them or unmindful of their efforts. But often people don’t
communicate to them what updates are needed, so the content starts to suffer
from bit-rot.
There’s a lot of information in the site, and the current centralized static content
model doesn’t make it easy to open up the maintenance task. So what gets
changed is what absolutely must, and new ideas for content take second place to
urgent maintenance.
Note, again, the “help wanted” sign. I think it’s time to consider making python.org
much more reflective of the diversity of Python culture, and allowing various
areas to be maintained by groups who know their subject matter reasonably well
(or who are in contact with people who do) and can invest some time in keeping
information up to date.
23. The Conclusion?
“What a shame there’s no great Python Web
software”
Except for …
But someone needs to do the work
How? Obviously for people forced to rely on Python this could be difficult … not.
Python has given rise to many web frameworks and content management
systems, only the best-known of which are represented in this slide. So there is
no shortage of technology.
At the moment the tailored system that produces static HTML, which has stood
us in good stead for several years now, is getting long in the tooth. I suspect it
may be time to move to more dynamic methods for content management, about
which I will have more to say later.
24. Community Activities
What’s Been Going On?
So, getting back to “The Community”, what’s it been doing lately, and the PSF?
25. Conference Activity Vigorous
PyCon -- Atlanta in 2010 – yay!
International PyCons: Argentina, Brazil,
France, Italy, UK, Peru, EuroPython …
Regional (un)conferences
Just starting to appear
PyOhio, PyAR, PyCamp TX, …
More will doubtless follow
PSF has offered support
– often not required
I am happy to say that PyCon remains a beacon in the Python world, with
growing attendances and improving standards each year. It has also become
something of a rallying point for the local groups who support it, and I think
Atlanta will do well if they can match the vitality, energy and enthusiasm that
Chicago has brought to the conference the last two years. Thanks, Chicagoland!
Various national groups have started to use the PyCon name for their own
national conferences, and at least within the USA we are seeing the emergence
of regional conferences with varying organizational structures.
So the conference scene is pretty healthy overall, despite the unpleasant current
global economic environment. The PSF will be happy to support further regional
and national conferences as they emerge.
26. PyCon US Attendance
1200
1000
800
600
# Delegates
400
200
0
2003 2004 2005 2006 2007 2008 2009
The figure for 2009 is my best guess at the time I released the slides. According
to our conference industry consultants this represents a splendid result in these
troubled times. Some groups are cancelling their conferences because it is
cheaper to pay cancellation fees than go ahead with greatly reduced attendance.
27. Development Needs Help
> I'm interested in this ticket in the bug tracker:
>
> http://bugs.python.org/issue2527
>
> but it seems to have been stalled for nine months.
> Is there a procedure for starting it up again?
> Should I ask about it on the python-dev mailing
python-
> list, or just wait until somebody happens to
> notice it?
Nobody is likely to notice it unless someone pushes
forward with it. Non release critical bug reports and
feature requests tend to fall down a black hole after
about a week. [my emphasis]
week.
comp.lang.python, January 23, 2009
comp.lang.python,
The development side of things is one where the PSF has a much less direct
role, though many PSF members are involved. The development of the CPython
implementation is supported by PSF infrastructure; we don’t do very much
directly for the remaining implementations (Jython, PyPy and IronPython are the
best-known), although I hope that the VM summit and the language summit that
took place just before PyCon started have at least done something to increase
the common ground between them.
But I get uncomfortable when I think about how difficult it is to get patches
reviewed and into the source; or how the number of unaddressed issues in the
tracker slowly but remorselessly rises. It would be a hopeful sign if the
development team was continually increasing, but I am afraid that doesn’t
currently seem to be the case. I fear we lose potential developers because
newcomers are discouraged by seeing their patches languish unreviewed in the
tracker.
28. Grants
PSF only ever awarded three grants
SNMP-based development
Software Carpentry notes
Jython
Incredibly hard work for assessors
Not repeated due to lack of manpower
But if we had more help …
The PSF did once award grants, and they did have some definite positive
benefits, not least of which was keeping Jython alive long enough for Sun to
come along and decide to support it as part of their dynamic language
development effort. But without being able to delegate the work to people not
currently involved the Foundation is unlikely to repeat this experiment despite
having (some) available funds. So we could use some help here too.
29. Greater Participation?
This brings me to the whole question of how we increase participation in all the
activities I have mentioned, and hopefully more to boot.
30. Who’s In Charge?
The PSF?
If so then, notionally, me
Joined the PSF Board in 2004
Chairman since March 2008
Board is trying to provide open governance
But often the members just say
“get on with it, please”
While anarchy is notionally a great system to use for open source development I
think experience proves that sometimes we need to lend events a more
organized helping hand. So one of the things I have tried to do in my first year as
PSF chairman is to consider exactly what the role of the PSF should be, with a
focus on the Foundation’s declared mission.
It’s difficult to guide an organization whose membership is aquiescent to the
ideas of the leadership without some means of putting the ideas into action. The
Board are all volunteers, and have a difficult job carving out the time to not only
manage activities but also actually do some of the things that need doing.
31. What’s the Mission?
… to promote, protect, and advance the
Python programming language, and to
support and facilitate the growth of the
international community of Python
programmers [my emphasis]
How do we build popular support?
And what kind of support?
The Python Software Foundation’s mission includes a duty to grow the Python
user base. So I see it as entirely appropriate that we try to grow several things:
the number of Python users, the Python developer community (in its broadest
sense) and the PSF itself. This is my interpretation of the formal language of the
mission statement.
To grow the user base at the roots we need to make a compelling case that
Python is the best tool for many jobs, and we need to help application and toolkit
developers to publicize their solutions – outside the Python community, where
they aren’t currently known about. Sometimes it’s too easy to assume that other
people know what seems blindingly obvious to us, but often that isn’t the case.
To grow the developer community we need a way of encouraging new people to
join and finding them roles appropriate to their skill levels, which will not always
be cutting interpreter code.
To grow the Foundation we need to encourage existing members to nominate
new ones, with a mind to filling out the areas where the Foundation is light on
skills (among other things).
32. Recent PSF Changes
Blyaws Changes
Now more practical to enlarge membership
Full-time PyCon chairman
6-month contract to see how it goes
Treasurer engaged 500 hours/year
Administrative assistant
Remote worker, contracted as needed
Catching up on long-standing tasks
For a long time the PSF soldiered on with volunteer effort only. Towards the end
of last year it became apparent that this would no longer suffice. Long-standing
tasks weren’t getting done and the to-do list just kept getting longer.
So we have used some of our reserves to re-organize a little. If these changes
have succeeded then by the time you hear this talk book-keeping should be up to
date, PyCon should be properly managed and we should have at least started to
take care of those administrative tasks that geeks are not particularly good at.
One former worry was that if the membership grew too large we would find it
impossible to transact business if a large proportion of members were inactive.
Changes to the bylaws have made this less of a concern, and so I hope that we
can start to actively recruit new members who will support the PSF’s misison.
33. This is sometimes how I feel when faced with the prospect of having to exercise
leadership over the Python community. Fortunately I am a cat lover.
34. Leadership?
Open source people are not easy to lead
Constructive anarchy?
A strategy is required
Set the direction
Facilitate ways to connect the community
Support community initiatives
Enable rather than push
Leadership is difficult, particularly in the open source world where there is little to
compel people to take action.
So the strategy I am pursuing is to transform the Foundation into a supportive
organization that will look to the membership and the community at large for
projects to support, rather than run. Day-to-day management required should be
provided by the project members on the ground. The Board will advise, consult,
and raise funds for disbursement to the member-run projects.
I am interested in increasing communications inside the community. Events like
PyCon and the regional conferences prove that there is a huge demand for
information, and information can help people get (even) more from Python. It’s
also necessary to communicate more effectively outside the community to attract
new members and continue to grow the base.
35. Basic Approach
Recruit ideas from “the community”
YOUR ideas, to meet YOUR needs
Encourage people to lead the projects
Support with resources as required
Mostly money, but really what money can buy
Travel, equipment, other resources
Coaching and mentoring
You tell us …
This must not be an abstract exercise
All of this requires increased involvement from the community. Without it the
strategy will fail, as the PSF simply doesn’t have the manpower to be able to
manage projects from the top.
What it can do, however, is to act as a conduit for resources, and support good
projects coming from the community by enabling them in various ways that the
individuals might not be able to do. It can also promote communications among
members in an attempt to exploit synergy among the various community-based
projects that spring up.
Of course if I am wrong about the Python community, and it isn’t as strong and
idealistic as I think it is, then this strategy will fail along with my leadership. The
most critical aspect of all this will be managing the activities and trying to make
sure that they all move forwards.
36. Resource Limits
Funds are not (yet) a problem
Manpower is
Without people to run programs we cannot do
everything we would like
Grants
Conferences
Infrastructure and Web Site
Publications
Development
User Groups
…
Ultimately the limiting resource for all these grand ambitions is good people to
start and run the activities.
The PSF has accumulated substantial, though not ridiculous, reserves which we
have now started to make serious use of, and so for the first time we may end
this year with less in the bank than we started with. We do, of course, need to
hold reserves – for example, to be able to support litigation if necessary to protect
the intellectual property invested in the Python language. There are signs this
could become a serious issue, and the Foundation has instigated registration of
the name “Python” in several new jurisdictions.
Ti use an old testament analogy, I take the view that there is no point “burying our
talent in the ground”. If funding starts to run low because there are good projects
requiring support then we should seek additional funding, and there is some
evidence that the PSF has enough goodwill to be able to increase its income if
necessary. It just hasn’t seemed appropriate to ramp up funding efforts until we
were being at least somewhat proactive in utilizing the funds we currently have at
our disposal.
37. Engage The World!
Python users are our best advocates
Let’s give commercial users a channel
Explain how Python benefits them
Gives them a reason to publicize Python
They can publicize themselves too
Python is an excellent teaching language
Leverage existing teachers’ experience
Convince others of the benefits
We also need to be more determined in our outreach efforts, to both the
academic and commercial communities.
If academics are interested in using Python as a teaching language then I would
like to see somebody with relevant experience pointing out its benefits in that
role. I would like to see community members presenting papers at academic
conferences promoting the merits of teaching with Python.
It would also be good to have the academic and commercial users of Python
blow the language’s trumpet a bit louder. The days where Python use was an
undisclosed strategic advantage are long past. Stephan Deibel has made an
excellent start on this with pythonology.org, the original Python Success Stories
site, but we need to update this area of python.org and promote it more
effectively.
These are activities I believe the Foundation can legitimately support.
38. snakebite.org
Trent Nelson’s development support
project
Available to “the Python community
An amazing resource
Which we should build on
And make the most of
Not PSF assets
You have probably by now heard the announcement of Trent Nelson’s
snakebite.org project. Ultimately I believe this is intended to support many open
source projects, but Python is definitely the lead project for now, and we should
capitalize on that to consolidate Python’s prime position. I believe Trent will have
more to say at PyCon about the direction he is taking and the kind of help he will
need.
There are sufficient resources in the network that any Python project should be
able, if they can find the developer manpower, to make sure that where
appropriate they have easy-to-install distributions available for all major
platforms. What an amazing increase in availability that will give us!
Trent deserves our thanks for the incredible amount of hard work and substantial
funding he has invested in getting this invaluable resource up and running. He
has also received enthusiastic support from vendors like Hewlett Packard and
Microsoft, to whom we should be grateful.
39. How to Save Developer Time?
Semi-formal mentoring scheme
Attract and retain new developers
Welcome non-developers
Lots to do on documentation
Sprints require organization
Needs time investment from developers
Could be returned many times over
Ultimately leaving them free to develop!
I wonder if it might be time to consider being a little more formal and/or structured
in our support for the (CPython) development team. There’s a general feeling that
we need a continuous supply of “new blood” to keep the team healthy. But at
present there seems to be no particular mechanism for recruiting or supporting
new developers.
While a lot of hard work has gone into putting developer documentation together
it is still in need of further effort to ease the entry of new members into the
development community. And whether someone gets commit privileges largely
depends on their unaided efforts. The PyCon sprint has traditionally been the
place where most time goes in to encouraging and training newcomers, but I
would hope we could recruit more talent into the pool by a year-round effort that
didn’t depend on attending a conference.
I realize it would (temporarily) increase the load on existing developers to have
them exercise the discipline of a formal training and mentoring scheme, but it
could hardly hurt to think about definite steps that would make it more likely to
increase the development community.
We should all ask ourselves how we can help to enhance the flow of new
developers into the Python community – besides having kick-ass conferences,
that is ;-)
If anyone wants to start their career as a core developer there is no better time
than the PyCon sprint, so sign up now!
40. Guiding the Developers
Dialog with users is important
Tracker tool is the main channel
Intimidating to inexperienced users
Whose input is the most needed
Tracker “archaeology” project has helped
But the RoundUp interface is still complex
Need a more approachable medium?
Tests still need improvement
The Roundup tracker is fine for those with the knowledge to use it, but it’s
sufficiently hard to drive that important messages can get lost.
It really would be good to see some formal means of considering requests for
enhancement that won’t involve busy developers in spending large amounts of
time listening to half-baked ideas from inexperienced users. I see the community
as having the potential to be a very effective filter.
Ultimately the developers will make the decision about what goes into the
language. But there are hundreds of ancillary topics, from the structure of the
documentation and the effectiveness of the tutorial to the usability of the web site,
that the developers shouldn’t need to be involved in but that nevertheless do
need someone looking after them.
40
41. Optimize the Web
Make python.org a portal
Allowing access to diverse groups
With decentralized content management*
Showcase the best of Python
Provide a compelling demonstration of
The vibrance of the Python community
The value of Python
Open source ideals
* But a unified look-and-feel, please … and professional availability levels
In order to reflect this somewhat different vision of the Foundation, I should like to
see python.org becoming much more of a window on the diverse world that we at
PyCon already know exists.
If the existing front page can be transformed into a portal, the activity that takes
place across the community can be reflected through it, and the each subgroup
with content responsibility can update their portion of the content autonomously
without having to rely on the central webmaster team.
This will require some up-front design effort, and we will need to begin with the
involvement of many groups who don’t know much about the current structure. It
will also require a commitment to production quality from anyone who wants to
take part, as the responsive nature of the current site must not be compromised.
There are benefits to doing this, though, not least the opportunity for people to
learn what it takes to keep a site of that size and activity up and running.
At the moment I don’t think anyone actually writes about the webmaster activity
on the site. It would be good if that changed too.
42. Possible Active Content
Top digg/delicious Python item of the day
Recent additions to the Package Index
News from Python projects
Featured Python job, project, module …
Conference news and reports
Latest Planet links
Code snippets
… etc., etc.
So here are a few ideas for things which a portal site might choose to contain.
This list just scratches the surface. I am sure there are many more valuable ideas
in the heads of the community collectively, and I hope they will become the topic
of active discussions. It’s time to open the web site up so that it reflects the
diversity and energy of the existing and future Python community, and to turn it
into a showcase both for the language and the community that surrounds it.
The transformation in the web site can be more gradual than the last one, as
portal-based content does not require that the surrounding site be radically
reorganized. I do think it would be better to migrate towards active content
anyway – I realize this takes more server power, but there is no indication that
the web server is currently overtaxed, and if becomes so then let’s just acquire
more powerful hardware.
43. One Small Possibility
One small example of what could be done: With a dynamic front-end we could
vary the images shown per impression. Over the long term a development like
this could yield a valuable click stream to let us know what people are interested
in about Python. This would not so much be commercial advertising as Slashdot-
like competition to appear on the python.org homepage. Images would add a
dimension of competition not present in current advertising.
Andrew Kuchling obviously borrowed the time machine, because he has already
written suitable rotation code, and at present a graphic is selected whenever the
site is regenerated. Of course it would be even nicer if we could select the image
with each page view!
43
44. Possible Images
This is just a set of images I pulled from the web sites linked to by Python
Success Stories. Already we see a much more diverse set of possibilities from
Python, even without the good old spacesuit image.
44
45. The Vision (or A Vision, Anyway)
PSF
Board
Web
National Outreach
Dev Fund Language Infra-
User And
and Raising Dev structure
Groups Marketing
Maint
Local
Language
User CPython Jython PyPy IronPython
Specs
Groups
This is not a blueprint, but simply one idea of what the PSF might look like in the
future.
I think the Foundation should be seeking closer relationships with all
implementations (there are others, and they are only excluded through lack of
space), and encourage broader work on a common test set that all
implementations are expected to pass. I think this would be preferable to
standardization work, but in the Python world we’ve always known that
practicality beats purity.
The work I have done on investigating broader protection for the Python
trademark has made me realize that there can be real advantages to international
organization. Over time I would like to see each national user group formally
affiliated with the PSF: in that way each can encourage the local user group
structures appropriate to their situation, and deal appropriately with any national
bureaucracies.
We probably do need to be a little more conscious of the need to face outwards,
and establish relationships with groups, companies and individuals who can help
us to achieve our goals. A marketing approach would do this by establishing
common benefits, achieving what Americans like to call a win-win.
46. The Inspirational Bit?
Ask not what Python can do for you
But rather, what you can do for Python
The PSF can use help
Just a question of deciding how you want to
contribute.
I believe the Foundation can enable projects that have grass-roots community
support, but the support from the community needs to be practical: people need
to commit to moving them forward, using Foundation resources where necessary.
There’s a downside, though, which is that committees and subcommittees have
typically not been particularly productive in the past. We don’t just need people,
we need people who can get things done.
The future is fluid, and I am not trying to cast the PSF’s shape in concrete, or put
it in a strait jacket. It will prosper best by responding to the expressed needs of
the community. I am hoping that the community will respond to this call by
producing ideas, requests for funding and a new round of volunteerism.
47. Python Projects I’d Like To See
SharePoint competitor
Design principles relatively obvious
Too much work for a volunteer project?
Competent GUI designers
Existing Python products all weak somehow
Would encourage Python use on the desktop
Personal Information Manager
Exchange information between existing tools
Here I let my imagination go a little and asked myself where Python could shine.
It certainly isn’t unthinkable that any of these products could be created with
sufficient goodwill and funding behind them. I don’t think the PSF should involve
itself directly in developing anything other than Python implementations.
Microsoft recently announced that SharePoint had become a $1bn business line
for them. It clearly meets a need in many organizations, and open source can
certainly match much of the technology that SharePoint uses: while some of it is
exceedingly complex, most of it is straightforward Web 2.0. Where’s the open
source equivalent? Python would be an ideal development language.
While many applications are aiming at the web there is still a substantial market
for desktop applications, and most users today aren’t exactly enamored of the
command line – in fact most computer users today never even see a command-
line environment. So it would be nice if we could make it really easy to produce
GUI-based Python applications with easy internationalization.
Chandler was a well-intentioned project, but it wasn’t in practice responsive
enough, either as a project or a product. I think “release early, release often”
would have given the project team more effective feedback, but it appeared
instead to take a “big up-front design” approach. So there’s still room for what the
trade press would undoubtedly term an “Outlook killer”. But I don’t really think it
needs to be that; what everyone really needs more right now is tools that will
integrate the information sources of the tools they already use. I won’t be happy
until I can use the same address book for Gmail, Thunderbird, Outlook and
Skype, and have people’s Twitter and AIM identification in there as well. Plus
whatever else comes along. Until the APIs are ready and ubiquitously deployed
we need an interchange tool.
48. Other Wish List Items
Maintainer(s) for Python Success Stories
Feature a different story daily on home page
Professional “brand management”
You think “success” happens by accident?
More community members taking control
Own your project, ask for assistance
Better communication between users and
developers
The issue tracker is not the right forum …
I am well aware that there is a segment of the Python community that feels it is
either unnecessary or unsavory (or possibly both) to involve the PSF in
marketing, but nevertheless some marketing is required if the PSF is to transition
to a dynamic organization that helps to drive Python uptake rather than passively
watching it. Whether this is a valid goal is something we should debate. Maybe
the PSF should just react to whatever happens “out there”, and only concern
itself with licensing issues ...
My own belief is that we need to actively point out how and why Python is the
superior solution for many software problems, and help people and organizations
with successful Python-based projects and products to publicize their
achievements. The more people who use Python software, the more successful
Python users of all kinds will be, and the easier it will become to find Python
programmers. At present the biggest complaint I hear about Python is that it’s
difficult to find good Python programmers.
48
49. But this is the bottom line. There has to be a “U” in “community”.
50. YOU Are the Python Community
This should be seen as an opportunity
There’s nothing wrong with
planning to provide mutual benefit
Increasing Python popularity means
greater opportunity
Remember that newbie?
(S)he might be sitting next to you
Please take the time to
welcome newcomers
My take on this is that FLOSS (Free Libre Open Source Software) is actually the
spearhead of an economic revolution. This revolution is based on a reappraisal of
the notion of intellectual property, and a realization that sharing creates more
than maintaining proprietary ownership. We are only just beginning to see its
impact on commercial economics. I think Leslie Hawthorne expresses well the
responsibilities that this brings in here blog entry Commercialization of FLOSS
[http://www.hawthornlandings.org/2009/02/commercialization-of-floss.html].
A community is “a group of people sharing a common understanding who reveal
themselves by using the same language, manners, tradition and law”. I firmly
believe you do not need to be a member of the PSF to play a full role in the
Python community, but that the PSF has a role to play in developing that
community.
I would like to feel that membership of that community can bring positive benefits
to all those who embrace it. Remember that many people at PyCon will be here
for the first time (in 2008 over 60% of delegates were newcomers). Please do
your best to make them feel welcome.
Python rocks, and I think those who have adopted it early are a very special
breed.
51. Evangelism is OK!
Let’s all be Python evangelists
Let’s all acknowledge our debt to Python
And think about “giving something back …”
Ask the PSF for resources
We can all help in different ways
Your ideas are as good as anyone else’s
The Python community is cool
Because you are cool!
I don’t want to think of Python evangelism as the responsibility of any one person
or group. If Python has done something for us then it seems reasonable for us to
do something for Python. Enlarging the Python community benefits everyone,
and if the PSF can act as the central clearing house for ideas and a conduit for
resources I will be more than happy.
52. Questions?
Suggestions?
Discussion?
Volunteering?
Is the bar open yet?
I hope that there will be a fair amount of time to answer questions from and
otherwise interact with the audience. If this opportunity occurs I will feed the
discussions back into further presentations.
I am grateful to the PyAtlanta group for the opportunity to present an early
version of this talk and to gather ideas for enlarging it.
Most of all I would like to thank everybody who has helped to develop Python and
made the Python community the welcoming group I hope it will continue to be.