conference programme

April 3rd, 2008

1st day
Hour Python Ruby
8:00-8:30 Breakfast / Registration
8:30-9:00 Opening word
Where: Aula A
9:00-9:30 Current state of Zope
Andreas Jung
Where: Aula B
Metaprogramming in Ruby
Jarosław Rzeszótko
Where: Aula A
9:45-10:30 Programming the Browser with IronPython and Silverlight
Michael Foord
Where: Aula B
Ebb web server
Ry Dahl
Where: Aula A
10:45-12:00 Correlations and Conclusions
Zed Shaw
Where: Aula A
12:00-13:30 Lunch
13:30-13:45 Grow it, move it, shrink it – Cloud Computing
Sponsor Presentation
Where: Aula A
13:45-15:00 TDD in Python
Jonathan Hartley
Where: Aula B
TDD in Rails
Andrzej Krzywda
Where: Aula A
15:15-16:15 Business Natural Languages
Jay Fields
Where: Aula A
16:30-17:15 Let the Python crawl
Mateusz Biliński
Where: Aula B
Pedro Sousa
Where: Aula A
17:30-18:15 PyPy: status and next goals
Carl Friedrich Bolz
Where: Aula B
Caching in Rails
Wiktor Schmidt
Where: Aula A
19:30-22:00 RuPy Great Party
2nd day
Hour Python Ruby
9:00-9:30 Breakfast
9:30-10:15 Python/SWIG creating a C module for Python
Paweł Lubarski
Where: Aula B
Rails, Amazon Web Services and you
Krzysztof Szafranek
Where: Aula A
10:30-11:15 Functional Programming with Python
Adam Byrtek
Where: Aula B
Ruby on Rails deployment with RubyStack
Daniel Liszka
Where: Aula A
11:30-11:35 Prezentacja Megiteam
Where: Aula A
11:40-12:30 NOOVO: A large-scale Python undertaking
Matej Pangerc
Where: Aula B
Is Rails as agile as advertise
part 1

Rida Al Barazi
Where: Aula A
12:30-13:45 Lunch
13:45-14:15 Lightning talks
Where: Aula A
14:15-15:00 A need for REST
Łukasz Piestrzeniewicz
Where: Aula B
Is Rails as agile as advertise
part 2

Rida Al Barazi
Where: Aula A
15:15-15:45 I18n and L10n
Adrian Pacała
Where: Aula B
Is Rails as agile as advertise
part 2

Rida Al Barazi
Where: Aula A
16:00-16:30 Python scientific applications
Mateusz Haligowski
Where: Aula B
Custom SQL queries in Rails
Marek Janukowicz
Where: Aula A
16:45-17:30 How to write “pythonic” code
Christopher Arndt
Where: Aula A
Rails + Facebook
Witold Rugowski
Where: Aula B

RuPy 2008 talks

February 24th, 2008

Zed Shaw Author: Zed Shaw
Title: Correlations and Conclusions
Learning to properly measure and improve your applications is a universal skill that every programmer needs no matter what language they use. This presentation will give you a good crash course in how to systematically yet simply analyze the performance of any web application, and from there learn on your own how to analyze other topics of interest. No Ruby or Python will be used in the making of this presentation.
Zed A. Shaw is a language enthusiast who has worked for years in both Ruby and Python professionally and as a hobby. He currently works as a Vice President in the financial industry where he leads a team of developers. His latest open source project is a Python chat client for the Utu project called Moko. He is also the author of several articles, a small book, an infamous blog, a regular speaker at conferences around the world, and is working on a book for Addison/Wesley titled 'Protocols and Performance'.
Jay Fields Author: Jay Fields
Title: Business Natural Languages
Since the introduction of computers to the general workforce businesses have searched for a solution that will enable subject matter experts to specify the business logic of an application. This solution is highly sought after since it will allow the application to be changed without the assistance of a programmer. Programmers are still required to create the application; however, the application is written in a way that empowers the subject matter experts to maintain the business logic.
Enabling the subject matter expert greatly increases efficiency of maintaining an application as the needs of the business change. Using a Domain Specific Language (DSL) is the most recent solution to this problem. A Business Natural Language is a Domain Specific Language; however, not all Domain Specific Languages are Business Natural Languages. Business Natural Languages use natural language to represent business logic. Business Natural Languages are expressed as descriptive and maintainable phrases. For example, a marketing executive for an airline could specify point award descriptions as: award 1 point for each mile flown where the total flight length is greater than 500 miles and award 500 points for each flight where the total flight length is less than or equal to 500 miles. Any domain expert, with no explanation required, can read a well-written Business Natural Language as if it were simply a phrase specifying logic. The previous airline example appears to be a specification written by a business analyst. The specification could be used to describe business logic to be implemented in a general-purpose language. However, when using a Business Natural Language the above example is a specification, but also much more. The above example is executable code, which will be used to determine point allocation after each flight flown. The above example is also documentation of the business rules contained in the point allocation application. And, the above example can be used to formulate a test case to verify the system works as expected. Business Natural Languages allow you to specify, in one location, exactly how your application should work.
Jay Fields is a software developer at ThoughtWorks. He is a early adopter who is constantly looking for new exciting technologies. His most recent work has been in the Domain Specific Language space where he delivered applications that empowered subject matter experts to write the business rules of the applications.
Michael Foord Author: Michael Foord
Title: Programming the Browser with IronPython and Silverlight
Silverlight is Microsoft's new browser plugin for games and rich internet applications. Version 1.1 includes a cut down version of the .NET framework and can be programmed in any of the languages that run on the Dynamic Language Runtime.
This means Managed Javascript, IronRuby and IronPython can be used to do client side browser programming.
The talk will go through creating a simple IronPython and Silverlight application and show language interoperability between C#, IronPython and some of the other DLR languages.
It will explore the Silverlight APIs (accessing server resources, using local storage, loading XAML for animations and the user interface) and also interacting with the browser DOM/traditional Javascript for creating Rich Internet Applications.
I have been a Python developer for four years and have been working for a young startup in London for the last eighteen months, developing a radical new spreadsheet application with IronPython. I have written many articles on Python and am currently writing a book for Manning Publications called "IronPython in Action". I have spoken in the US, UK and Poland on IronPython.
Christopher Arndt Author: Christopher Arndt
Title: How to write “pythonic” code
Knowing the syntax and the standard library of Python alone doesn't make one a good Python programmer. In more than a decade of increasing usage and popularity of the language, Pythonistas have developed many typical Python idioms and pythonic ways "to do it". These are either based on the fact that in Python, being a highly dynamic language, many things necessary in more static languages just make no sense or on the fundamental principles laid down in the so-called "Zen of Python".
For the (Python or programming) novice, this talks tries to explain those principles and how they translate into actual code. For the seasoned developer, maybe coming from other languages, the talk shows how everyday problems and common constructs are coded in Python and how your code can achieve the (sometimes elusive) quality of being "pythonic". For both groups, the talk delivers a cookbook of programming recipies, that every developer can use in his programs and which have proven to work well for Python developers in general.
Occupation: freelancing Python developer in Cologne, Germany.
Likes: Python & TurboGears, singing and guitar playing, good beer.
Dislikes: bad beer, dull jobs, negativity ;-).
He discovered Python in the days of RedHat 4.x and has been a happy user of Linux and Python ever since. After working as a system administrator, project manager and programmer for several years, he has recently gone self-employed and develops web applications and other stuff for his customers. He participates actively in the TurboGears web framework project several ways. He also initiated a Python User Group in Cologne, Germany, where he lives and works.
Jonathan Hartley Author: Jonathan Hartley
Title: Test-Driven Development in Python – getting started
Summary: A step-by-step illustration of creating a test-driven project from scratch, using Python's built-in unittest module, including:
  • creation of acceptance tests from the specification,
  • creation of unit tests before coding,
  • a live debugging session, driven by failing tests.
Emphasis is placed on the higher-level implications of TDD, such as:
  • refactoring,
  • integration of tests into the project build process,
  • the benefits from letting tests drive your process, rather than merely creating tests for your code,
  • the drawbacks of TDD as well as the advantages.
