Theory track

We know that a combination of ingredients works, but why? Show us the science behind the recipe. Explain the components of a project and how they interact.
Explore how our technology works on the lowest levels, and what that can teach us about optimal use. Tell us your analysis and profiling techniques, how implementation affects function, and what a kernel is made of. Example topics from the past include “OSWALD: Lessons from and for the Open Hardware Movement” and “Doing NoSQL with SQL.”

Sessions for this track

* A Domain Specific Query Language Engine

This presentation is about the shortest line between a database and data exploration.
Theory
Joe Meyer

* An Ensemble of Programming Languages: How to Build a Platform for Collaboration

The era of "general-purpose programming languages" is nearing its end. The cost of building a programming language and integrating it with other languages has fallen significantly, but our approach to building programming languages has not changed substantially in decades. The consequence is an enormous financial cost paid, in terms of real dollars as well as in hours of programmer effort. The solution is not yet another "better" general-purpose language but rather a platform that prioritizes a collaborating assortment of specialized languages that together perform well in a specific context: an ensemble of programming languages.
Theory
Brian Shirai

* An Introduction to ClojureScript

ClojureScript is a fun, productive language that compiles to JavaScript. Though its syntax is a different its functional immutable nature lets you be productive when developing complex web applications.
Theory
Julio Barros

* API Design Through the Lens of Photography

To be successful in photography and API design, you must first understand the constraints of the medium, both technical and non-technical. Learning how to work within constraints and finding your own style are critical to being a successful photographer and API designer.
Theory
Bryan Hughes

* Bots Not Cattle

"Cattle Not Pets" got us to the first generation of microservice infrastructures. Now it's time for a second generation metaphor: "Bots Not Cattle."
Theory
Josh Berkus

* Deployment as a Feature

Too often the deployment of software is treated as a necessary evil. When you design your deployments as a feature of your system, the productivity gains will surprise you.
Theory
Carl Hall

* Distributed Consensus with Raft

Getting people to agree to things is sometimes hard. But implementing consensus with computers is harder. And distributed consensus with computers is ​_really_​ hard. How do we do it? One answer: the distributed consensus algorithm known as _Raft_.
Theory
John Feminella

* Going Rambo: Contract and Collaboration Testing in Ruby

Contract and collaboration testing are the future of testing microservices, but in many languages, few or no tools are available to facilitate this process. Rambo is a new Ruby tool that generates contract tests from API documentation.
Theory
Dana Scheider

* HTTP/2 and Asynchronous APIs

HTTP/2 (H2) is coming, and along with it a whole new way of communicating over the web. Connection re-use, prioritization, multiplexing, and server push are just some of the features in H2.
Theory
Davey Shafik

* Inside Websockets

Protocol design is about tradeoffs, and if you pick the wrong tradeoff, you may regret it for a very long time. Any time you have one part of a program talk to another part of a program, you have a protocol. In this talk, we'll dig into the details of how WebSockets work and what decisions the designers made.
Theory
Leah Hanson

* Introduction to Neural Networks with Tensorflow

I intend to introduce Neural Networks as a very simple concept. This can be achieved with Google's newest open-source library in Python called Tensorflow. I want to dispel the myth that Neural Networks are hard to understand and implement. I also want to introduce the current state of Neural Networks as they are continually changing the landscape of visual recognition and natural language processing.
Theory
Nick McClure

* Machine Learning 101: How to get started with Convolutional Neural Networks

Machine learning and especially convolutional neural networks are on the rise. With the sheer limitless amount of data and cheap computation power, neural networks can now solve problems which have been fairly complex in the past. Cole and Hannes will demonstrate how you implement a convolutional neural network with a few lines of Python code to classify images, recognize voices or understand texts.
Theory
Hannes Hapke, Cole Howard

* Massively Parallel Testing at MongoDB

When the engineering team at MongoDB pushes a commit, we have to test it on every platform and configuration that we support. This adds up to hundreds of hours of tests for each commit. In order to make this process efficient, we built Evergreen, an in-house continuous integration tool and leveraged new technologies, such as Go and dynamic host allocation, to streamline the process to minutes. This talk will show you how we parallelize our tests and how you can apply these techniques to your next project!
Theory
Shraya Ramani, Kyle Erf

