Cooking track

Useful recipes for software development, systems administration, and working with open source.
From the beginner to the advanced level, we’re looking for tips, tutorials, best practices, and collaborative development sessions. Share what you know about your favorite tools, programming languages, and development techniques. Example topics from the past include “Command-Line Kung Fu” and “‘M’ is for Manual: Creating Documentation for your Project.”

Sessions for this track

* (CANCELLED) Getting Started with FPGAs and HDLs

Lots of attention has been given to GPUs for speeding up certain types of computations. While GPUs are very well suited for vector operations, there are other things they are not so well suited for. FPGAs (Field Programmable Gate Arrays) are not used as widely yet, but they offer a much more flexible computing fabric than GPUs. You can implement a GPU in an FPGA, for example, or you could implement your own custom processor optimized for very specialized tasks. The barrier to entry can be high for FPGAs: how does a person with a software development background get started using them? And what about HDLs (Hardware Description Langauges) used to program FPGAs? What's the difference between simulation and synthesis? What kinds of tools are freely available? These are some of the questions that will be addressed in this session.
Phil Tomson

* A Cloud To Call Your Own - Building Services On Open Nebula

Cloud computing, it's not all just hype! This presentation will highlight the benefits of an application centric view of infrastructure and operations and include a live demo building cloud infrastructure and providing services using Open Source tools. Starting with bare Linux images, Open Nebula will be automatically installed and configured on a cluster, while walking through the tools, architecture and resources you need to do the same thing.
Andrew Clay Shafer, Keith Hudgins

* A day in the life of Facebook Operations

A look at the tools and practices used at Facebook to support the #2 site in the world.
Tom Cook

* Agile User Experience Design

Agile processes can be very successful for both clients and developers, but the rapid pace and the lack of detailed long-term plans can make it difficult to design and build high quality user experiences. We'll talk about good ways to do that.
Randall Hansen

* Best Practices for Wiki Adoption

Wikis are easy as pie to install, edit, and even to develop. The real challenge they present is in bringing together the right people in the right way to make things happen. There are ways to tackle that challenge that can give your open source community a fighting chance.
Steven Walling, Ted Ernst

* Building Interactive Displays with Touchscreen 2.0

Touchscreen is a platform for creating interactive kiosk and dashboard displays. It powers presentations for visitors to the Open Source Lab's data center and the network operations center. Come learn how touchscreen works and how to use it for your own display screens.
Peter Krenesky, Rob McGuire-Dale

* Connecting to Web Services on Android

This presentation will show how to connect to REST-based web services from an Android application. We'll discuss HTTP programming as well as XML and JSON libraries. This presentation will include a live demo of an Android application.
Sean Sullivan

* Creating Embedded Linux Products with OpenEmbedded

Learn about the current state of embedded Linux distributions and advantages of the OpenEmbedded framework for developing Linux-based products.
Scott Garman

* How To Report A Bug

Bug reports drive Open Source, but too often it's a hostile experience. As a user, how do you report a bug without being treated like you're dumping a sack of crap on the developer's doorstep? As a developer, how do you encourage users to report bugs? This is not a tutorial, but an examination of the social aspects of bug reporting.
Michael Schwern

* How to write quality software using the magic of tests

Writing quality software is a worthwhile challenge. Learn how to harness the magic of testing to create better software. This presentation will provide you with an overview of the different kinds of tests, show code using different testing tools, and help you decide when and how to apply these to your projects
Igal Koshevoy

* Infrastructure as Code

Learn how to manage your infrastructure as source code - from provisioning to application deployment and everything in between.
Adam Jacob

* Introduction to MongoDB

MongoDB is an open source, high-performance, schema-free, document-oriented database that is rapidly gaining in popularity among web developers. In this talk we'll introduce MongoDB and the features that make it great choice for your web applications.
Michael Dirolf

* Introduction to PostgreSQL

