kontakt
Polski English

Agenda

pobierz

czwartek, 13.09.2012 r.

16:00 Rejestracja uczestników (w opcji od czwartku)
17:00 Otwarcie konferencji / Opening
17:15 Ralph - zrób porządek w swojej serwerowni
Radomir Dopieralski, Łukasz Langa

Ralph to system zarządzania infrastrukturą serwerową rozwijany w Grupie Allegro. Jest to również pierwsze autorskie oprogramowanie Grupy wydane jako open source. W tym wykładzie odpowiemy sobie na pytanie „po co nam ten projekt” i jakie są jego możliwości. Dodatkowo wspomnę o najciekawszych momentach zwrotnych w rozwoju narzędzia:

  • minimalizm w wytwarzaniu oprogramowania
  • optymalizacja wydajności przez zrównoleglanie i rozproszenie
  • przewodnik integratora po obsłudze taśmy klejącej
18:00 Playing with robots in Python
Marek Šuppa
We all know that Python is a great programming language for beginners. Sadly, beginners in robotics are usually exposed to either difficult languages like C, or extremely simple drag'n'drop languages.

This talk will look at possibilities of using Python with popular Lego NXT platform. It will also introduce the nxtIDE project which allows you to program these robots in Python and also emulate them. This way you don't even need a physical robots to play with them. You just need a computer which can interpret Python!
19:00 Kolacja / Supper
20:00 Fractal Architectures
Laurens Van Houtven (lvh)

Traditional service architecture wisdom generally tells us to build services like this:

  • Load balancer in front
  • Web servers, preferably stateless
  • Database (with a caching layer)

That works great for a wide variety of use cases. The point of this talk isn't to deprecate that design, but to discuss a radically different one.

The design I will present in this talk is one consisting of recurring, identical components. It localizes state to individual application servers and persists it to durable stores later. It aims to be easier to scale horizontally: that is, enabling you to increase throughput by simply adding more machines to the homogenous cluster.

I will talk about it's benefits, such as performance and how it fits in well with many cloud providers' services, but also its downsides, such as the inherent complexities of distributed systems. These qualities are analyzed to come to a conclusion about which kinds of project this design is suitable or not suitable for.

In this talk I will discuss both the abstract concepts and the practical implementation that I have built using Twisted and Axiom (a simple object database on top of SQLite 3), which is currently running in production. Although I will touch on the practical implementation, the talk should still be useful for anyone wanting to implement a similar idea using different tools.

21:00 Forms in python - problems and my proposal of solving them
Szymon Pyżalski
My lecture would consist of two parts. First I would like to discuss what can a developer expect from a form library. Secondly I will show a design of one that would address all these problems.

piątek, 14.09.2012 r.

09:00 Śniadanie / Breakfast
10:00 Using CouchDB with Python
Stefan Kögl
This tutorial will guide you through the basic concepts of the document-oriented database CouchDB and teach you how to use them from Python. The tutorial will be based on the library couchdbkit, but as CouchDB uses a HTTP API, everything explained in this tutorial can be easily done with any other library / programming language or even plain curl commands. Outline: Setting up CouchDB, Key-Value-Store Functionality of CouchDB, MapReduce Views, Multi-Master-Replication, Eventual Consistency, Dealing with Conflicts
14:00 Obiad / Lunch
15:00 Rejestracja uczestników (w opcji od piątku)
15:45 Powitanie uczestników piątkowych
16:00 Continuous integration - czyli jak spędzić weekend z dziewczyną zamiast z szefem
Łukasz Oleś
Większość z nas woli programować zamiast debugować. Tym bardziej mało kto lubi szukać błędu na serwerze produkcyjnym w sobotni wieczór. Jak tego uniknąć? Nie wpuszczaj błędów na produkcję. Podczas prezentacji pokażę jak przy użyciu takich projektów jak nose, jenkins, pyflakes, fabric tego dokonać.
17:00 What I Missed About Python (and how JS taught me to love Python even more)
Audrey M. Roy
What happens when you take a Python developer and immerse her completely in JavaScript for a few weeks? This talk tells the story of my journey through JavaScript, from deep-diving in and looking for Python analogues in JS to achieving a greater understanding and appreciation of Python's design through comparative language study.
18:00 Kompozycja poprzez wielokrotne dziedziczenie
Łukasz Langa
Jednym z momentów zwrotnych w historii było wprowadzenie produkcji półfabrykatów. Poprzez tworzenie prostych komponentów, które integruje się później w złożone produkty, producenci są w stanie budować szybciej i taniej, osiągając lepszą jakość. W tej opowieści programisty o sercu inżyniera opisuję, jak używam mechanizmu wielokrotnego dziedziczenia dostępnego w Pythonie, by realizować tę rzeczywistość przemysłową w kodzie źródłowym. Przykłady bazują głównie na Django, jego ORM, formularzach i klasowych widokach. Jednakże zasady, które opisuję, są ogólne. W trakcie wykładu wspominam o sposobach implementacji komponowalnych modeli abstrakcyjnych, a także mixinów do formularzy i widoków. Tłumaczę, jak to podejście tworzy czytelne i zarządzalne idiomy, wraz z ich plusami i minusami. Zakończę podsumowując moje doświadczenia z próbą stworzenia biblioteki ściśle reużywalnych komponentów.
19:00 Kolacja / Supper
20:00 Using Python to Generate Art and Sound
Audrey M. Roy
I’ve used Python to draw rainbows of different shapes and colors, Gaussian clouds, and landscapes in perspective. I’ve also used Python to create sound effects for games. This talk explores my experiments with the various Python imaging and sound tools. First, I walk the audience through implementing basic audio building blocks with the Python stdlib's wave, math, and array modules. Then, I improve upon the code with NumPy and SciPy. Finally, I demonstrate how audio synthesis can be very similar to generative graphic art, using similar techniques to create building blocks for basic illustration.
21:00 5 lat PyCon PL

