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.”

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Proposals for this track

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.

Gulp is an excellent task runner for building smaller front-end projects, but how does it measure up to larger applications like REI.com? 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 REI.com!

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.

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).

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.

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.

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.

"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.

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.

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.

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.

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.

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.

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.

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"!

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 (https://soundcloud.com/znmeb/sets/when-harry-met-iannis-2009).
It's time to revisit 'When Harry Met Iannis' - better algorithms, more modern languages, and more complex instruments.

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.