Cooking track

How did you get something to work? Show us how to write the script, configure the utility, debug the code. Share your best recipes.
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 “Data Science in the Open” and “Hands-on Virtualization with Ganeti.”

Sessions for this track

* A Few Python Tips

Nothing fancy here, just several tips that help you work effectively with Python. This talk is licensed CC BY; please feel free to reuse it at your company or conference.
Sumana Harihareswara

* Build your own exobrain

Online services like "If This Then That" (IFTTT) are great for automating your life. However they provide limited ways for the end-user to add their own services, and often require credentials that one may normally wish to keep secret. The 'exobrain' project allows for service integration and extension on a machine *you* control.
Paul Fenwick

* Confessions of a DBA: worst and best things I've done in production

In the past 15 years, I've done some pretty horrendous things around the M in LAMP. I will balance this with good things I've done too.
Emily Slocombe

* Data Wrangling: Getting Started Working with Data for Visualizations

Good data visualization allows us to leverage the incredible pattern-recognition abilities of the human brain to answer questions we care about. But how do you make a good visualization? Here's a crash course.
Rachel Shadoan

* Don't Let Your Tests Flake Out

The build's red with a test failure. You re-run the tests and suddenly all is well. What's going on?
Jason Clark

* Know Thy Neighbor: Scikit and the K-Nearest Neighbor Algorithm

This presentation will give a brief overview of machine learning, the k-nearest neighbor algorithm and Scikit-learn. Sometimes developers need to make decisions, even when they don't have all of the required information. Machine learning attempts to solve this problem by using known data (a training data sample) to make predictions about the unknown. For example, usually a user doesn't tell Amazon explicitly what type of book they want to read, but based on the user's purchasing history, and the user's demographic, Amazon is able to induce what the user might like to read.
Portia Burton

* Lightning Talk Workshop

Heard of lightning talks but never considered giving one? Never fear, lightning talks are easy! During this session, you'll write and practice your first lightning talk.
Michelle Rowley

* Lights, Art, Action! An exploration in technology, art, and making mistakes

Curious about integrating open source and art? We’ll explore a particular project in detail while providing both functionality and process recommendations. Both the art and the hardware will come to visit, along with the creators.
Catriona Buhayar, Bill Madill

* Make your wireless router route (or anything else) the way you want it to, with OpenWrt.

How to build an OpenWrt image from source to do just what you want it to on your suitably chosen hardware.
Russell Senior

* Making your mobile web app accessible

Accessibility - It's important. Learn how to make your mobile web app accessible to everyone.
Eitan Isaacson

* Modern Home Automation

There are a few different options available to you to control your home automation system. Many manufacturers make it convenient to use their system by not only making a convenient to install their products and use their interface, but will actually host all the software portions for you. Many provide apps for your IOS or Android device and have web interfaces for your laptop as well, making the control of these devices very streamlined and simple, especially if there are many devices to be managed. Other more DIY-approach solutions also have interfaces to control your automation, although require a bit more setup. For example, with the power strip in the previous example, you first need to connect it to your wireless network, and then you'll be able to use the supplied phone/tablet app to toggle the ports on/off. As with anything DIY: The sky's the limit, although it requires more technical understanding of what's going on.
Ben Kero

* My Journey into Open Source Design

Becoming a contributing designer on an open source project is often tougher than contributing code. The pathways to designing for open source projects are often unclear. Using my own experience joining the WordPress project, I'll share how I think open source projects can make it easier for designers to contribute their skills.
Mel Choyce

* Network Science for Fun and Profit

Understanding the relationships between data elements has become increasingly valuable, as LinkedIn, Facebook and Google illustrate. Network science provides a means to understand, explain, predict and otherwise utilize these relationships. I will provide a brief overview of network science, with examples and illustrations using R, focused on providing an entry point to their use for fun and profit.
John Taylor

* Open Hardware from Breadboard to PCB

So you've built a breadboard circuit with wires everywhere. What's next? A printed circuit board! I'll talk about your open hardware development options through the lens of my recent project turning a breadboard prototype into a finished Arduino shield for a curing oven at Portland State.
Jenner Hanni

* Open Lighting Architecture: Blinky Lights!

Target audience will anyone with a interest into doing atypical stuff with SoC platforms including professional and hobbyist level implementations. Even if it's a simple XMAS light display, complex LED panel setup, or even driving consumer products like Hue lights.
None None

* OpenStreetWhat? Mapping The World With Open Data

Come learn about OpenStreetMap, a Wikipedia-like project with over one million contributors aiming to map the entire world. We'll talk about the project, the data, and how to do some cool things with it.
Justin Miller, Rafa Gutierrez