sobota, 15.09.2012 r.

09:00 Śniadanie / Breakfast
10:00 Pyramid - podstawowe koncepcje w praktyce JavaScript dla Programistów Pythona
Szymon PyżalskiRadomir Dopieralski
W czasie warsztatu stworzymy prosty, ale funkcjonalny system moderowanych newsów. Przy tej okazji poznamy podstawowe koncepcje frameworka Pyramid - traversal, acl, zarządzanie transakcjami. Warsztat adresowany zarówno dla całkowicie początkujących, jak i dla osób programujących we frameworkach o innej niż Pyramid architekturze. JavaScript niewątpliwie jest najpopularniejszym językiem programowania na świecie. Przydaje się przy projektowaniu stron internetowych, interfejsów użytkownika, ale także przy przetwarzaniu danych czy pisaniu aplikacji serwerowych. Jest to przy tym język pełen pułapek dla nierozważnych. Ten warsztat przeznaczony jest dla tych programistów Pythona, którzy zetknęli się z językiem JavaScript, ale nigdy nie mieli okazji porządnie się go nauczyć. Jest to okazja do ugruntowania swojej wiedzy bez konieczności uczenia się języka od podstaw, gdyż wbrew pozorom JavaScript i Python mają ze sobą bardzo dużo wspólnego. Podczas warsztatu wykorzystamy swoją wiedzę o Pythonie i wzorce, jakich w nim używamy. Kurs przygotował Jonathan Fine i poprowadził go wielokrotnie na konferencji Europython -- w 2009, 2010 i 2011 roku. Za każdym razem cieszył się on dużą popularnością. W 2012 roku poprowadziłem ten kurs na Europythonie w jego zastępstwie, a teraz chcę poprowadzić go na PyCon.pl po polsku. Na warsztat proszę zjawić się z własnym laptopem, wraz z zainstalowanym na nim interpreterem JavaScript -- polecam node.js, rhino lub jsdb.
14:00 Obiad / Lunch
15:00 Wysoko skalowalne serwisy pythonowe w OnetPoczcie
Igor Waligóra
W prezentacji pokażemy nasz model rozproszenia usług pocztowych, jak zrobiliśmy to przy użyciu Pythona. Pokażemy metody realizacji stabilnych i skalowalnych systemów utylizujących niskopoziomowe biblioteki oraz model ich zwielokrotnienia i integracji. Uchylimy rąbek tajemnicy działania jednego z największych systemów pocztowych w polskim Internecie.
15:30 Blame it on Ceasar: A rant on calendaring
Lennart Regebro
Timekeeping on all levels is surprisingly difficult. This talk explains why it's sort hard, and which parts Python can help you with.
  • What is calendaring, really, and why is it so complex?
  • What's in a year?
  • Dissecting the Julian/Gregorian calendar
  • Mesopotamian mathematics
  • Time zones
  • Recurring events is less fun than you think.
16:30 How to bootstrap a startup using Django
Jannis Leidel
Based on the experiences building Gidsy.com this talk will give you valuable insights as to how your infrastructure will evolve and how to set up the basic components (load balancer, web servers, DB, caching, celery, CDN, …) of your site.
17:30 LFS - Lightning Fast Shop
Kai Diefenbach
LFS is an online shop based on Python, Django und jQuery distributed under the BSD-License.

LFS enjoys growing popularity amongst users and developers. (>120.000 downloads on PyPI).

In this talk, Kai Diefenbach, founder of LFS, gives an overview for users, integrators and developers.

18:30 An extreme talk about the Zen of Python
Daniel Greenfeld
In the Python community we are taught from the outset of learning the language that the Zen of Python serves as a guide for how we should construct our codebases and projects. Rather than go into the zen-like meanings of each statement, this talk will explore how individual koans are implemented via detailed displays of sophisticated code examples.
19:30 Grill integracyjny / BBQ