Interested in using PostgreSQL for you next project, or migrating to it? This tutorial will go over the basics of PostgreSQL administration and database application design.
Josh Berkus, Christophe Pettus

* libcloud: a unified interface into the cloud

What is possible when you can consume servers on various hosting providers with nothing more than a python script? This talk will discuss libcloud, an Apache Incubator project dedicated to building standard interfaces into the cloud.
Alex Polvi

* Making Drupal Go Fast with Varnish and Pressflow

You've launched your new web site and it's starting to get some attention. You've tuned your database and optimized your HTTP daemon, but what if it's not enough to keep up with all the hits you're getting? We'd like to introduce you to your two new best friends: Varnish and Pressflow.
Greg Lund-Chaix, Rudy Grigar

* Node.js and you

Node.js is one of the most exciting things to happen to server-side development in the last few years. Here you'll find out why Node.js is a perfect fit for your next project and a better fit than existing languages for modern web development.
Mikeal Rogers

* Open Source Storage Solutions and Next Generation Linux File Systems

Unlike most areas of enterprise IT, open source solutions in the storage industry have remained in the background. In 2010 this situation is going to change dramatically with new open source storage solutions, next-generation Linux file systems, and emerging cloud offerings making significant inroads.
Anand Babu (AB) Periasamy

* Puppet for Beginners

Puppet is a powerful configuration management tool that makes life easier for people managing systems and applications. This tutorial gives you an in-depth and hands-on introduction to Puppet that is ideal for beginners to Puppet and configuration management.
Teyo Tyree

* Relational vs. Non-Relational

What kind of database do you need? Thanks to new database projects like CouchDB, TokyoCabinet, Solr and others, there are more non-relational database options available than ever for developers. Yet good information on how to choose what kind of database you need is still scarce. We'll cure that in this talk.
Josh Berkus

* Release your hardware hacker potential with gEDA

Ever wanted to create your own printed circuit board? There are open source tools for that. This session will take you step-by-step through the process of creating a printed circuit board using the gEDA suite of electronic design automation tools. Beginners are welcome, no previous hardware experience required.
Eric Thompson

* Sphinx - the ultimate tool for documenting your software project

Open source software projects can succeed or fail based on their documentation. Thanks to Sphinx, open source developers now have a "documentation framework" that provides convenient indexing and automatic syntax highlighting, integrates your documentation with your code, and can automatically generate a beautiful manual as a PDF document.
Nate Aune

* Stacks of Cache

This talk focuses on adapting and augmenting interfaces to memcache in order to overcome some of its limitations and to better utilize available resources. Then we'll talk about combining those interfaces in a simple, snap-together fashion.
Duncan Beevers

* State of MariaDB

MariaDB 5.1 is branch of MySQL 5.1 and is drop in replacement for MySQL 5.1 with additional features, speed enhancements and bug fixes.
Michael Widenius

* The Open Geo Stack

Location and mapping are making a huge impact on the web and mobile. Open Source is right there. Learn the elements of the geo stack, from mapping APIs to geo databases.
Adam DuVander

* The Return of Command-Line Kung Fu

A follow-on to last year's highly popular presentation, Hal Pomeranz returns with another super-size helping of command-line madness!
Hal Pomeranz

* The symfony framework behind the scenes at museum installations

The symfony framework is a full-stack web framework for PHP. It's great for building websites, but you might be surprised where else it comes in handy. David Brewer shows how Second Story uses symfony to build custom content management and delivery systems powering interactive installations ranging from collections of Disney memorabilia to maps plotting every monument at Gettysburg.
David Brewer

* Unlikely tools for pair programming

Co-conspirators Jamey Sharp and Josh Triplett get up to a lot of miscellaneous hacking mischief together. Much of this hacking occurs while staring at the same screen, and tag-teaming the keyboard. Sometimes this happens with the two of them in different places. We'll demo our favorite tools and invite audience contributions to the discussion.
Jamey Sharp, Josh Triplett

