PyCon Russia 2013 program formed

    ... 90%. Those. some progress can still be, six people are still determined with reports, but most of the substantive part of the conference is ready. We bring it to your attention:

    Foreign speakers:


    Armin Ronacher , one of the founders of the Pocoo Team. England.
    Widely known as the author of Flask and Jinja2. Armin will give a presentation on “Advanced Flask patterns, completely updated since EuroPython 2012.

    Dr. Russell Keith-Magee ,president of the Django Software Foundation, member of the Django core team, CTO at TradesCloud. Australia.
    Russell will give a talk about building developer communities through the prism of his experience at DSF, and also talk about some of the technical aspects of the Django device (ORM).

    Holger Krekel , founder of the PyPy Project, author of the popular tools py.test and tox. Germany.
    The subject of Holger's talk is “Re-inventing Python packaging and testing”: Python still does not have a built-in installer that can install dependencies. You have to first install setuptools / distribute and then use easy_install / pip. Installation of packages is slow and depends on reachability of and other servers. There is no quality control where you could eg see on which platforms the package successfully installs, let alone has its automated tests passing. There is not really a standard way to run tests. This talk outlines my plans for improving the situation, including a demo of a new (in-development) PyPI server that speeds up installation by an order of magnitude for many packages.

    David Cramer , High Load Specialist from DISQUS. USA
    DISQUS - one of the largest web projects written in Python; It withstands over 500 million users per month. David will talk about scaling projects in Python: the right practices and the rake that projects are attacking during their growth.

    Jeff Lindsay , hacker philosopher, developer, architect. USA
    Founder of the largest US hacker community center Hacker Dojo, organizer of the world famous hackathons SuperHappyDevHouse. He participated in projects CommerceNet, NASA Ames, Twilio and others. In his free time he talks about Evented Web and teaches programming. At PyCon Russia, Jeff will present the topic "Distributed Service Architectures with Python."

    Russian speakers:

    Andrey Svetlov, Python Core Developer, co-organizer of UA PyCon.
    “PEP 3156 is the standard for asynchronous operations in Python.”

    Python already has many libraries for network programming. The most famous are twisted, tornado, gevent, medusa / asyncore. These systems are not compatible with each other, which makes it impossible to write cross-platform libraries working in any event loop. PEP 3156 offers a new common standard that all developers can support.

    Andrey Vlasovskikh, developer of the PyCharm IDE at JetBrains, author of the funcparserlib and iterpipes libraries.
    "Python Static Analysis"

    Static analysis allows you to get information from the source code of a program without executing it. We will look at the available tools for static analysis of Python code (PyLint, PyFlakes, Pep8, inspections in the IDE) and talk about what problems they can automatically find in the code. I will talk about the approaches on which the static analysis in these tools is based, I will dwell in more detail on the specifics of analyzing Python as a dynamic language. The report will introduce static analysis tools that can be used in everyday practice to reduce the number of problems in Python code (errors, exceptions, stylistic discrepancies), as well as learn about the theory behind static analysis tools and get acquainted with the features of using static dynamic analysis languages ​​like Python.

    Mikhail Korobov, Python developer, speaker of various Python conferences.
    "How to upgrade to Python 3?"

    I’ll tell you how things are going with the transition to the 3rd python, why switch to it and how (in my opinion) to switch to it. Knowledge can be put into practice on the same day, jointly porting a library or two as part of an evening workshop / sprint. I hope that after the presentation and workshop each person will have (or systematized) the skill of porting code to Python 3. This skill will soon become necessary, for example, in order to read the code of most popular projects (even if you write in 2.x) . Well, no one has canceled the benefit for world civilization.

    Roman Imankulov, developer of Doist Inc. “Celery for internal API in SaaS infrastructure”

    Celery's primary goal is to perform background tasks. Typically, celery processes use the same code base as the main application. I suggest looking at Celery from the other side and try to use it as a transport for connecting components of a distributed application. The report will provide concrete examples of the Celery API implementation, and discusses issues related to routing requests to workers. It will also be mentioned why Celery is so good for building an internal API, and in what situations its use may seem redundant. Students will learn about how to quickly and without unnecessary overhead to bundle the components of a distributed application into a single whole, get rid of strong connectivity, and perhaps look at their own application from a slightly different point of view.

    Alexander Koshelev, head of the development team, Yandex.
    "Dissecting the operation of asynchronous code"

    What happens inside the asynchronous code? What to do when logic becomes cpu-bound? Is it possible to make a hybrid synchronous-asynchronous architecture? I will try to answer these questions with an example application on Tornado. I will make a visualization of the application and propose ways to solve some problems.

    Konstantin Lopukhin, ChTD
    “Approach to versioning data in a relational database”

    I want to talk about the problem of data versioning in a relational database - where does this problem come from, possible setting and solution options. I’ll talk in more detail about the interval-based approach, which allows you to work in the system at any time in the past, roll back the entire system or its individual parts. The approach is implemented in a small documents library for Django, but the principle itself is easily portable. I will consider the application of this approach both for traditional applications and for building a versioned EAV database that represents data in the form of a graph.

    Danila Shtan, development manager of holding
    “uWSGI as a Swiss python-web-developer knife”

    uWSGI, which began as a fast container of Python applications, gradually evolved into an infrastructure solution not only for launch, but also for application development in general (and not only in python). Unfortunately, the lack of documentation often discourages developers and system administrators from using uWSGI. My report is aimed at people (both developers and system administrators) who have practical experience in deploying web-applications on python in the production environment, who are ready to consider alternatives to the chosen solutions. In addition to getting to know the application server itself, we will look at additional features (for example, caching or performing background tasks), which often allow (especially in small projects) to reduce the number of third-party technologies like memcached or celery.

    Denis Kolodin, analyst programmer, Forum IC
    Low-latency and soft-realtime in Python

    The report will discuss the development of software that runs at high speeds and has a predictable response time. It will also introduce ways to integrate Python using ctypes and cython with high-speed operating system services. It addresses memory, process, thread, fiber, and GIL management issues. Students will understand how to build systems with expected response times. Knowledge can be used to develop servers that serve many clients at the same time or perform high-speed data processing.

    Dmitry Prokofiev developer, Yandex
    “Evolution of a data synchronization system between services”

    The report will talk about why Yandex needed data synchronization and what it faced in the process: Why we synchronize at the application level. Update log vs Insert log. DB related issues. Data types, lack of transactions. Problems related to Django. Problems associated with changes below the application level. For example, a massive update.

    Mikhail Yumatov, Senior Developer, Trilan

    SaltStack is a tool for executing commands in parallel on servers, where commands are functions in Python. In the report, I will try to explain why it is worth paying attention to SaltStack, even if you are already using Chef or Puppet, how it can be useful. I’ll tell you how we use SaltStack to automate the deployment of projects and pay attention to additional pleasant features, such as a notification system between servers, a system of user rights and some others.

    Master classes

    Note: a master class is a 4-hour work format when participants come with their laptops and work under the guidance of a master on a practical task. The whole theory of the question is studied immediately with practical examples that are carried out by the hands of the participants.

    Konstantin Lopukhin, ChTD
    "Master class: writing your own interpreter using RPython"

    In this master class, we will see how bytecode interpreters are arranged (almost all interpreters for modern dynamic languages ​​are exactly that), what are the advantages of using RPython during implementation (used in PyPy), and how JIT (just-in-time compiler) works. The practical part will consist of implementing several small parts - implementing a new bytecode, adding a just-in-time compiler, analyzing and improving performance. Participants will learn what parts the interpreter consists of and how they work, how JIT works, why TDD is good, and then they can write a quick interpreter of a small dynamic language over the weekend.

    Andrey Svetlov, Python Core Developer, co-organizer of UA PyCon.
    “A master class on creating network applications from scratch”

    Many programmers wrote asynchronous code using ready-made solutions. The purpose of the workshop is to show how it all works "under the hood." It will be interesting to those who have already written network code using ready-made libraries or those who want to learn how to do it. Participants will gain knowledge of the basic principles of creating asynchronous network libraries from a low level to user-friendly constructs.

    Mikhail Korobov, Python developer, speaker of various Python conferences.
    "Porting workshop on Python 3"

    Practical application of the knowledge gained during the presentation.


    Organizational matters:

    Conference website: Until the end of January, preferential ticket prices are valid. Hurry up to register! :)

    Also popular now: