Timetable
- 10:30 Haskell, and all the wonderful things it doesn’t let you do (Stephen Blackheath)
- 10:55 Introducing Gearman — Distributed server for all languages (Giuseppe Maxia)
- 11:30 Preparing for PHP6 (Ben Balbo)
- 11:55 Attribute-Oriented Programming in PHP (Peter Serwylo)
- 12:20 Lunch Break
- 13:30 The State of Python (Richard Jones)
- 14:30 An Introduction to PyPy (Michael Hudson)
- 14:55 Talloc: Pick Up Your Own Garbage! (Rusty Russell)
- 15:20 Afternoon Tea Break
- 15:45 Composing Object Classes with Roles in Perl (Grant McLean)
- 16:10 Writing Facebook Applications in Perl (Paul Fenwick)
- 16:45 Lightning Talks
- 17:30 Miniconf Close
Presentations
Haskell, and all the wonderful things it doesn’t let you do
Haskell is an advanced general-purpose functional programming language. With performance at the top end of compiled languages, a stable, mature implementation, strong library support and a vibrant community, Haskell is eminently practical. But Haskell is very different indeed from mainstream languages, and it offers unique solutions to many of the thornier issues in software engineering, many of them applicable to other languages. Its greatest strengths are in overall productivity, high-assurance and software quality in general, domain-specific languages and programming in a declarative style, and concurrency and parallelism. Current methods do not cope well with this last increasingly important area, but Haskell offers compelling solutions today.
Presenter: Stephen Blackheath
I live in Manawatu, New Zealand, but spent most of my life in Wellington. I’ve worked as a software developer on many large commercial projects, and contributed to several open source projects. Major technology areas are embedded systems, internet infrastructure, several web applications, and telematics. In 2007 I started a new project and decided to do some research into new technologies, including an attempt to find out what was the ‘best language’. Out of that process I discovered Haskell and functional programming. I currently work for an American start-up writing a video game in Haskell for the iPhone.
Introducing Gearman - distributed server for all languages
Gearman is a distributed client/server architecture aiming at executing tasks across a network, with fault tolerance, and independently from programming languages.
Gearman uses one or more servers, and a set of workers that register tasks with the servers. The clients in need of a task invoke the server, which dispatches the request to the workers. The beauty of the system is that clients and workers could be using different programming languages, so that a PHP application could use a complex Perl library natively (through a Gearman worker) without any knowledge of Perl, and vice versa.
This talk introduces the Gearman concepts and shows some elegant examples of cross languages distributed applications.
Presenter: Giuseppe Maxia
Giuseppe is an active member of the MySQL community and long timer open source enthusiast. During the past 20 plus years he has worked in various IT related fields, with focus on databases, object oriented programming, system administration. Fluent in Italian, English, Perl, SQL, Lua, C, Bash, and good speaker of C++, French, Spanish, Java. He works in cyberspace, with a virtual team. He has a blog (http://datacharmer.blogspot.com) where he writes frequently about database matters.
Preparing for PHP6
With the release of PHP5.3 last June, developers now have the ability to use many of the features promised in PHP6. So why upgrade to PHP6, and how hard will it be?
This talk will introduce the changes and detail the issues that might be encountered when migrating code to this new version of this popular scripting language.
Presenter: Ben Balbo
Ben Balbo was born in Germany, grew up in the UK, lives in Australia and likes Guinness. While he isn’t drinking Guinness (which is most of the time in Australia, as it just doesn’t taste the same), he earns a living as a jack of all web trades. He also drinks a fair amount of coffee.
He has been known to talk in public about a variety of topics, which comes as part of the package of being an organiser for both the Melbourne PHP Users Group and BarCamp Melbourne and on the committee of the Open Source Developers’ Club and Linux Users of Victoria. Although he wouldn’t admit this, his participation at this level is secretly only in order to go to restaurants or pubs after the meetings.
Attribute-Oriented Programming in PHP
Attribute oriented programming: Some may think it is lazy, some may think it is handy, others may not have heard about it at all. If you’ve ever used PHPUnit, you’ve probably used AOP, if you’ve ever gone within 100 metres of a Java EE application, you better have used AOP, and if you’ve ever wanted to easily manage function-level permissioning on your PHP web services, you will want AOP. During this talk, we will discuss methods for adding extra functionality to your code, simply by putting some tags in your method/class comments. Permissioning and logging are two common tasks which will be shown, as well as a small C++ extension which enables AOP at the Zend engine level.
Presenter: Peter Serwylo
After undertaking an honours degree in IT at Monash University in 08/09 including a two month research project at the University of California, San Diego, I am looking towards a possible PHP scholarship in 2010 studying data visualization or data mining. In addition to my academic life, I’ve spent the past three years working at Internet Vision Technologies as an applications developer, working on their PHP/MySQL/Flex web software.
The State of Python
This talk will look at the current state of the Python programming language. This will include a look at the most recent progress and releases in various implementations and some of the major (and in some cases minor but cool) projects. There will be particular focus on Python 3.
Presenter: Richard Jones
Richard has been developing with Python for over a decade and has contributed libraries, applications and to the Python core.
An Introduction to PyPy
The core idea of PyPy is to produce a flexible and fast implementation of the Python programming language. The talk will cover the interpreter, translator and jit parts of the code and their relationships and the fundamental ways in which PyPy differs from other virtual machine implementations.
Presenter: Michael Hudson
A Python community member for some years, I’ve worked extensively on CPython and PyPy in the past but now work for Canonical on the Launchpad Code team.
Talloc: Pick Up Your Own Garbage!
Talloc is a hierarchical memory allocation system which is slowly gaining acceptance in the fragmented C programming world. The benefits for a language with no garbage collection are fairly clear and will be explained, but I’ll also refer to the efforts to use talloc in python. Should be thought-provoking, if nothing else!
Presenter: Rusty Russell
Rusty Russell is a coder. He softly develops free software, sometimes for free. He’s done a fair bit of Linux kernel work over the years, and enjoys conveying the excitement of collaborating with clever people on free software.
Composing Object Classes with Roles (in Perl)
In theory inheritance provides a nice clean framework for code reuse. Unfortunately the reality is often not quite so rosy. Roles (or ‘Traits’) provide a safer, cleaner and more scalable way to build OO classes. Come and learn what roles are and how you can use them in your Perl code.
Presenter: Grant McLean
Grant McLean has been coordinator of Wellington Perl Mongers since 1999. He maintains a number of Perl modules on CPAN and other Open Source projects including ‘SSHMenu’ a popular GNOME applet (written in Ruby). Grant currently lives in Wellington but has lived and worked in London and Dublin.
Writing Facebook Apps in Perl
Facebook provides a rich interface for writing applications, both frivolous and useful. In this talk we will cover a practical demonstration on how to write Facebook apps in Perl, including examples of both desktop and web applications, and how to develop personal applications to automate common tasks.
Presenter: Paul Fenwick
Paul Fenwick is the managing director of Perl Training Australia, and has been teaching computer science for over a decade. He is an internationally acclaimed presenter at conferences and user-groups worldwide, where he is well-known for his humour and off-beat topics.
In his spare time, Paul’s interests include security, mycology, cycling, coffee, scuba diving, and lexically scoped user pragmata.