* Micro-services provide some benefits, but at what cost?

Several years ago, there was an architectural paradigm shift toward "micro-services" and away from the "monolithic" application stack. A micro-service architecture comes with scalability and replaceability, among others, but is it worth the time and effort to build it? Is it worth debugging API calls gone wrong? If you're thinking about making this move, have already started, or have already deployed to production, this is an ideal venue to see what others are doing with micro-services.
Theory
Serge Domkowski

* Monoids, and Sketches, and CRDTs, oh my!

A (hopefully) accessible introduction to some of the key mathematical concepts that make distributed and streaming computation possible.
Theory
Kevin Scaldeferri

* Our Unhealthy Relationship with Injection Vulnerabilities

Ever concatenated strings in your code? Did those strings include any kind of structured syntax? Then your code might be vulnerable to injection. What does that mean? I will show you the common patterns of injection that occur, what their impact might be, and how to avoid them.
Theory
Timothy Morgan

* Rethinking Social Media, Privacy, and Information Flow from the Ground Up

Inspired by security and privacy research in operating systems, we'll be discussing possible ways to redesign privacy models so that all users can have fine-grained control over both visibility of their content and how others can interact with it.
Theory
Clarissa Littler

* Security Starts With You: Social Engineering

Virus? There’s an app for that. Malware? There’s an app for that. Social engineering? It's a little more complicated. These techniques, used by hackers to gather information on their target, are hard to combat without education - so why don’t we talk about them more often? Aimed at the average user who could be targeted by such an attack, this talk discusses the tools of social engineering, how it can be combated and why so many companies fail in preparing their employees for such an attack.
Theory
Tiberius Hefflin

* Spelunking with ǝpoɔᴉu∩

What do a fistbump emoji, Mandarin Chinese, and rocket ships have in common? They're all represented with entries in Unicode, the biggest, baddest, and most widely-used open standard. In this talk, we'll explore the messy and conflicting ideas that humans call "text", and how we represent those ideas in software.
Theory
John Feminella

* Standardizing the Social Web - W3C #socialweb specs

The W3C Social Web Working Group has been developing standards to make it easier to build social applications in the open web. In this talk, you'll get an overview of the various specifications in development, (Activity Streams 2, Webmention, Micropub, and ActivityPub), to help you learn how each applies to the social web.
Theory
Aaron Parecki

* Supporting diversity with a new approach to software

It’s time for a new approach to software, one that embraces differences (not just tolerates them), and sees diversity as a strength. The industry is primed for change, and there are huge opportunities to do better by valuing emotion, intuition, compassion, purpose, empowerment, sustainability, and social justice. This highly-interactive session includes discussions of current “best practices” and emerging ideas from projects that have focused heavily on diversity, issues and problems in today’s environment, imagining how things could be different, and figuring out concrete steps to make it happen.
Theory
Jon Pincus, Tammarrian Rogers

* The Key Of Chaos

We built an open-hardware random number generator. We'll tell you all about it.
Theory
Bart Massey

* Tightly coupling your (REST) API docs

Documenting REST APIs isn't easy, and we need practical tips and tricks for keeping docs in sync with design and implementation. This talk explores some different but related ways to accomplish the goals of user-friendly, always up-to-date API docs.
Theory
Jennifer Rondeau

* Type Theory 101

Have you heard about type theory and always wanted to understand the principles behind it, but always thought it was too complicated since it has a lot of Lambda Calculus and algebras? This talk will approach these concepts in a friendly way.
Theory
Hanneli Tavante

* What Hath Von Neumann Wrought? Programming before programming languages

We program today in a rich environment, but that wasn't always the case. We celebrate the pioneers of programming languages: Grace Hopper (COBOL), John Backus (FORTRAN), John McCarthy (LISP), Kenneth Iverson (APL) and Peter Naur (ALGOL). But there was a time before programming languages. How did people program back then? I'll show you!
Theory
M. Edward (Ed) Borasky