niedziela, 16.09.2012 r.

09:00 Śniadanie / Breakfast
10:00 Python w aplikacjach bankowych
Maciej Dziergwa
Tworzenie aplikacji dla banków, szczególnie banków internetowych, to bardzo skomplikowany proces. Ponieważ STX Next Python Experts robi to już od kilku lat, chciałbym pokazać jak to robimy. Wystąpienie przybliży takie zagadnienia jak:

- architektura bankowych systemów transakcyjnych
- narzędzia do tworzenia rozwiązań typu enterprise
- frameworki pythonowe używane w bankach
- generowanie zaawansowanych formularzy i tabel
- testowanie
- buildownie
- logowanie zdarzeń
11:00 Programowanie aplikacji dla Windows 8 w HTML 5 i Javascript
Bartłomiej Zass
Nowy interfejs systemu Windows 8 wnosi najbardziej rewolucyjne zmiany od czasów Windows 95. Najważniejsze jednak, że aplikacje możemy pisać na wiele nowych sposobów – także w HTML 5 i JavaScript. W trakcie sesji przybliżymy nowe API (WinRT) i zobaczymy jak programować aplikacje działające w nowym, kafelkowym świecie wykorzystując dotychczasowe umiejętności. Dowiesz się w jaki sposób dotrzeć ze swoją aplikacją do milionów użytkowników poprzez Windows Store lub dostarczyć ją klientowi na tabletach ARM. Poznamy od podstaw najważniejsze elementy platformy.
11:30 Asynchronous and event-driven PyOpenCL programming
Tomasz Rybak
OpenCL is the library, API, and programming language intended to help with performing computations on different computing devices like ordinary CPUs, graphical cards (GPU), specialised chips or FPGAs. OpenCL provides different profiles offering various capabilities (e.g. kernel compilation during runtime, executing native binary code, embedded function libraries) to allow to support different device types. Programming GPUs in Python is easy thanks to PyOpenCL (and PyCUDA). Not everything offered by OpenCL can be used in Python though, because OpenCL is defined assuming usage of the C language. Some functionalities, like calling function in response to event, require providing pointer to C function; fortunately such requirements show themselves only in the most sophisticated use cases. PyOpenCL helps with achieving high performance through asynchronous event-driven programming by allowing us to use many queues and many devices and by mixing synchronous and asynchronous calls. We can create quite sophisticated computation workflow and OpenCL will take try to use the available hardware, e.g. by concurrently call code and transfer data at the same time. New OpenCL versions allow for splitting one physical device into many logical ones (fission) which can be used to reserve some computing capabilities for usage in time-sensitive manner. We can also attach many devices to once shared context which allows to write code performing different tasks and computations in parallel. Some of the features offered by PyOpenCL are similar to those present in Python. Performing asynchronous computations on GPUArray and retrieving results later is similar to Python's Futures. So far it is impossible to retrieve Futures from GPUArray (to integrate GPU and CPU computing) but this seems to be the case of missing functionality, not incompatibility preventing it from happening. I want to show that creating programs performing quite sophisticated computations might be easy thanks to Python and PyOpenCL. I would also like to start discussion about current PyOpenCL limitations and to get feedback from PyOpenCL users.
12:30 Sieć Web w czasie rzeczywistym
Piotr Lewalski
Status quo dla interaktywnych aplikacji webowych. Technologie, istniejące biblioteki, przykładowy stos oraz demonstracja.
13:30 Twoja wirtualna piaskownica dzięki narzędziu Vagrant
Piotr Banaszkiewicz
W tej prelekcji opowiem czym jest Vagrant, do czego się przydaje i jak z niego korzystać. W dalszej części przedstawię konfigurację wirtualnej maszyny używanej przez Vagrant i przykładowe zastosowania.
14:30 Obiad (opcjonalny) / Lunch (optional)

prelegenci


Piotr Banaszkiewicz

Kai Diefenbach

Radomir Dopieralski

Maciej Dziergwa

Daniel Greenfeld

Stefan Kögl

Łukasz Langa

Jannis Leidel

Piotr Lewalski

Laurens Van Houtven (lvh)

Łukasz Oleś

Szymon Pyżalski

Lennart Regebro

Audrey M. Roy

Tomasz Rybak

Marek Šuppa

Igor Waligóra

Bartłomiej Zass

Złoty Sponsor


Python Academy

Patroni Medialni


osworld.pl osnews.pl Polish Python Coders Group Bioinformatyk.eu Linux Magazine

zalogowanych użytkowników: 0
odwiedzających gości: 5

wyk. F. Kłębczyk, motyw graf. Piotr Hajduga, system rejestracyjny D. Grzesista, dgnet.pl; wersja z 2013.05.12