Jonathan is delighted to find himself developing in IronPython for Resolver Systems, a feisty Python-centric start-up, populated entirely by people who are smarter than he is. He has 13 years experience in software engineering, on projects such as digital signal processing of radar waveforms for the Eurofighter aircraft, and geographical information systems for clients such as Ordnance Survey. He has a keen interest in refining software development methodology to gradually converge upon the manifold aspects of that elusive Silver Bullet. He lives in London with his fiancée Susan and two trusty Guitar Hero controllers.
Matej Pangerc Author: Matej Pangerc
Title: NOOVO: A large-scale Python undertaking
hy has the technical team that spent years building sophisticated enterprise applications in Java decided to use Python as the technical platform of its biggest challenge yet? What is the experience in combining Django and a myriad of other frameworks in a complex environment, what works and what doesn't? How have we organized the application that should handle millions of concurrent users? Why have we been compelled to develop Aku, an application server for Python, how does it work, why and when are we open sourcing it?
Matej is co-founder of Parsek, where he served as the CTO and chief strategist. Matej fathered an innovative software platform that powers most of Parsek’s reference implementations in several industries, especially insurance, banking, retail and mobile. He developed the key accounts of Parsek’s business and led Parsek’s entrance to the Japanese market on the conceptual and operational level. Matej frequently speaks at the Ljubljana’s School of Economics and was the program chair of the international EDGE Conference.
Author: Andreas Jung
Andreas Jung Title: Current state of Zope
Zope has been the most complete and advanced application server on top of Python for years. Over the last years Zope stand in competition with various Python web frameworks like Django, Turbogears or Pylons. This talk will give an overview on the current situation in the Zope world with a brief overviews over the most important Zope projects like Zope 2, Zope 3, Grok and Plone. Depending on the time for the talk there might be a comparison with the other Python web frameworks.
Andreas Jung lives in Tübingen, Germany as head of ZOPYX Ltd. & Co. KG. He has a master degree in computer science and been working in the field of electronic publishing for over ten years. AJ is the current Zope 2 release manager, has been working in the Zope core team for two years and is still a major contributor to the Zope 2 core and related projects like Plone.
Rida al Barazi Author: Rida al Barazi
Title: Is Rails as agile as advertise
Rails as Agile as advertised? This is what the speaker will demonstrate in this session. In the 3 hours session, the speaker will start an IMDB-like Rails project from scratch and build it from the bottom up until it's in a launchable state, at least for a public beta.
The speaker will present all Rails best practices like fat-models/skinny-controllers, high test coverage and RESTfull implementation.
The session will also include some tips and tricks for some tools that help speeding Rails development up.
The project will have some user-interactivity corners like comments, reviews, ratings and even a public user profile. Some mash-ups from other online resources may be presented too.
Everything will be built from scratch with the help of some commonly used plugins like restfull_authentications and acts_as_taggable_steroids. A ready design will be implemented using haml too. The main goal of this session is demonstrate the agility in Rails and how it really helps in executing ideas and projects.
Rida is a hacker, an entrepreneur and a blogger, started rolling on Rails and enjoying Ruby in mid 2005, coming from different backgrounds like C and PHP.
He adopted Ruby on Rails as his main development tool and decided to help spreading it more in the Middle East region. He writes about that on his blog sharing his experience with some useful tutorials.
He co-founded SpinBits with Cloves Carneiro Jr. a year ago as a Web2.0 quality-driven company, devoted to deliver some smart products and quality services.
Ry Dahl Author: Ry Dahl
Title: Ebb Web Server
Ebb, like Mongrel, is a bare bones server to prop up a larger framework. Ebb is uses the new libev event library to handle incoming requests before passing them off to a Ragel state machine for parsing. Ebb is written entirely in C and is designed to be very fast and light. A Ruby binding makes Ebb into a Rack handler so that it can easily host Rails, Merb, and other Ruby language frameworks. In the future a Python WSGI binding will also be added (hopefully by the time of RuPy!).
Ry escaped grad school (read: dropped out) before becoming sucked into an inescapably leisurely tenure track position in a remote Idaho town. With this freedom (read: unemployment) he's sleeping in late, working on personal projects, and hitchhiking. He tries to live an exceptional, worthwhile, and humble life. Ry currently lives in Colonge, Germany.
Pedro Sousa Author: Pedro Sousa
Title: acts_as_problem_solved
We've started working with Ruby On Rails almost a year ago, this talk aims to share experiences with novice Rails developers by presenting a handfull of projects done in Portugal and a showing for each of them, a specific problem and solution (maps, file upload, ratings and others).
The goal is to promote the discussion around the potential and possibilities of Ruby on Rails and share the experiences of working on different projects.
Pedro is a Portuguese web developer, working on web design and marketing company based in Lisbon, Portugal. He worked mostly with open-source technologies, and he has been using (and loving) Ruby on Rails for a year now. He enjoys music, coffee and a good laugh.
Andrzej Krzywda Author: Andrzej Krzywda
Title: TDD in Rails
This talk will provide a brief overview of Test Driven Development and Behaviour Driven Development followed by a demonstration of creating a Rails application from scratch all the time being test/spec driven.
Test-Driven Development (TDD) is a software development technique that many people are aware of. However, only a small number of people actually use it. I believe it's due to the lack of existing examples showing how simple it is and how great it is to be "driven". TDD affects the way you design your software. It also helps you with gathering requirements without the need of having a big, heavy specification. The talk will demonstrate how to prepare a user story, split it into tasks and TDD all of them.
I've been using TDD for 6 years.
Subjects covered will include:
  • What is TDD/BDD,
  • How to organise tests for a typical Rails application,
  • TDD/BDD as a design technique,
  • A live coding session,
  • The process of fixing a bug being test-driven,
  • The process of preparing and implementing a new user story,
  • RSpec on Rails (Stories Runner),
  • Autotest,
  • How to start doing TDD/BDD in an application that was not tested at all.
