Practice 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

* Real World Docker

Let’s deep dive into how New Relic transformed itself to run on Docker.
Jason Clark

* 5 Years of WordCamps: Growth, Automation, and Lessons Learned

The number of WordCamps (volunteer-organized WordPress conferences) has nearly doubled since 2011. Find out how we’ve improved the WordCamp attendee experience while at the same time improving the experience of our volunteer organizers, through a combination of institutional support and community involvement, plus what problems we hope to solve in the years to come.
Andrea Middleton

* Accessible By Default

Making your website accessible for users with disabilities isn’t flashy, but it’s necessary. Websites built for universal access benefit all users, not just users with a disability. They’re also more SEO friendly, and are generally built to be more user friendly. From generating increased revenue, to providing better access to services, the benefits of developing accessible websites are real and measurable.
Kendra Skeene

* An Introduction to OpenSCAD using Legos

Learn 3D modelling with OpenSCAD through an hands-on tutorial for modelling Legos
Bhaskar Athmanathan

* Behind Closed Doors: Managing Passwords in a Dangerous World

A modern application has a lot of passwords and keys floating around. Encryption keys, database passwords, and API credentials; often typed in to text files and forgotten. Fortunately a new wave of tools are emerging to help manage, update, and audit these secrets. Come learn how to avoid being the next TechCrunch headline.
Noah Kantrowitz

* Black Pipe Testing, or "@#$! Up Your App by Impersonating a Database"

A “black box” test sends input to your program and tests the output. But a networked application has I/O at two ends: the API and the network. A black box test can’t validate it, especially its error-handling. But a “black pipe” test can! Such a test talks to your code over the network at the same time as it tests the API. I’ll present a handy library for Black Pipe tests of MongoDB apps and advise you when to use it. I want you to write a library like it for your favorite DB, so we can all test our programs better!
A. Jesse Jiryu Davis

* Bringing OOP Best Practices to the World of Functional Programming

I transitioned from writing software in imperative, object-oriented (OO) programming languages to doing functional programming (FP) full-time, and you can do it, too! In this talk, I'll make a case for FP in the corporate development environment, cover some cases where common FP language features substitute for design patterns and OOP structure, and provide some examples of translating traditional OO design patterns into functional code.
Elana Hashman

* Building Prototypes in Code to Iterate Faster

Prototypes are problem-solving tools. They help your team pinpoint problems with your product more clearly and earlier in the design and development process. Building your prototype in code has several advantages over wireframes, mockups, paper prototypes, or even InVison prototypes. They easily allow you to iterate through different solutions before you find what works.
Caterina Paun

* Cassandra - an introduction

Built mostly in Java, Cassandra is a powerful open source NoSQL database, based on the model of a partitioned row store. This talk will provide general use cases for Cassandra, explain Cassandra’s architecture and its benefits, feature tools for accessing and administering Cassandra, and demonstrate how to integrate Cassandra with existing Java applications.
Hanneli Tavante

* Clojure setup help for "Introduction to Clojure"

This is an open session for people to get help setting up Clojure to prepare for the "Introduction to Clojure" longform session the next day.
Katherine Fellows

* Demystifying Regular Expressions

Long ago, in the early ages of computerdom, a language was formed from the primordial fires of Tartarus. The language would bind the spells of textual strings and forever control them: The Regular Expression. How about an interactive workshop for acolytes who wish to command this strong magic?
Howard Abrams

* Digging through the logs

Okay, so now it's time for the really fun part: We've removed the duplicate rows from the log, now we need to only show the rows that contain something that *looks like* an IP address. To do this we'll use a search pattern. These patterns are written in Regular Expressions or RegEx. Like so many other tools in Linux they're immensely powerful but either don't work at all or go haywire with a single incorrect character. Let's write one that looks for a cluster of numbers, then a period, then another cluster of numbers.
Toby Fee

* GDB: A Gentle Intro

We love Ruby for its elegance, its simplicity, its flexibility. But our favorite language perches atop a whole world of native code, and that other world occasionally intrudes.
Jason Clark

* Graph Databases WIll Change Your Freakin Life

Most developer have worked with relational DBs like MySQL or PostgreSQL, but for many use cases they aren't the best option. Graph databases have a simpler, more powerful model for handling complex related data. In this talk we'll work with Neo4j to explore the advantages of graph DBs. Attendees will learn the graph model, how graph DBs let you do things that are practically impossible with SQL, and the best options for integrating one into your application -- new or existing.
Ed Finkler

* Introduction to Clojure

Move fast and break things in this 100-minute, introductory-level Clojure workshop!
Katherine Fellows

