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! |
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 |
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. |
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. |
sobota, 15.09.2012 r.
09:00 |
Śniadanie / Breakfast |
| | | |
10:00 |
Pyramid - podstawowe koncepcje w praktyce |
JavaScript dla Programistów Pythona |
| Szymon Pyżalski | Radomir 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. |
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) |
| | | |
19-letni (wkrótce) student pierwszego roku na AGH w Krakowie. Poświęcony ruchowi Open Source już od kilku lat. Brał udział w programach Google Code In oraz Google Summer of Code.
Radomir Dopieralski pomaga administratorom z działu infrastruktury Grupy Allegro w tworzeniu w Pythonie wewnętrznych narzędzi do automatyzacji pracy i zarządzania serwerowniami. Hobbystycznie rozwija rozproszony silnik wiki Hatta oraz tworzy gry. Interesuje się zagadnieniami związanymi z projektowaniem interfejsów użytkownika i narzędziami wspomagającymi wspólpracę w projektach programistycznych.
Stefan Kögl jest studentem informatyki na Uniwersytecie Technicznym w Wiedniu. Kieruje gpodder.net - serwisem webowym do obsługi podcastów, który bazuje na Django i CouchDB. Pondato lubi odkrywać możliwości nierelacyjnych baz danych.
Core developer Pythona, chroniczny perfekcjonista, pianista, tata.
Jannis jest core developerem Django, przewodniczącym Niemieckiego Stowarzyszenia Django i głównym inżynierem w Gidsy z Berlina. Stworzył kilka aplikacji Django wielokrotnego użytku i zarządza pakietami Pythona takimi jak pip i virtualenv.
Były programista dla kilku korporacj, współwłaściciel startupu.
Doświadczenie w prowadzeniu prezentacji przed inwestorami.
Freelancer. Ostatnio zagubiony w chmurach. Głównie zajmuje się wirtualizacją i cloud computing.
Szymon jest programistą firmy STXNext. Prywatnie poszukuje nowych rozwiązań dotyczących zarządzaniem danymi w Pythonie.
Tomasz Rybak jest programistą. Opiekuje się Debianowymi pakietami PyCUDA i PyOpenCL.
Konsultant, trener, architekt. W Microsoft odpowiada za współpracę z kluczowymi partnerami w zakresie transferu wiedzy i wdrożeń nowych technologii deweloperskich. Obecnie zajmuje się projektami opartymi o Windows 8 i Windows Phone. Pełni rolę eksperta dziedzinowego w powyższym zakresie, a także w szeroko pojętym programowaniu aplikacji internetowych (w szczególności ASP.NET). Odpowiada za projekty tworzone wspólnie z największymi w Polsce serwisami internetowymi. Współautor książki "Windows Azure - Platforma Cloud Computing dla programistów".
|
zalogowanych użytkowników: 0
odwiedzających gości: 5
|