Andrzej runs a company which specialises in creating Rails applications. REST and TDD/BDD are the main design techniques used in his projects. He mentors other Rails developers. He is also employed with Resolver Systems writing a desktop application with IronPython. Andrzej is a software developer with over 8 years of IT experience.
Andrzej has a blog which focuses on dynamic languages and agile topics.
Andrzej has previously given the following presentations:
  • RuPy 2007 - Developing with IronPython and Windows Forms (including live coding),
  • PyCon (USA) 2007 - Developing with IronPython and Windows Forms (including live coding),
  • SFI - The Academic IT Festival (Poland) 2006 - Developing with Ruby on Rails (including live coding),
  • National Software Engineering Conference Poland (2004) - Aspect Oriented Programming with Java.
Author: Mateusz Haligowski
Title: Python in quantitive methods
Python is wide know as a perfect tool for engineers. The topic of this talk is to present Python's and SciPy's capabilities for coping with statistical or optimisation problems which can be found mainly in finances and economics.
Mateusz Haligowski is about to graduate from University of Gdansk in Econometrics and Statistics. His main scientific interests are financial markets and econometrics. He's been using Python for about two years, mainly in his research.
Paweł Lubarski Author: Paweł Lubarski
Title: Python/SWIG creating a C module for Python
Pyrex/SWIG creating a C module for Python:
  • introduction,
  • general python modules rules,
  • C example,
  • SWIG example,
  • Pyrex example,
  • some real world examples.