* Using Modern Perl

Since 2001, Perl 5 has undergone a renaissance. Modern Perl programs are powerful, maintainable, and understandable. Come learn how to take advantage of perl circa 2010.
Chromatic X

* XHP for PHP

XHP is a PHP extension which augments the syntax of the language such that XML document fragments become valid PHP expressions. It fits somewhere between a templating language and a programmatic UI library. XHP allows you to use PHP as a stricter templating engine and offers a very straightforward way of implementing reusable, extensible components.
Bob Baldwin

* Your Internets are Leaking

Using your computer on a public network is like having a conversation on a city bus: people you don't know can hear everything you say. They'll probably be polite and ignore you, but you still might not want to shout out your credit card number. Yet this is what your computer does. All the time. And you don't know it.
Reid Beels, Michael Schwern

Proposals for this track

* Automating Flex/Flash with Windmill or Selenium

Get automated tests up and running for your Flex or Flash application in minutes.
Cooking 2010-03-24 18:20:20 +0000
Adam Christian

* Awesome things you've missed in Perl

Awesome things have been happening in Perl recently; so many that even if you've been paying close attention, you may have missed a few. In this talk we'll examine some of the coolest recent technologies for Perl programmers.
Cooking 2010-03-26 02:18:27 +0000
Paul Fenwick

* Behaviour Driven Infrastructure

Does Behaviour Driven Development have a role in the infrastructure world? Enter Behaviour Driven Infrastructure where systems administrators can apply BDD principles to make infrastructure management more powerful, more insightful and deliver more value to their customers.
Cooking 2010-03-25 23:22:35 +0000
James Turnbull

* Blocker Talk: confessional-meets-Scrum

What are the three highest priorities for your FLOSS project, what's blocking you, and can we help? A guided discussion.
Cooking 2010-03-29 22:48:36 +0000
Sumana Harihareswara

* Code Happier With The Cycle: Code, Test, Fail, Diff, Fix, Pass, Commit, Repeat

If I could convince developers of one thing it would be this: Writing tests and using version control together during development is the simplest way to improve your life. So I will.
Cooking 2010-03-26 01:12:49 +0000
Michael Schwern

* Constructing Effective Arguments

Ever find yourself having difficulty convincing others on the mailing list that your idea is the "right way" to do things? How about convincing your manager that it really is a great idea to run Open Source software? Need to get that patch accepted upstream? Come learn how to construct an effective argument, and increase your powers of persuasion.
Cooking 2010-03-30 06:04:11 +0000
Jennifer Redman

* cooking clouds

How to get from cloud apis to actual application deployment using your favorite language.
Cooking 2010-03-27 07:35:15 +0000
Adrian Cole, Alex Polvi

* Data Normalization, Denormalization, and the Forces of Darkness

Battling the minions of evil is not an appropriate time for cowboy database design. Your users' lives, and perhaps those of the entire world, depend on accurate and up-to-date data. You can't take a chance on duplicated data becoming inconsistent. You need a solid data model with little or no maintenance. At the same time, a zombie apocalypse is hardly the right situation to prioritize the purity of the data model over usability. Your users need answers fast, and their brains may already be appetizers by the time a dozen joins complete. How do we prioritize both maintainability and performance? A good DB admin knows whether normalization is the right approach for a particular data set, how far to normalize, and when and how to denormalize to improve performance. Let's hope the warriors of the forces of light have a good DB admin. If they call on you, are _you_ up to the challenge?
Cooking 2010-03-29 18:24:35 +0000
Melissa Hollingsworth

* Data Visualization For Fun and Profit

How to improve your software (and your business) using a bit of math, some Python code, and R, the world's best free statistics software.
Cooking 2010-02-22 20:53:57 +0000
Lennon Day-Reynolds

* Debt-Free: Technical Debt In Open Source Projects

