by Josh Berkus and Ian Dees
While a terrific presentation may take talent, making a good one is a
matter of science and practice. As generations of Toastmasters have
proved, anyone can do it. Veteran conference presenter Josh Berkus
will go over his tech talk tips in detail in order to help you improve
your presentation skills. Programmer and slide-slinger Ian Dees will
take on the specific topics of showing code to an audience and
composing your slides.
Speakers who are giving talks later in the conference are especially
encouraged to attend.
by Don Stewart
Haskell is a functional language built for parallel and concurrent programming. You can take an off-the-shelf copy of GHC and write high performance parallel programs right now. This tutorial will teach you how to exploit parallelism through Haskell on your commodity multicore machine, to make your code faster. We will introduce key parallel programming models, as implemented in Haskell, including:
and look at how to build faster programs using these abstractions. We will also look at the engineering considerations when writing parallel programs, and the tools Haskell provides for debugging and reasoning about parallel programs.
This is a hands on tutorial session: bring your laptops, there will be code!
by chromatic
It's easy to find examples of poorly-written Perl code: global variables, punctuation soup, copy and paste code, commented-out functions. Who'd want to read that? Who could maintain it?
Modern Perl code is different. The past decade has produced important new features and powerful new techniques for writing clear, concise, maintainable, and reusable Perl. These new developments build on each other to replace awkward, painful, or difficult to use correctly approaches with simple code.
Learn how to understand context, to embrace lexical scoping, to manage CPAN installations without pain, to perform pain-free automated testing, to embrace the CPAN development model, to adopt new features of Perl 5.10 and 5.12, and to take advantage of the Moose object system.
Learn about the Perl renaissance and rediscover the joy of Perl.
This talk will examine some of the features that make JavaScript stand out, including its functional roots, its ultra-simple object-oriented implementation, and the details of event-based concurrency. All of these can seem quite alien when coming from a background in a different language. I will talk about how to get the best use out of these features - and I hope to show that the things that make JavaScript different are also its greatest strengths.
I will also go over common pitfalls in JavaScript development. These are non-obvious traps that unfortunately can put people off of JavaScript when they cause programs to behave in unexpected ways. As Douglas Crockford puts it, these are the "bad parts" that anyone who is working with JavaScript should be aware of.
Finally I will introduce some techniques for writing well-structured code for the client portion of a web application. Specifically I will talk about my own experiences using a model-view-controller pattern, making the best of JavaScript's object-oriented features, and using events to implement re-usable components.
There is a lot of ground to cover when it comes to the best practices of an entire language. So I will introduce topics and point you to resources for learning more. I also expect lots of questions. I am most interested in getting people the information that they want; so your questions will help to guide this session so that it is as useful as possible for everybody.
by Teyo Tyree
Puppet is a popular open-source configuration management solution. It’s written in Ruby and in use by organizations around the world to manage their assets more cheaply, more effectively, and with a view to delivering a higher quality of service.
Puppet is one of the easiest infrastructure tools you’ll ever use but it’s still helpful to have a hands-on introduction to how to get started. This tutorial doesn’t cover the deep technical details but allows you to focus on doing useful work as soon as possible.
In the course of the tutorial you’ll be exposed to most of the tools and configuration you will use in a functioning Puppet installation. By the end of the tutorial we’ll produce a simple Puppet architecture that can manage a few key services and applications. We’ll also demonstrate some of the more interesting problems Puppet simplifies solving and give you pointers towards developing more advanced Puppet patterns.