* Kubernetes 101

So you've containerized your application, and now you want to deploy it scalably across a cluster. Kubernetes is your tool for container service management; learn how to use it.
Josh Berkus

* Less Painful Legacy Code Replacement

Replacing legacy code is a challenge on every front, from managing stakeholder expectations to tackling the technical work. Thoughtful preparation and a pocket full of tools can make the experience a little less painful.
Jennifer Tu

* Let’s build a CI/CD pipeline

An exploration of the cost and value of CI/CD, and a walkthrough of setting up a CI/CD pipeline.
Jean de Klerk

* Little Leaks Sink Your Tests

"The tests pass on my machine." "Wait, it was working a minute ago." "Oh, that test is flaky sometimes." Unpredictable tests are toxic for our productivity. They undermine confidence in our code. They encourage us to wallpaper over the immediate problem, rather than fixing the underlying cause. In this presentation, we'll talk about a chief cause of flaky tests: leaky global state.
Ian Dees

* Make Your First Open Source Contribution on GitHub

Interested in becoming a contributor to open source projects? In this talk, I'm going to show you the technical aspects involved in working with git and GitHub to prepare and submit contributions, and then working with project maintainers to get them merged.
Miguel Grinberg

* Monitoring Asynchronous Applications

The lure of asynchronous programming is that it will make your application run faster and your code simpler to reason about. So we have our wonderfully efficient non-blocking app; how do we check that it's delivering the goods performance wise?
Amy Boyle

* More Than Binary: Inclusive Gender Collection and You

Many people identify their gender in many ways. So why do we build systems to capture accurate gender information with a dropdown that only lists “male” and “female”? This talk covers why you might want to consider alternative ways of selecting gender for your users, a brief overview of the current best practices, the case study of the decisions I made when creating my open source project Gender Amender (a library you can help work on right now!), and why more work needs to be done. I'd also like to facilitate a short discussion during the time slot, so that we can share varied perspectives on how to improve the entire process of gender collection, and articulate the lenses through which we can and should view gender (e.g. “what are some other data structures we could use to capture gender identity information?”).
Anne DeCusatis

* Open sourced tools for Agent Based Modeling

Agent-based modeling is a technique used to explore both complexity and emergence by simulating individual actors and their actions inside of a system. Think of systems such as the traffic in the city or financial markets where one actor can have an effect on the decisions of others until the system’s direction changes its course. During this survey, you will gain an understanding of open source software available in a variety of languages and how to get started quickly.
Jackie Kazil

* Overdoing Microservices: how small is too small?

All the cool kids are doing it, but is it possible to have too much of a good thing? I'll present some thoughts about things you can actually measure to decide if you've gone off the deep end with microservices.
Kevin Scaldeferri

* Python setup help for "Readable Regular Expressions: A Hands-On Workshop"

This is an open session for people to get help setting up Python to prepare for the "Readable Regular Expressions: A Hands-On Workshop" longform session the next day.
Trey Hunner

* Readable Regular Expressions: A Hands-On Workshop

What are regular expressions, what are they useful for, and why are they so hard to read? We'll learn what regular expressions are good for, how to make our own regular expressions, and how to make our regular expressions friendly and readable (yes it's possible... sometimes).
Trey Hunner

* Sparkle security

"Agent Sparkle, you have been recruited as a security expert to use your skills to protect the kingdom of Project Rainbow. You might not feel qualified yet, but Project Rainbow has great faith in your ability to learn." Web security is perhaps one of most fun types of computer security to master: exploits can be constructed quickly and without many tools. But sadly, while there are many tutorials, they simply don't have enough rainbows and sparkles and the practice exploits tend to focus on the basics without flourishes. Project Sparkle is a set of "training missions" designed to make learning web security more kid-friendly, but we think the audience of Open Source Bridge will also enjoy exploiting the web to add more rainbows and sparkles!
Terri Oda

* The Folk Knowledge of Bugzilla

It's good to know if a bug is a regression, and if I want to mark a bug as a regression, there's a keyword for that. (searches on regression keyword.) But there's also a whiteboard tag for that (searches on whiteboard tags containing 'regression'.) Oh dear, and let me unique that out and there's how many ways to say "this is a regression." If you're a release manager, how do you find out what bugs may be regressions and that you want to follow up on with your engineering leads?
Emma Humphries

* Unikernels and Containers: How to Even

Let's talk about what containers and unikernels -- two oft-compared technologies -- even are, how they work, and what problems they solve.
Mindy Preston

* Why you can't afford to miss out on junior developers