Ship or fix? This choice presents itself to open source projects every day, and the consequences can be considerable. Learn how to control this "technical debt" in open source projects.
Cooking 2010-03-15 14:30:18 +0000
Brandon Savage

* Django 102 - past the introduction

You've been through the tutorials on Django, and now you want to deploy a real site in it - and you're lost. Let's fix that.
Cooking 2010-03-26 00:06:35 +0000
Chris Pitzer

* Drupal & other CMS for Nonprofits

Using the power and flexibility of of a CMS like Drupal to create websites that extend the effectiveness and reach of nonprofits and let their staff/volunteers own the site, rather than having to turn to an expensive tech firm. Reference to several OS CMS will be made.
Cooking 2010-03-25 19:01:09 +0000
Grant Kruger, Theresa Pridemore

* Everything you ever wanted to know about Amazon EC2

Amazon Web Services makes it possible to build scalable systems easily with very little upfront capital. Come to this session to learn about what's so cool about cloud computing, and how Amazon's suite of elastic cloud computing tools make your job easier.
Cooking 2010-03-26 03:39:34 +0000
Nate Aune

* GeoDjango

Want to build that kick ass geo-site? Use Django!
Cooking 2010-03-26 00:10:52 +0000
Chris Pitzer

* Gerrit what is it? can I try it out?

This talk will be about what Gerrit is, how to set up a test Gerrit in a VBox, how it works, and how it could grow on you after you use it a bit.
Cooking 2010-03-14 01:44:56 +0000
mark gross

* Get organized: Emacs a la org-mode

Have you ever finished a day and wondered where the time went? Need to bill customers but only have a vague idea of your actual effort? Get back on track with a heaping scoop of org-mode!
Cooking 2010-03-16 14:00:16 +0000
Brandon Philips

* Git (Mostly) For Drupal

A crash course in git with a slant towards the special techniques needed by Drupal projects. Other developers will also find it useful.
Cooking 2010-03-26 01:31:46 +0000
Michael Schwern

* Grails for Switchers

Come on. You know you want to.
Cooking 2010-03-03 23:20:21 +0000
Matt Woodward

* Harnessing Java with Scala

We provide you an introduction to the Scala programming language through its powerful capabilities to integrating with Java. We will demonstrate how Scala can be an effective means of exploring Java libraries such as JAXB, HttpClient and Hibernate. We will show why Scala is our preferred harness, with capabilities beyond Java, Beanshell or Groovy.
Cooking 2010-03-22 03:19:50 +0000
Thomas Lockney, Trenton Lipscomb

* Help! My webapp is slow and I don't know what to do!

One of your clients has asked you to have a look at their web application and to make it faster. Where do you start? Without looking at (or changing) the source code of the application, what can you do to make it better?
Cooking 2010-03-12 04:37:54 +0000
Francois Marier

* How to build a simple website in Drupal in an hour -ish

Drupal has a steep learning curve for non-developers. Learn how to get started and build a simple website in an hour (or as long as you allow).
Cooking 2010-03-26 05:50:58 +0000
VJ Beauchamp

* Interacting with a group of servers in real-time with MCollective

Today we have tools like cfengine, puppet, and chef to help automate server deployment, configuration, and maintenance. However, its been difficult to interact with those same servers in real-time. MCollective is a framework which allows you to interact with small to very large clusters of servers in real-time. This session will cover its features, common uses, and extending its functionality.
Cooking 2010-03-24 23:26:36 +0000
Lance Albertson

* Introduction to SnapLogic

SnapLogic is an open source platform for building system integrations that can be scripted or extended in Python and Java. With SnapLogic, complex integrations are broken down into discrete components that act upon data streams. Using this framework, it is possible to build conduits among homogenous SaaS systems, databases, etc. In this session, we'll introduce the system and walk through the code to create a new integration target: a SaaS system with an XML API.
Cooking 2010-03-17 00:02:19 +0000
Dylan Reinhardt

