Talks and Presentations given by Gabor Szabo

I have been providing short talks at various places such as the monthly meeting of the Israeli Perl Mongers, several Perl conferences in France, Germany, Hungary and Israel. The Go-Linux conference in Israel.

If you'd like to hear one of my presentations, go ahead and contact me to work out details. For user groups I provide these talks free of charge, for companies at a nominal fee.

I have just lately started to update this page so only a few of my talks can be found here. I am adding more as I have some time.

The Quality of CPAN Modules

(60 minutes)

How can I know that a module I download from the "Internet" is of hight quality ? This question comes up very often among new Perl programmers who come from a world of proprietary software. In this presentation I go over a number of tools Perl module developers use to make sure their modules is of hight quality and let you, the user of find out which module will meet your requirements. During the talk I am visiting the following web sites:

I gave this talk on 9th September 2004 for the Israeli Perl Mongers and will likely to give it in Jerusalem again.

As I had to prepare this talk quite in the last minute and did not have time to prepare proper slide I used a Wiki to put together a couple of items. The result is a bunch of notes about The Quality of CPAN Modules.

Installing Perl and Perl Modules, while doing good to the community

(30-60 minutes)

  • Compile and install the latest version of Perl in your home directory
  • Install
  • Install modules using CPANPLUS and reporting test results
  • What to do when a module fails to be installed using the usual methods of

Presentation Tools

(20 minutes)

A short talk about the tool I used to generate my presentations as presented at the 7th November, 2002 meeting of the Israeli Perl Mongers You can also read the slides of the Presentation Tools.

Since I gave this talk I gradually replaced my self-written presentation generator to one using Docbook but as it turns out this one still works and has a much nicer style sheet for HTML than the one I am using now.

Web development on Linux

(30-60 min)

I start from the explanation of the ASP web development model supported by Microsoft. In the first part of the presentation this framework is compared to various other technologies such as the Java/JSP/J2EE, PHP and CGI.

In the second half of the presentation I go into details of the Perl world of web development and talk about such technologies as mod_perl, Apache::ASP, Mason, Embedded Perl and various Templating systems.

This was presented on the Go-Linux conference on 10th April, 2003. You can read the slides of Introduction to Web Development on Linux as I used them on the Go-Linux conference.

Debugging Perl - using the available debuggers

(40 min)

There are lots of people who are adding print lines to their code in order to debug it. There is nothing bad about those print statements but there are other ways to debug your code that sometimes make more sense.

I am going to pick up some sample program with a few bugs and use various tools to debug the code. First I'll give a few ideas how to improve your print statements if you prefer to stay with them. Then I'll give a short introduction to the built-in debugger of perl and we see how we can use it to debug our code.

Finally I'll give an introduction to Tk based graphical debugger, Devel::ptkdb of Andrew E.Page. In this part I'll show how to use the GUI tool for basic debugging and then I go on and show a couple of additional features not in the basic set of operations, that might be helpful. I'll show how you can use the powerful macro language that comes with this tool.

See the slides of Debugging Perl as presented on YAPC::Europe::2003 in Paris, France.

Write your own debugger for Perl

(20 min)

When debugging your code you can either insert print statements and run your code or you can use various interactive debuggers and step through your code.

This is very nice but sometimes you will want to collect debugging and other information about your code without inserting print statements and without stepping through 10,000 lines of code.

In this presentation am showing a couple of examples of how you can use the hooks in the Perl debugger to collect that information.

See also: perldoc perldebguts

See the slides of Write your own debugger for Perl as presented on YAPC::Europe::2003 in Paris, France.

Parrot, the future of dynamic languages


Parrot is the Virtual Machine that will be used to execute Perl 6, Perl 5 via Ponie and hopefully a bunch of other languages too.

I gave this presentation in front of some 500 IT managers and CTOs on the Go-Linux conference in Tel Aviv, Israel on 22nd December 2004. People got very enthusiastic about it. In this conference I had to finish the talk in 20 minutes but actually I have more to say using the same slides.

You can download the slides in both PDF and Open Office Presentation format or view them on-line.

Code Reading


Reading the code others write can be very educational. You can see new constructs of grammar and brilliant solution or you can learn from the mistakes others do.

In this session we will use two web applications to learn from their code. First we will look at the code behind which is a static site built using HTML::Template. Then we will look at CPAN::Forum which is planned to be web forum software aimed at CPAN modules.

This is also a good opportunity to get familiar with some web development technologies such as CGI::Application.

Test Automation in Open Source Projects


It is hard to know how to automatically test a large application. Luckily in the open source world there are several very good examples on how this is accomplished and we can learn from these examples.

During the talk we'll go over the testing frameworks (build servers, smoke servers, reporting systems) employed by several open source projects.