What if your next hire could make your team faster, help create a more inclusive and diverse environment, be easy to find, and be super excited to work with you? These people are not unicorns, they're junior developers. Most teams just don't know how to bring them on and get these benefits. Whether you're in a startup, consultancy, or a BigCo, with a few tips and processes, any team can learn how to grow new developers.
Bracken Mosbacker

* Yelling As A Service: Adventures in Unofficial QA

What goes into making a helpful bug report, if you're not even given access to the repository? Why should you, the user, report bugs? How do you navigate a series of gatekeepers who don't want to acknowledge your bugs? How do you maintain a good relationship with people in charge of a project that's screwing up your whole life?
Azure Lunatic

Proposals for this track

* An Insight about GlusterFS and it’s Enforcement Techniques

In this talk, we discuss the internal working of the translators and key architectural components of GlusterFS. Along with that, one can gain a deep insight about the enforcement techniques, few challenges, the current state of GlusterFS, undergoing researches and look forward to how the Gluster community may address those challenges.
Practice 2016-03-18 06:45:10 +0000
Manikandan Selvaganesh

* Automatic model selection and parameter selection with 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 address two very common questions arising in data science– ‘Which model best fits my data?’ and ‘How do I find the optimal parameters for my models?’
Practice 2016-04-20 18:35:09 +0000
Anahita Bhiwandiwalla

* Becoming a Web Developer

The web is ubiquitous, having beaten out a litany of competing technologies, and many “native applications” rely on web-based back-ends. From desktop to mobile, to watches, virtual reality headsets, and cars -- the web is a core set of technologies with vast reach. This makes familiarity with web technology a valuable asset for many, many people. Whether you’re a software engineer, marketer, project manager, junior web developer, or student -- you will leave this session with the forest, the trees, and a compass for navigating all of it.
Practice 2016-04-11 01:03:54 +0000
Josh Simmons

* Building community with Twitter chats

The team building community around a book called The Open Organization wanted to see how social media could enhance our efforts. We investigated and successfully used Twitter chats as a way to continue conversation and dialog around what it means to be an open leader. Now it's time to share what we've learned so you can do the same thing for your community.
Practice 2016-03-18 22:14:24 +0000
Jason Hibbets

* Building Immutably to Continuous Delivery with Minimal Inputs

This workshop focuses on building a continuously delivered pipeline using Node.js (however easily transferable to Ruby/Rails/Java/Scala/.NET etc.).
Practice 2016-04-12 19:30:38 +0000
Adron Hall

* Data-Driven Deaccession: The WeedingHelper Script

Figuring out what to keep and what to get rid of is an important task for librarians, and the armada of statistics kept is supposed to help. Getting things to mesh just right, however, sometimes requires custom code. I'll show you my solution (in Ruby) and the reasons why I created it.
Practice 2016-03-15 19:30:57 +0000
Alex Byrne

* Deploy with Devopracy Event Cloud!

This is a hands on workshop where you can bring your laptop and learn how to deploy an application to the event cloud. Bring your own app, or deploy an open source civic engagement application from a supported collection. The tooling is Packer, Terraform, and Chef Zero with a CLI in Ruby. If you know the steps to get your code running on a server, we'll show you how to go to cloud with bootscripts and custom resources available.
Practice 2016-04-21 06:36:14 +0000
Ele Mooney

* Designing and Writing Secure Software

Attackers only need to be right once, but developers have to be right all the time. Secure software development practices are essential.
Practice 2016-04-13 23:34:56 +0000
Aaron Jensen

* Diving into distributed microservices architecture with Kubernetes on AWS and GCE

When designing a reliable solution with lots of moving parts, it's important to look not just into code but in-between code - more at the integration parts of the overall system. In this intense talk you will learn about the variety of real-world important aspects to take into account architecting a flexible microservices based solution. Some of the valuable aspects are environment choices, infrastructure planning, preparation and automation, separation of solution parts into independently deployable services, service discovery, replication, resiliency and many more. You will explore into the practical architecture of Kubernetes, see how to create and configure Kubernetes cluster on AWS and GCE, create and prepare containerized services to be deployed into the cluster.
Practice 2016-04-19 18:25:34 +0000
Alena Hall

* Domain-Driven Data

There are many types of open source databases and data analysis tools from which to choose today. Should you use a relational database? How about a key-value store? Maybe a document database? Or is a graph database the right fit for your project? What about polyglot persistence? Help!
Practice 2016-04-13 22:03:19 +0000
Bradley Holt

* Exploring Functional Programming Through Games