* Javascript, the One True Language

JavaScript has long been considered a toy language, but new project focusing on server-side JavaScript the language could be the best choice for new development.
Cooking 2010-02-24 19:02:14 +0000
Stephen Woods

* Lift tips and tricks

See @harryh's 5 line lazy-loading snippet, all the code you need to guard against replay attacks/XSRF, and building real-time web apps in Lift
Cooking 2010-03-15 20:49:08 +0000
David Pollak

* Making software management tools work for you

With the advent of such rich open source tools such as Subversion, Git, Trac, CruiseControl, and Review Board, managing software projects of any size has become much easier than ever. But how do you best use these tools in your organization? In this talk we'll look at how these tools can fit into any software project, helping you make your team more efficient than before.
Cooking 2010-03-15 02:09:55 +0000
John Mertic

* Mapping with Drupal

Learn the ins and outs of online mapping solutions with the open source Drupal framework.
Cooking 2010-03-12 17:09:23 +0000
Lev Tsypin

* Meta-Programmng Java with Tapestry 5

Why code when you can meta-code? Learn how you can leverage Tapestry's built-in aspect oriented technologies to eliminate cut-and-paste coding (and ugly inheritance hierarchies) with simple declarative annotations.
Cooking 2010-03-24 23:49:51 +0000
Howard Lewis Ship

* Migrate your data into Drupal the not-so-hard way

Your data is already in a database. Let's get it into Drupal posthaste, with as little wringing of hands and gnashing of teeth as possible.
Cooking 2010-03-26 05:26:42 +0000
VJ Beauchamp

* Network booting helps you be lazy

Network booting can save you more time in the first month than it took you to set it up. See a live demo of network booting in action, and learn about the software stack you need to get started.
Cooking 2010-03-26 04:01:56 +0000
Daniel Johnson

* Nothing But Nines: Achieving %99.999 Uptime with Open Source High Availability Clustering

Achieve the ultimate in business continuity and productivity by eliminating downtime. As of Linux 2.6.33, Distributed Replicated Block Device (DRBD) is mainline. Find out what it is, what it does, why its awesome and how it can be coupled with Pacemaker to ensure your services remain highly available.
Cooking 2010-03-25 00:54:06 +0000
Adam Gandelman

* Open Source Configuration Sharing by Power Users/Developers Using YAML in a Wiki

Open source is a lot of the time about the code. But what about the configurations? In some cases, configuring a platform can take significant time and depending on the configuration, the resulting application can be very different and address varied uses. The power users/developers of TikiWiki CMS/Groupware had exactly this problem of configuration being too tedious and full of reinventing the wheel each time. They then figured out a way to share configurations as easy-to-learn YAML inside a wiki so that other power users/developers can make use, enhance and combine these modular application configurations, leading to new and innovative applications that are easily deployed through an automated system. The same approach should be possible for configuration sharing for many different platforms, not just Tiki.
Cooking 2010-03-25 19:16:45 +0000
Nelson Ko

* Open Source IT Security: Tools and Tricks

An overview of current IT Security threats and the Open Source tools that can be used to protect, detect and remove them.
Cooking 2010-03-22 19:36:01 +0000
Jay Allen

* PHP for professional folks

Join this session if you are interested in learning about the latest and greatest tools and techniques available to the PHP community.
Cooking 2010-02-24 22:21:13 +0000
Dustin Whittle

* PostgreSQL Techniques for Django Developers

With support right out of the box, Django is one of the most efficient ways of deploying a PostgreSQL-backed web application. We'll discuss techniques to get maximum efficiency out of PostgreSQL using Django, including schema design tips, Django ORM techniques, transaction management, and extending PostgreSQL.
Cooking 2010-03-30 06:46:45 +0000
Christophe Pettus

* Put Down the Superglobals! Secure PHP Development with Inspekt