We'll take a look at Perl 5, CPAN, Perl 6, Parrot, SQLite, PostgreSQL, GHC (Glasgow Haskell Compiler) and many other projects. See blog entries I write about Quality Assurance and Automated Testing in Open Source Software. and the Test Automation Tips newsletter.

slides (using XUL)

The evolution of testing, introduction to TAP

(approx 60min)

This is an introduction on how manual testing evolves via writing small test scripts into data driven test system. During the talk we introduce the TAP, the Test Anything Protocol

slides (using XUL)

Padre, the Perl IDE

(60 minutes)

Padre is a Perl IDE written in Perl using wxWidgets. It tries to provide both a way to help beginners or people who are not hard-core Perl developers to get through the day without too many scars and it also provides a framework in which large applications can be developed easily.

In this talk, first you'll see an introduction on how to use Padre for Perl 5 and Perl 6 development. You'll see a couple of examples that help the beginners and some other examples of features that might be interesting for you during large application development.

In addition we'll go in details on how to write a plug-in for Padre.

Padre, the Perl IDE: Building an open source team, getting the project to users against the odds

(20-30 minutes)

This talk was given on FOSDEM, 2010 in Brussels, Belgium. It was scheduled as a 15 min lightning talk.

When I started to build Padre, the Perl IDE in June 2008 almost everyone in the Perl community thought it is a waste of effort in a failed project to create something that no one wants.

After 1.5 year, over 50 releases, more than 10,000 commits by many contributors we can say Padre is on its way to become one of the best editors for Perl 5 and Perl 6.

It would have not been possible without the growing support from the Perl community and without the reuse of over 200 CPAN modules written by other people.

In this talk I'll talk about Padre and how we managed to build the team. How we got included in all the major Linux distributions and what else have we done to build the product?

Padre is a Perl IDE written in Perl 5. It provides special features for editing both Perl 5 and Perl 6 files. It is available on Linux, FreeBSD, Windows, and Mac OSX.

Slides of the talk.

An almost identical talk was given a month later at CeBIT. This time the organizers were not strict with the time so I could finish all the slides: Padre, the Perl IDE, presentation on CeBIT

Working with upstream - Distributing Perl modules from CPAN

(45 minutes)

This talk was given on FOSDEM 2010 in Brussels, Belgium as scheduled here

According to a report generated in 2007 less than 10% of the CPAN packages are redistributed by Debian and Fedora and much less by the other distributions.

This is frustrating to the end user as they need to install many other packages directly from CPAN. Because they already have to install from CPAN they don't care asking the distributors to include those packages nor do they come and help packaging. Hence there are few packages....

In this session we will try to break the vicious cycle of the chicken and the egg and find an improvement to the situation.

A longer blog entry related to this subject can be found under the title Working with upstream - installing Perl modules from CPAN

The slides of Working with upstream - Distributing Perl modules from CPAN are also available in XUL format. (use Firefox to read them)

The Debian folks have recorded many talks on FOSDEM, 2010.

My talk can be seen here either in low or high quality.

Interview at CeBIT 2010

At CeBIT 2010 the Perl community was lucky to be selected among the projects that got a free stand in the Open Source lounge. During the fare Linux Magazine has interviewed me. The interview can be seen here:

Interview with Gabor Szabo on CeBIT 2010 (English page) and Interview with Gabor Szabo on CeBIT 2010 (German page)

Padre, the Perl IDE

The slides of the Padre, the Perl IDE talk at FOSDEM.

Using Perl 6 today

Give at FOSDEM 2011 in 40 min. 60 min would be better

An introducing what Rakudo Perl 6 can do for you today.

Many people wonder what is the status of Perl 6? Can I use it today? In this talk I'll give an overview of some of the exciting features of Perl 6 and show what and how can you do with it today. The slides of Using Perl 6 today

How to get your job done and remain sane (LPW 2011)


Selling Duct tape

A lightning talk I gave at YAPC::NA 2012 in Madison, Wisconsin

Refactoring Perl code

Code refactoring is "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior". It is needed to ensure your code remains readable while growing in size and scope.

It is needed if you have some old code base that needs improvement and after every period of intense development when you "did not have the time to properly design your code".

There are several patterns in refactoring, some of them you might already practice without knowing the name.

The most obvious is when you use a variable $x and suddenly you realize it could have a more descriptive name. If you change all the occurances of $x to this better name, without changing anything else in the code, that's already refactoring.

We will see several patterns for refactoring Perl code. We see examples doing them manually and we'll try to automate them as well.

A 20 min talk I gave at the monthly meeting of the Israeli Perl Mongers, at Perl Mova in Kiev in May 2012, at YAPC::NA 2012 in June 2012 in Madison, Wisconsin.