How do you decide whether a new programming paradigm is worth learning or not? I ask myself a simple question: can I use it to make games in a simple way? Learning by playing is super fun. Allow me to take you on a thrilling journey to explore functional programming through JavaScript games. Let us dive deep into functional features that will help us approach complex problems from new directions and write bulletproof code.
Practice 2016-04-09 00:04:06 +0000
Khalid A

* From Mobile First to Offline First

It's all too easy assume that your web or mobile app will run on a fast and reliable network with great coverage. The reality for your app's users, though, is often a slow and unreliable network with spotty coverage. What happens when the network doesn't work, or when the device is in airplane mode? You get unhappy, frustrated users. Building on the principles of mobile first, offline first is an approach to application design in which a web, mobile, desktop, or Internet of Things (IoT) application is built for offline usage first and is then progressively enhanced to take advantage of network connectivity when available.
Practice 2016-04-14 19:20:48 +0000
Bradley Holt

* Full Auto Database

Why pay for always-on relational database service when you can deploy it yourself so easily? This demo-heavy talk will show off a deceptively simple high availability stack for PostgreSQL, using Docker, Etcd, Kubernetes, Patroni and Atomic.
Practice 2016-04-20 20:08:33 +0000
Josh Berkus

* How to build community the open source way

Go behind the scenes at to learn how we are building a community and creating the world's premier open source story telling platform.
Practice 2016-03-18 22:21:57 +0000
Jason Hibbets

* Introducing Apache CouchDB 2.0

Apache CouchDB is a document database featuring an HTTP API, JSON documents, and peer-to-peer replication. Take a tour of the upcoming features and improvements in Apache CouchDB 2.0 including clustering capabilities for horizontal scalability and a declarative MongoDB-style ad hoc querying system. This talk should be of interest to you whether you're new to Apache CouchDB or an experienced Apache CouchDB developer.
Practice 2016-04-14 19:26:46 +0000
Bradley Holt

* Lossless Emoji - Doing Emoji Right

Learn how difficult it can be to do emoji right and what you can do to preserve the message and emotions of your users. If you take user input, you owe it to the internet to attend this talk.
Practice 2016-04-13 07:21:09 +0000
Ryan Kennedy

* Mastering Cassandra on Docker with F#

"A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable" (c) Leslie. As an end goal of the talk, we will create the Cassandra database cluster on Docker from scratch and build a cross platform solution to interact with it. To do that we should do a few things first: Understand what is Cassandra and why in the world we need it Talk about the data model for the demo I will show you how to create a Cassandra cluster (which will consist of 3 nodes, for speed of the talk) And how to create it fast and modular, that’s why we will use Docker ...
Practice 2016-03-16 21:54:17 +0000
Alena Hall

* Metaprogramming in Metarepositories

OSBridge is one of the best conferences I know to hobnob with talent in DevOps, Systems, and Infrastructure. This is an advanced talk on development environments for distributed systems programming. Let's get down with git, and automate all the things.
Practice 2016-04-21 06:11:15 +0000
Ele Mooney

* Open source all the cities

Open source has transformed software development, now it's starting to change other parts of the world we live in. Not only is open source transforming our businesses and education systems, it's a key component to changing citizen participation in government. Creating a better citizen experience starts with the open source way. You'll learn about the five principles of an open source city and hear stories that take you from civic hacking to a government-focused unconference called CityCamp.
Practice 2016-03-18 22:09:03 +0000
Jason Hibbets

* Open source GIS smackdown

We'll run a few of the popular open source GIS software apps through some head to head exercises to see which ones can do what needs to be done.
Practice 2016-04-21 05:12:26 +0000
david percy

* Open-source testing automation with Gauge

Learn how to do test automation for your applications in a cool way using Gauge, an open-source tool from ThoughtWorks.
Practice 2016-03-21 10:34:09 +0000
Kaustav Das Modak

* Lightning Talks is excited to host a lightning-fast hour at Open Source Bridge.
Practice 2016-04-06 21:13:03 +0000
Jason Hibbets

* Our daily graphs with Neo4j

Have you ever noticed that many situations could it be expressed with a graph? Graphs are not only a boring subject into College, they can be really useful in many situations. This talk will show you some graph modelling with a nice graph database written mostly in Java: Neo4j. Through examples, we will see a little bit about graph theory, a quick introduction to Neo4j architecture, a handful tool called Cypher, non-trivial modelling and use cases.
Practice 2016-04-16 17:23:33 +0000
Hanneli Tavante

* Peeking into Ruby: Tracing Running Code