Paweł Lubarski is developer located in Poznan, Poland. He started programming in Python in 2004 and its his favourite language since then. As a day job he is team leader for Mobile Lab at Poznan University of Technology. He has some industrial experience (in Java/.Net).
Metusz Biliński Author: Mateusz Biliński
Title: Let the Python crawl
We all know that the only person that can copy whole Internet to a floppy disk is Chuck Norris. However, it would be a sin not to dump and analyze at least some part of the World Wide Web.
This prelection is supposed to be an introduction to web crawling with some real-life working examples. Author's experience will be shared discussing spidering issues and tactics, possible applications (with social reverse engineering at the top), storing data and visualizing it. All of this with Python code in the background all the time.
Student of Computer Science at AGH UST and Project Management at Tischner European University. Python enthusiast since version 2.3. Creator and organizer of LUMD, Linux-related, lecture series. Co-organizer of Krakow's Python Interest Group called Pykonik. Twice laureate of AGH Students' Scientific Sessions for projects regarding on-line images processing. Former chairman of KERNEL Scientific Organization. Actively crawls the Web for at least two years.
You can read more about Mateusz and his interests on his homepage.
Carl Friedich Bolz Author: Carl Friedrich Bolz
Title: PyPy – status and the next goals
I'd like to present the status and next goals of the PyPy project: both a platform for implementing dynamic languages and a complete Python Interpreter written in a high level language. PyPy translates interpreters to C, .NET and the JVM. The talk will focus on what is new since the last RuPy conference. I am going to talk about speed and feature improvements, particularly our flexible garbage collection framework and the Just-in-time compiler generator. This generator is used to automatically turn our Python interpreter into a compiler for directly emitting assembler code.
Carl Friedrich Bolz is one of the core developers of PyPy. He is studying computer science at the University of Düsseldorf. Currently he is working on his Master's thesis, which is about making PyPy as fast as possible and proving that dynamic languages can be almost as fast as static ones. In his spare time he plays the bassoon.
Krzysztof Szafranek Author: Krzysztof Szafranek
Title: Rails, Amazon Web Services and you
The problem of scalability can be an indicator of popularity and success for a web application. Still, this is a problem and needs to be addressed. Amazon offers two solutions to handle high load: Simple Storage Service (S3) and Elastic Compute Cloud (EC2). The presentation will show in practice how to use these services in Ruby on Rails applications. It will also demonstrate how existing Ruby utilities provide an easy way to handle high load.
Krzysztof Szafranek is a web application developer and designer. He is passionate about web standards and user interface design. He felt in love with Ruby on Rails for its simplicity and rapid development time. Currently Krzysztof works on enterprise web applications and intranets at his daily job. After hours, together with his friends, he builds non-commercial website for travel aficionados.
Łukasz Piestrzeniewicz Author: Łukasz Piestrzeniewicz
Title: A need for REST
A need for REST:
  • thinking about resources,
  • resources vs RPC,
  • REST in Rails,
  • plain old Ruby and REST.
Łukasz Piestrzeniewicz is a former Enterprise Java developer, who -- having dropped this detrimental habit -- switched to Ruby for detox. He now runs Ragnarson - a group of professionals devoted to creating top-notch web applications. For more than two years they have been successfully creating Ruby on Rails-based software.
Adrian Pacała Author: Adrian Pacała
Title: i18n and l10n
Introduction to i18n and l10n.
Role of i18n and l10n in web applications
Pure Ruby implementations:
  • Ruby-GetText-Package,
  • Ri18n.
Rails plugins:
  • Globalize,
  • GLoc,
  • Localize,
  • ActiveCulture.