* SQL Utility Belt

SQL is an incredibly powerful language, but it can be difficult sometimes to advance beyond the basics. In this session, we will go over several tricks and tips to expand your SQL tool kit.
Michael Alan Brewer

* The Outreach Program for Women: what works & what's next

We've mentored and interned in the Outreach Program for Women, and we know it works -- it improves the gender balance inside open source communities. We'll discuss why it works, how it builds off of Google Summer of Code, and discuss replicating it, expanding it, and looking at the next step in the recruiting and inclusion pipeline.
Sumana Harihareswara, Liz Henry

* Unicode Beyond Just Characters: Localization with the CLDR

Unicode is much more than just characters. The Unicode Consortium defines open standards for collating, parsing, and formatting data in much of the world’s languages. The Common Locale Data Repository (CLDR) is the largest standard repository of locale data along with specifications for its use and is a powerful resource for software localization.
Nova Patch

* Vim Your Way

You’ve learned to do things Vim’s way; now it’s time for Vim to learn to do things your way. We'll learn more about customizing Vim to fit your needs and workflow.
Emily St.

* xmonad: the window manager that (practically) reads your mind

Many desktop environments try to be easy to use for the average user, but that's not you. You're at your computer all day writing code; you don't have time to waste _dragging windows_ (ugh!) or watching _animated transitions_ (yuck!). David Brewer will demonstrate how by using xmonad, a tiling window manager, you can bend your desktop to your will and control your windows with telepathy. Kind of.
David Brewer

Proposals for this track

* Caching and Tuning fun for high scalability

What makes you site capable of scaling from 5 to 5 million visitors/day without rebuilding it from scratch ? Follow this step-by-step approach through various caching techniques, ways to improve or replace your web stack and ways to tune your setup for higher backend and frontend scalability.
Cooking 2014-03-23 15:35:59 +0000
Wim Godden

* A Fast, Scalable Front-End Build System Pattern with Gulp

Gulp is an excellent task runner for building smaller front-end projects, but how does it measure up to larger applications like How do you make it fast? How does it scale? The front-end development team at REI would like to share a pattern for a fast, scalable front-end build system we use on!
Cooking 2014-04-09 04:36:41 +0000
Rob McGuire-Dale

* Android Internals Debugging tricks and tips

Just like any other Operating Systems, Android's Logging mechanism can be hard to interpret and makes the debugging a complex task. For the past couple of months, I have been faced with some similar challenges and I believe I did learn about few tools and tricks which helped me debug the issues more efficiently. In this presentation, I would like to share my experience with others.
Cooking 2014-03-14 19:16:27 +0000
Sudheendra Bhat

* AngularJS Best Practices

Learn some hard earned best practices for AngularJS gathered while writing 100,000 lines of JavaScript with Angular.
Cooking 2014-04-11 17:21:24 +0000
Joe Eames

* Applied Machine Learning

Are you intrigued by Machine Learning but don’t know how to actually use it? This talk will focus on a specific case, solving a large scale Entity Resolution (De-Duplication) problem with an open source Support Vector Machine (SVM).
Cooking 2014-04-05 05:19:59 +0000
Clayton McClure

* Audience controlled games using the Kinect

How do you keep a crowd engaged? In this never been done before talk I'm going to use the Kinect and some other cool software tricks to keep the crowd engaged for 45minutes.
Cooking 2014-04-12 03:23:50 +0000
Justin Woo

* Blueflood 2.0 and beyond: Distributed open source metrics processing

Blueflood is an open source metrics platform created by Rackspace to organize the massive amount of metrics generated by is internal and external monitoring systems. Building out Blueflood required careful attention to balance the needs of scale, usability and code maintenance.
Cooking 2014-03-24 14:36:00 +0000
Gary Dusbabek

* Building a Web App With Scala, Spray, Slick, and AngularJS

This is a tutorial that will show you how to build a simple but completely functional web app from the UI through to the database. We will use AngularJS to build a single page application (SPA) as the UI. On the server side we will use Spray (and Scala) to build RESTful web services for the font end. We will finally connect the Spray services to a database using Slick.
Cooking 2014-03-11 12:33:03 +0000
Michael Pigg

* Building Blocks For People Focused Mobile Communication

App-centric communication interfaces distract us - a people-focused mobile communication experience could both solve that problem and provide numerous other advantages. This talk will discuss building blocks: from user experience, to markup, styling, and script that can be assembled to create a people-focused mobile communication experience using your own website.
Cooking 2014-04-12 06:52:28 +0000
Tantek Çelik