Proposals for this track

* Advanced filtering on your API endpoints with SQLAlchemy and FIQL

How robust is the filtering of your API? Let's delve into how a string of text can become a set of instructions to the API on exactly what records should be returned.
Theory 2016-04-12 17:11:35 +0000
Serge Domkowski

* Anomaly detection on earthquake data using the Trusted Analytics Platform

Trusted Analytics Platform (TAP) is an open source software, optimized for performance and security, that accelerates the creation of cloud-native applications driven by Big Data Analytics. This talk uses TAP to detect anomalies in earthquake data and indicate any outliers on real time data. http://trustedanalytics.github.io/
Theory 2016-04-21 00:14:43 +0000
Anahita Bhiwandiwalla, Fred Magnotta, Jitendra Patil

* Building Your World in WebVR

We will explore how we can utilize webvr to build amazing VR experience right into everyone's pocket, using their mobile phones they use right now. No need for expensive or closed source tools or solutions. Utilize the mobile phone with cardboard and uisng just javascript and html to build VR world. How using api's of webvr and Aframe we game developers and UI builders can build awesome experience.
Theory 2016-04-10 00:12:11 +0000
Rabimba Karanjai

* Can Online Interaction Match some of the Magic of Face-to-Face Collaboration?

Join this interactive session connecting what we know about face-to-face collaboration and how and why it works with what online dialog, games, berry-picking, wayfinding and other large scale activities can accomplish.
Theory 2016-04-17 17:20:06 +0000
Carie Fox

* CSS Performance & What is the Browser doing?

Learn how the browser renders webpages, how to write better css, and how to monitor front end performance in Chrome.
Theory 2016-04-16 02:03:43 +0000
Sarah Etter

* Dating advice for access control systems

The right model for access controls will convert unruly actors into well behaved users. When you consider access controls as relationships between players, you discover a deeper narrative in your data.
Theory 2016-04-20 05:05:58 +0000
Carl Hall

* Democratizing Distro Engineering

The Clear Linux Project has some really nifty, fully open source innovations that can help anyone build and maintain unique distros of their own.
Theory 2016-04-21 04:31:24 +0000
Jim Chamings

* Devopracy: Infrastructure Code for Virtual Democracies

Devopracy is an open source project to build a disposable, portable cloud for civic engagement events and virtual democracies. We'll examine these use cases with consideration for security, maintainability, and code quality. There's a companion workshop on how to deploy the cloud and deploy an application onto it.
Theory 2016-04-21 06:21:42 +0000
Ele Mooney

* Every Millisecond Counts: Performance & UX

This talk will look at how we can improve our users experience at any scale through performance optimizations at every layer of the stack, from backend to browser.
Theory 2016-03-19 21:24:48 +0000
Davey Shafik

* Faults in Linux

In 2001, Chou et al. published a study of common faults in Linux versions 1.0 through 2.4.1. They used a static analyzer to get the results. In 2014, Palix et al. extended this work to cover the 2.6.x versions of the Linux Kernel [1]. They found that the number of common faults decreased from the previous study results, implying better code quality in 2.6.x, but was still very high. This talk will report on my work on applying the same analysis to the Linux 3.x versions. The studied period in particular includes the zero-day build testing service in 2012. [1] http://arxiv.org/pdf/1407.4346v1.pdf
Theory 2016-04-20 05:23:06 +0000
Tapasweni Pathak

* From Mess to Success

- 3 Secrets to Win at Organizing for Higher Performance
Theory 2016-03-26 15:12:29 +0000
Nancy L Gaines

* Introduction to high performance computing and parallel filesystems

This talk will discuss High Performance Computing and Lustre - an open source parallel file system. We'll discuss scaling challenges and how open source software is being developed to address them.
Theory 2016-04-21 02:57:34 +0000
Meghan McClelland

* Introduction to parallel programming and design patterns

This talk is an introduction to parallel programming and design patterns. It will go over different styles of parallelism and parallel primitives. This is a language agnostic talk with the goal of getting listeners comfortable.
Theory 2016-04-19 06:09:13 +0000
clayton ward