Live example on the basis of Fliph.
18 years old Web Programmer. MooTools, Rails and RESTful applications lover.
Author: Marek Janukowicz
Title: Complicated SQL querries in Ruby on Rails applications
Creating simple SQL querries in Ruby on Rails is quite trivial. However sometimes there is a need to retrieve the information more complicated then that stored directly in the rows of one or a few tables, or we have a problem with excessive databse load caused by our application. How to deal with that? The talk attempts to answer this question by explaining the way of creating complicated SQL querries in accordance with Rails philosophy, showing practical appliances and presenting optimization methods.
Long term (+6 years) Ruby developer and contributor (web/database development libraries SWS/SDS), quitted CTO position in medium-sized development company in favor of Rails development. Currently working on stock market platform Recently started blogging about Ruby and Rails at
Daniel Liszka Author: Daniel Liszka
Title: Ruby on Rails deployment with RubyStack
BitNami RubyStack is an installer that greatly simplifies the installation of Ruby on Rails and its runtime dependencies. It includes ready-to-run versions of Ruby, Rails, MySQL, Subversion, RMagick and other useful components. RubyStack on Linux, Windows or Mac OS X. It is self-conained relocatable so you can have multiple instances installed on one system at the same time. RubyStack is free and uses an Apache 2.0 license.
It it will be shown how to easily deploy Ruby on Rails applications using RubyStack (read more on or, how it can be used to ensure consistency among multiple developers and systems, as well as talk about future releases and upcoming changes such as JRuby support.
Daniel Liszka has been working with Linux/Open Source for more than a decade and has been involved in several open source conferences, both as a speaker and organizer, such as (coordinator) InterInfo_2004 and (speaker) Delta Alantejo.
Currently he works for BitRock, where he leads a number of Ruby On Rails projects, among them RubyStack, a multiplatform, open source, Rails distribution. Daniel studied Computer Science at the Silesian University of Technology in Gliwice, Poland.
Author: Witold Rugowski
Title: Facebook Platform Applications with Ruby On Rails
Facebook Platform - from developer's perspective. How to build FB application with Ruby on Rails - FB API - key things to know, support for FB API in Rails.
Freelancer working with Ruby on Rails. RoR was the reason he left his corporate job as network engineer. Now it is hard to imagine to ditch working from home and start 9-5 again. On his blog he tries to sell his passion to Ruby to other people.
Jarek Rzeszótko Author: Jarek Rzeszótko
Title: Metaprogramming - an adventure in doing magic with Ruby
Metaprogramming is the act of writing programs that generate or manipulate other programs. This introduction to meta-programming using Ruby starts with an overview of Ruby's object system, as it is the basis for many metaprogramming techniques described further in the talk. Than, the fundamental patterns for generating code with Ruby are described, together with examples of how popular projects use them to abstract certain problem domains. In the end, more advanced topics are discussed in the context of metaprogramming, like creating Domain Specific Languages or parsing small external languages.
I'm a 20 years old programmer located in Warsaw, Poland. I got interested in Ruby in 2004, and since than I was writing recreational standalone applications and doing everyday scripting in it. From April 2006 I'm working as a full-time Ruby on Rails programmer, currently being employed in Gadu-Gadu SA, mainly as the project developer. I specialize in building scalable web applications in Rails, handling both beckoned Ruby/Rails/C/database work, and front-end building with CSS/JavaScript. I'm also a first-year undergraduate student of the Polish-Japanese Institute Of Technology.
Wiktor Schmidt Author: Wiktor Schmidt
Title: Caching in Rails
The only way to overcome Rails scaling issues is to use cache. In this session the speaker will walk you through all the caching mechanisms available in Rails highlighting advantages and disadvantages of each of them. Techniques covered include: page, action and fragment caching, caching plugins, memcached and more.
Wiktor Schmidt is CEO and chief developer of a home design webshop made with Ruby on Rails and co-owner, CTO of netguru - social web consulting and services company headquartered in Poznan, Poland. As a part of involvement in netguru workflow, he co-organizes Barcamp Poznan - very popular monthly meetings aimed at leveraging internet know-how among internet professionals and wanna-be entrepreneurs. Most recent start-up projects he was coordinating include,,
Author: Adam Byrtek
Title: Why It's Good To Be Lazy
When we learn how to program we are told that an algorithm is a sequence of steps to be realized by the computer, leading to an expected result. This imperative approach is the most popular point of view on programming, and the Turning machine is a well-known model for it. But there is another approach, claiming that a program consists purely of stateless evaluations of expressions, where the exact order of evaluation is not defined. This approach is called functional programming, and the lambda calculus defines a mathematical foundation for it. I will speak on what are the benefits of functional programming and how to leverage functional features present in both Python and Ruby.
Sailor, snowboarder and mathematician, deeply addicted to reading. Co-founder and technical lead at Code Sprinters, an agile software development company specializing in complex web applications made with dynamic languages. Struggling to find the perfect proportion of theory and practice in everything he does.



GIK Polish Python Coders Group

diamond sponsor

golden sponsors

silver sponsors

bronze sponsors