Inspekt is a filtering and validation library for PHP. With a focus on ease of use, Inspekt makes writing secure PHP applications faster and easier. This talk covers the Inspekt library and the "input cage" concept, best practices when utilizing the library, and how to integrate Inspekt with existing applications and popular frameworks.
Cooking 2010-02-21 03:16:33 +0000
Edward Finkler

* Regular expressions and meta obsessions

How do you parse and validate a date? What about an email address? A URL, phone number, postal code? How do you quickly search through a file for something that you only know a little about? Regular Expressions, that's how.
Cooking 2010-03-26 03:53:00 +0000
Philip Tellis

* Slideware

When you're giving a technical talk, you're the star---but the code you're presenting is your most important prop. We're going to discuss ways to show your code to an audience. You'll come away with tips that will save you time and help you communicate your ideas clearly.
Cooking 2010-03-10 20:44:58 +0000
Ian Dees

* Socket handoff: Concurrent fd sharing for performance and innovation

When different components want to use a shared resource in different ways--such as when they're implemented in different programming languages, or have APIs that aren't trivially compatible--the result is an API design challenge. X desktops today have both Xlib and XCB competing for access to the same network socket, and we needed a design that would let them share. We'll present this design, how we arrived at it, and why it's even more useful than we guessed.
Cooking 2010-02-21 06:39:44 +0000
Jamey Sharp, Josh Triplett

* SugarCRM - Your next open source business application framework

This talk will explore using SugarCRM outside of it's normal usage as a CRM application, instead using it as an open source business application platform.
Cooking 2010-03-15 02:08:02 +0000
John Mertic

* Test Driven Database Development

Learn how to apply the principals of test-driven development to developing a database schema.
Cooking 2010-03-21 01:02:05 +0000
David Wheeler

* Theme any website in two hours with Deliverance

Imagine if you could take any website design and use it as-is with any website or web application? Well, you can with Deliverance!
Cooking 2010-03-26 03:44:12 +0000
Nate Aune

* Understanding and building scalable software paradigms

The road lay ahead, success or failure, and how you respond early will help determine your outcome. With much planning, thought, and expense you've built the greatest tribute to innovation, Solving a problem, filling a need or answering the call of excellence. All worthy pursuits in the attempt to obtain your goals and roll out your product or solution. Success!! People are using it. One problem, people are using it.
Cooking 2010-03-18 06:25:10 +0000
Dan Wade

* Using Django on the Djob

Django is a great framework for building public web sites, but it's also a great platform for building connected business apps. This session will examine use cases where Django presents an opportunity to build powerful, robust systems on a budget.
Cooking 2010-03-16 23:23:23 +0000
Dylan Reinhardt

* Using Eduglu, a new Drupal Distro for Higher Education

Drupal's use is exploding in Higher Education. This session will introduce a new Drupal distribution designed to serve as a platform for building rich intranets for educational institutions.
Cooking 2010-03-26 05:34:40 +0000
Kyle Mathews

* Using virtualization and automation to improve your web development workflow

Large-scale web projects use sophisticated staged deployment systems, but the prospect of setting these up can be daunting. Using virtualization and automated configuration puts the benefits within easy reach even for small projects. David Brewer explains how Second Story uses Linux, VMware Server, and AutomateIt to grease the wheels of development on their museum-sector projects.
Cooking 2010-03-29 15:42:24 +0000
David Brewer

* Web Framework Shootout

Which web framework will rule them all? As an audience member you pick the winner! We will present an introduction to a variety of web frameworks including Rails, Django, Symfony, and Sinatra.
Cooking 2010-02-25 23:15:13 +0000
Dustin Whittle

* When Bad Data Happens To Good People

Has bad data happened to you? Has it happened repeatedly, and in several different ways? Are you at your wits' end trying to figure out what to do about all this garbage in your database?
Cooking 2010-03-10 00:04:36 +0000
Josh Berkus