Your Ruby app is in production, but something isn’t quite right. It worked locally, it passed CI… why’s the running app acting weird?
Practice 2016-04-07 16:46:30 +0000
Jason Clark

* Python Performance Profiling: The Guts And The Glory

Your Python program is too slow, and you need to optimize it. Where do you start? With the right tools, you can optimize your code where it counts. With the Python profiler “Yappi” we’ll learn how to find the maximum performance wins with minimum effort.
Practice 2016-04-17 17:54:28 +0000
A. Jesse Jiryu Davis

* Rivet: Database Migrations for SQL Server

Do you remember how awesome it was to use Ruby on Rails' database migrations?
Practice 2016-04-13 21:52:09 +0000
Aaron Jensen

* Surviving survival analysis with Apache Spark

Learn about survival analysis in Apache Spark and some questions it can help answer. For instance, what proportion of individuals can be affected by a phenomenon, at what rate will they be affected, how certain events affect the probability of survival.
Practice 2016-04-20 18:52:59 +0000
Anahita Bhiwandiwalla

* Technical writing as public service: working on open source in government

What if U.S. federal agencies decided to reuse and contribute to open source software projects built by other agencies, since agencies often have similar technology problems to solve? And what if they hired technical writers with open source community experience to write documentation for these projects? That would be pretty cool. Also, that’s my work. I'm part of 18F, a digital services consulting team within and for the federal government, and all of our work is open source.
Practice 2016-04-06 00:21:15 +0000
Britta Gustafson

* Testing - Best Practices in Open Souce World

1. How to contribute in improving quality of open source software 2. Get inspiration how to create test harness for your application 3. How to alter your software development model to produce bug-free code. 4. Altering your development model to match SW quality standards. 5. Study the technology, know the feature well and use your experience 6. Know the point when it is time to report a bug 7. How to troubleshoot the issues.
Practice 2016-04-01 09:56:30 +0000
Amita Sharma

* The JSON-Driven Schema

Learn how to use Postgres to explore a JSON data set.
Practice 2016-04-12 16:58:07 +0000
Jason Owen

* The open source GIS stack

The Open Source Geospatial Foundation (OSGeo) has a stable of applications and technologies to make your mapping effective and fun. We'll explore some of the most popular apps.
Practice 2016-04-21 05:06:50 +0000
david percy

* The Wikipedia Asian Month: how we collaborated our way to one of the biggest online Wikipedia edit-a-thons ever

In November 2015, Wikimedia communities across Asia and the world set off on what would become one of the biggest online Wikipedia edit-a-thons ever: the Wikipedia Asian Month (WAM). Managing such a huge project though, especially with people from all over the world participating, is a big challenge. This presentation looks at how we did it, what we're doing now, and how your collaboration, online project or community can benefit from our experiences.
Practice 2016-04-13 09:19:30 +0000
Josh Lim

* Twitter Bots for Community Building! (or How Do You Know When Someone Wants to go Vegan? Don't Worry, They'll Tweet About It)

I built my first Twitter bot in Node js to help automate a task: giving advice to people interested in being vegan. Simple enough! But even simple bots require love, maintenance, and moderation, to keep them useful, and more importantly, positive! How do you design and code a bot to engage with people in a way that maximizes positive interactions, and minimizes negative ones? I'll tell you what I did.
Practice 2016-04-21 05:28:38 +0000
Andrew Gardner

* When Harry Met Iannis 2016

Iannis Xenakis passed away on February 4, 2001. When he arrived in Heaven, he sought out his mentor, Olivier Messiaen. Messiaen said, “Iannis, there’s someone here I want you to meet.” The two walked over to a small sidewalk cafe, and there sat Harry Partch. And so from this fanciful meeting in Heaven, “When Harry Met Iannis” was born. Now I'm not a carpenter like Partch was, and I don't have access to conductors or orchestras like Xenakis did, so I'll have to synthesize instruments and performers. The software that makes this possible is an open-source language called ChucK. I'll talk a bit about the Partch music theory, Xenakis' use of game theory and the ChucK language. But mostly, this talk is about the music and not the tools that made it. And you'll be the first to hear "When Harry Met Iannis 2016" in its entirety.
Practice 2016-03-15 03:35:20 +0000
M. Edward (Ed) Borasky

* Why you ought to have 100% test coverage

Many people say that achieving and maintaining 100% test coverage is too hard, too time consuming, or too fragile. But I'll argue that whether you consider yourself a craftsman or an engineer, you shouldn't accept anything less.
Practice 2016-04-21 01:51:52 +0000
Kevin Scaldeferri