Come see me at YAPC::Brazil!
I love open source programming. I’m continually humbled to see even the small impacts that my contributions to the Perl community have made for fellow programmers around the world. Mostly my use of Perl has been to write a complex simulation and the tools that it uses to simulate the dynamics of electron bunches in an Ultrafast Electron Microscope column, which is the subject of my recent Ph.D. thesis. So while I have enjoyed sharing my work both here and at the 2012 YAPC::NA I never would have expected that my name would mean too much in the greater Perl world.
That is why I was most surprised and humbled to receive an email not too long ago from Felipe Leprevost, a fellow scientist, Perler and organizer for this year’s YAPC::Brazil. They have chosen this year’s theme to be “The Scientific Universe,” and what a great topic it is! Perl is used by scientists around the world from astronomy to bioinformatics and yes, even in instrumentation physics, to further the pursuit of knowledge and scientific discovery.
I’m honored to announce that I have been asked to give the keynote address. I intend to use this great opportunity to discuss the use of Perl and open source software in science. Please see my abstract below.
I want to thank the organizers for this chance. I also want to invite all of you, whether scientist, programmer, or other enthusiast, to come to Curitiba this November 15-16, to enjoy what I’m sure will be a fine discussion of science and Perl. I especially want to extend a welcome to those of you in big data fields, even those outside of a scientific discipline, because big data is the way of the future for all science.
I hope to see you there!
The Scientific API: Designing your scientific code with your future user in mind
We all know that one of the basic tenets of science is the sharing of information. We share data, method, results, interpretation; so why don’t we share our scientific code? Because our code is in no fit state to share.
The complexity of science usually demands too many parameters to be easily understood, or else it is too tightly coupled to be adapted for use by others. In many cases, the initial code is written quickly, is just meant for immediate use, and then suffers as as the subject of inquiry evolves. Indeed it is often hard to share our code with co-workers and collaborators, let alone the outside world. Why don’t more scientists share their code? Because it wasn’t written with sharing in mind.
In this talk, I will share how I have used modern object-oriented Perl to write clean, understandable, reusable and shareable simulations. The simulations are designed as toolkits to allow the code to conform to the needs of others. This lowers the barriers for users and will encourage them to share their improvements in the same open-source model common in other programming circles. I will also discuss the important roles that CPAN and GitHub can play in a vibrant scientific community.