* C++11 From the Trenches

"I'm from the C++ standards committee, and I'm here to help." Are they really? The 2011 revision of the language contains a ton of changes that are supposed to help us solve problems. But which problems, and why? In this presentation, we're going cut through the bullet lists and get right to the parts of C++11 that can actually make life easier for programmers.
Cooking 2014-04-11 18:33:53 +0000
Ian Dees

* Cooking with Camlistore

Learn to store, search, share, and organize your data using Camlistore, the open source personal storage system.
Cooking 2014-04-04 22:01:12 +0000
Eric Drechsel

* Deploy a highly available message bus with ActiveMQ and Zookeeper

How to deploy ActiveMQ and Zookeeper using LevelDB in a Master/Slave/Slave global configuration.
Cooking 2014-04-03 04:49:35 +0000
Michael Ewan

* Deploying Perl Applications with Carton

Carton is Bundler for Perl. It allows installing a consistent set of modules local to an application. We use it to deploy large Perl applications
Cooking 2014-04-12 03:04:28 +0000
Ian Burrell

* Deprecating the Password: Email-only authentication

Email only authentication as an open-source authentication alternative to traditional username/password authentication.
Cooking 2014-03-26 19:45:21 +0000
Scott Motte

* Fennec, the ultimate testers toolbox

Fennec ties together several testing related modules and enhances their functionality in ways you don't get when loading them individually. Fennec makes testing easier, and more useful. Areas Fennec affects are Concurrency, State, Workflow, Tools, and Mocking.
Cooking 2014-03-24 15:26:50 +0000
Chad Granum

* Graph Visualization on the Web

GraphAlchemist is open-sourcing `Alchemy.js` its core graph visualization technology built largely in d3.js. Graph visualization is an incredible way to represent just about any time of 'connected data' - social networks, supply chains, telecommunications networks, protein interactions, and even biological family trees. Alchemy.js makes it easier for anyone to create data visualizations that represent these types of data - without being a data visualization expert.
Cooking 2014-04-03 18:10:40 +0000
Huston Hedinger

* Hacking the DevOps Talent Pipeline

The Open Source Lab at Oregon State University constantly struggles to produce enough students to fulfill companies' recruiting demands. As part of our recent transition into the school of computer science at OSU, we've started a DevOps training program. We're teaching open source systems administration and software development skills to all interested students, regardless of experience level. This talk will discuss what we've done, our results, and what you can learn from our experiences.
Cooking 2014-04-05 04:58:52 +0000
E. Dunham, Dean Johnson