* Introduction to Pytest

Pytest provides a simple and fast way to write testcases for Python based project.
Theory 2016-04-06 17:48:20 +0000
Abhijeet Kasurde

* Introduction to rkt: A secure, modular container engine

CoreOS rkt is a secure, modular execution engine for app containers. It was designed to reflect the lessons of running container cluster infrastructure at scale and is released under the Apache license. Written in Go, rkt implements container isolation through a flexible and interchangeable set of “stages,” providing multiple execution regimes for a container image. At rkt’s core is a command line utility that does not invoke a long-running daemon process, making app container lifecycle management simpler and allowing loosely-coupled integrations with service management and orchestration systems like systemd and Kubernetes.
Theory 2016-04-21 00:34:57 +0000
Josh Wood

* Kafka for the Rubyist

Is your app flooded with incoming data, requiring ever growing herds of unicorns or pumas to keep up? Ever wished your background job queue was more resilient, or that you could choose to reprocess the queue after the fact?
Theory 2016-04-07 16:49:36 +0000
Jason Clark

* Learning HTTP

HTTP is the fabric of the web and the growing API economy. Whether you're building a backend or a frontend application, creating an API, or consuming an API, it’s helpful to understand the basics of HTTP. Topics covered will include HTTP methods, request headers, request URIs, response status codes, response headers, resource representations, authentication, content negotiation, and caching.
Theory 2016-04-14 19:32:46 +0000
Bradley Holt

* Machine Ethics and Emerging Technologies

An autonomous car is driving down a single-lane road carved out of a cliff. Unexpectedly, a child runs in front the car chasing a ball, and trips. The car cannot stop in time to avoid a fatal collision, but it can sacrifice itself and its passenger by driving off the cliff. Should it? And if so, would you buy such a car?
Theory 2016-04-14 07:32:44 +0000
Paul Fenwick

* Machine Learning Algorithms in R - A Deep Dive

As a major benchmark and trend-setter in machine learning and statistics, R, a free and open source statistical computing language, has much to offer to anyone interested in machine learning, statistics, or numerical computing. In this tutorial, I will share with the audience the vast ecosystem around R, and get the listeners started right away with some of the most widely used machine learning algorithms. You don't have to be a statistician or computer scientist to use R - its concise syntax and expressive nature will only make you want to use it more and more for machine learning and other computing tasks!
Theory 2016-04-21 06:58:47 +0000
Helen Jiang

* oVirt - Development of shared storage management system in the virualization world

What is oVirt? Why do we need shared storage management in virtualized environment? How can we manage it safely?
Theory 2016-04-06 13:44:56 +0000
Liron Aravot

* Personalized wellness recommendation using Trusted Analytics Platform

Trusted Analytics Platform (TAP) is an open source software, optimized for performance and security, that accelerates the creation of cloud-native applications driven by Big Data Analytics. This talk aims to demonstrate how the Trusted Analytics Platform can be used to make real-time wellness recommendation using live data from your activity tracker. http://trustedanalytics.github.io/
Theory 2016-04-20 23:46:52 +0000
Anahita Bhiwandiwalla, Fred Magnotta, Jitendra Patil

* Topic modeling with LDA, what, how and why

Non-centroid clustering increasingly is seeing need in data analytics as more complex models arise. Latent Dirichlet Allocation (LDA) is one such solution to a clustering problem known as topic modeling. In this talk we discuss what topic modeling is, why conventional techniques don't yield useful results and how LDA solves this issue.
Theory 2016-04-13 06:20:39 +0000
Lewis Coates

* What Shipping Containers Can Teach Us About Digital Content Standards

Global trade wouldn’t be as efficient without the invention - and standardization - of shipping containers. Standardized containers have globalized our economy across the shipping industry in a way that wouldn’t have been possible otherwise. What can this earlier standardization effort teach us about the tools and systems we’re building today? What are the struggles of our digital age? How are the struggles of shipping goods in 1950s similar to our content struggles now - and how can we move forward?
Theory 2016-04-11 18:07:00 +0000
Kendra Skeene, Nikhil Deshpande