* How to win friends and influence people (while demo'ing your software)

No matter how cool your software is, demonstrating it to potential customers effectively takes focus and a lot of attention to detail. This sounds like common sense, but the demo is part performance, part conversation, part clairvoyance, and part determination.
Cooking 2014-04-04 05:36:22 +0000
chris mccraw

* How we run Python

The Python Software Foundation runs a number of services for the Python community. Come learn how we do it, and how you can help.
Cooking 2014-04-05 03:33:13 +0000
Noah Kantrowitz

* Monitoring and Metrics with Puppet

As your infrastructure grows, so does the complexity of your monitoring and metrics needs. In heterogeneous environments many machines will require different monitoring checks depending on their role in the infrastructure and often times on their physical hardware or lack thereof. The answer to which checks go where is already in your configuration management.
Cooking 2014-03-19 05:29:23 +0000
William Van Hevelingen

* Open Source for n00bs: Creating a well known and useful personal OSS project

Based on my personal experience, the idea is to make a quick introduction of how with a project in mind, you can get an OS project that's known, where people participate and which adds value to everyone.
Cooking 2014-04-01 06:45:01 +0000
Martin Gontovnikas

* Platform-as-a-Service Application Patterns

Platform-as-a-Service clouds provide a way for developers to host applications without dealing with infrastructure issues. Migrating applications is easy but does your architecture restrict your application's ability to exploit all the benefits a cloud platform provides? Find out how to engineer your code to be fully "cloud ready"!
Cooking 2014-04-03 13:54:18 +0000
James Thomas

* Promises Kept: The New Javascript Design Pattern

Javascript Promises are a new design pattern in javascript that is easy to use and understand but also makes your code more powerful. Learn how to get started using this design pattern and how it will clean your code and make you seem smarter.
Cooking 2014-04-04 13:35:56 +0000
Stefan Hayden

* Quantify Thyself, then Go Forth and Conquer with a Personal Life API

Learn what to quantify, how to automatically gather the data and then we will create a Life API to access and analyze your data.
Cooking 2014-04-11 20:45:11 +0000
Elmer Thomas

* Reproducible Journalism for Firefox Phones

Reproducible research, data journalism, mobile first - what happens when you mash them all up and deliver them to a Firefox phone?
Cooking 2014-04-04 03:37:52 +0000
M. Edward (Ed) Borasky

* RESTful Micro-service communication over AMQP

In the last several years, the web application has evolved from “monolith” to collection of APIs. In this presentation, we discuss the advantages, the difficulties, and some of the technologies involved in getting APIs to talk with each other successfully.
Cooking 2014-03-17 18:26:54 +0000
Serge Domkowski

* Rethinking the Single Page Web Application

We were promised a glorious future with RESTful APIs, clients with lighting fast JavaScript engines, and an end to sending UI from the server. Now your project is late, the technical debt is piling up, and you're thinking that hey, Rails wasn't awful. Let's talk about when it's a good idea to build a single page, client side app, and when it's not. I'll be drawing from my experience building a single-app to manage an enterprise software as a service product. Before you jumped into Backbone, Ember, or Angular, you needed to think through the APIs you have, and still had to build. You need to look at the interactions in your UI. You need to figure out where and how your users will access the application.
Cooking 2014-04-11 08:57:43 +0000
Bill Humphries

* Sane Database Change Management with Sqitch

Sqitch is the sane database schema deployment tool. It doesn't care what programming language you use, what framework, or what database engine. Its focuses on tools to facilitate iterative development and ease of deployment, and otherwise stays out of your way. This session provides a technical introduction to Sqitch, with detailed usage examples to help get you started.
Cooking 2014-04-05 23:51:09 +0000
David Wheeler

* Spelunking in Ruby

We've all heard, "With good tests, you don't need a debugger." But faced with unfamiliar or poorly covered code, tests can fall short. Debugging tools are indispensable for taking that next step, and the Ruby ecosystem provides many options to help.
Cooking 2014-04-02 23:03:05 +0000
Jason Clark

* Successfully Building Complex Domains

Modeling large, complex domains can cause some serious pain. Join me as I’ll walk through a set of easy to implement Domain Driven Design (DDD) pointers. The goal is to make sure your model’s business logic stay under control no matter how complex your domain is or gets. Your application will be able to sustain steady growth and dramatically reduce business rule related defects, all the while, staying easy to grok.
Cooking 2014-04-12 00:05:45 +0000
Mike AbiEzzi

* Systems programming as a swiss army knife

Why understanding some systems programming basics will make you a better developer.
Cooking 2014-03-28 03:12:24 +0000
Julia Evans

* Teaching in your code with the Experience API

The Experience API (xAPI) is a new JSON-based open standard for building learning systems and activities. It replaces SCORM with an API built around Statements. Anyone can read and write an xAPI Statement- it's English! You'll learn how to make your apps part of the new learning environment using xAPI, and how to map legacy learning systems to xAPI using Statements and other xAPI concepts.
Cooking 2014-04-04 21:48:22 +0000
Michael Van Kleeck

* The New Sheriff in Town

Congratulations, you got that new green-field job where no one has done what you're going to what?
Cooking 2014-03-21 05:49:55 +0000
H. Waterhouse

* The Ultimate Context Switch: Ways to hotwire your brain to learn new programming languages/concepts.

Learning a new programming language and its constructs and conventions is difficult, but we make it even more difficult for ourselves. I'll give some techniques which circumvent the problem of learning something new.
Cooking 2014-04-07 18:00:44 +0000
Gloria W

* What the WITH? Care and feeding of CTEs

Have you tried some recursion in your SQL? In this session, we will go over the concept of Common Table Expressions (CTE), also known as WITH queries. We will explore syntax, features, and use cases for this powerful SQL construct.
Cooking 2014-04-02 21:36:11 +0000
Michael Alan Brewer

* When Harry Met Iannis - 2014

An exploration of music composed and synthesized by open source software. This piece has been through three incarnations - 2001 (Perl and Sfront), 2004 (Lisp and MIDI) and 2009 - back to Perl and Sfront ( It's time to revisit 'When Harry Met Iannis' - better algorithms, more modern languages, and more complex instruments.
Cooking 2014-04-12 06:00:39 +0000
M. Edward (Ed) Borasky

* Writing Tests To Be Read

Good unit tests can help ensure that your code doesn't break; Great unit tests can teach people how to use it. In this session, you'll learn some tips for making tests readable enough that developers consult them as documentation.
Cooking 2014-04-05 02:56:16 +0000
Moss Collum