Open Source Bridge 2016 sessions

Open Source Bridge will take place June 21–24, 2016 in Portland, Oregon.

Sort by: Title, Track, Scheduled time
Tuesday, June 21 - 09:00 AM

* Free Culture in an Expensive World

Money is a common worry, inside the open source community and out, but we often feel uncomfortable discussing it. We’ll talk about why that is and how our social norms around money impact who participates in open source and how they do so. The heart of this talk will be a series of case studies based on interviews with community members covering various economic models for open source, including worker co-ops, grant-funded and academic projects, for-profit business models, crowdfunding campaigns, and all-volunteer projects. We’ll explore the sustainability of each model as well as how they deal with the social pressures outlined in the first part of the talk.
Shauna Gordon-McKeon
Tuesday, June 21 - 10:00 AM

* 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

* 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.
Jon Pincus, Tammarrian Rogers

* 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.
Timothy Morgan

* Brooks Law & Open Source: Is Community-Driven Software Doomed?

One measure of health in open source projects is a growing contributor community. In 1975, Fred Brooks published The Mythical Man-Month, in which he noted that adding manpower to projects slows the release of software. If Brooks’ Law holds true, are growing open source projects doomed to fail? Or can we reconcile the ideas that more contributors are both beneficial and detrimental?
Jason Yee

* 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

* 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
Tuesday, June 21 - 11:00 AM

* What We Talk About When We Talk About Code

Programming and open source have plenty of specific jargon to learn. How do we make sure we're not pushing away contributors with it?
Zoe Landon

* 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.
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.
Leah Hanson

* Free Everything: Hacking Content Liberation

Large commercial websites rely on the "network effect" to keep users from exploring alternatives. Putting contributions under an open license can break this effect. This talk will explore hacks to give users control over the content they contribute to commercial websites.
Erik Moeller
Tuesday, June 21 - 01:30 PM

* Real World Docker

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

* Open Source and Diabetes: Helping Millions

This talk will cover the fascinating things happening in the open source diabetes tech (D Tech) space (think the Glucosio Project and Nightscout Project) and will emphasize the importance of open source in improving the health outcomes of people with diabetes.
Benjamin Kerensa

* 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

* What can the open source software of today learn from the history of software documentation?

In the early years of easily distributable software, technical writers and the documentation that they produced were a crucial part of the software development process. Why? What kinds of contributions did they make, and what might their close cooperation with the programmers of their day teach us about how to manage open source projects better today?
Jennifer Rondeau

* 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

* 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
Tuesday, June 21 - 02:30 PM

* 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

* Open Hardware Roadmap: From Here to Open Consumer Electronics

Open hardware is just getting off the ground. What is the path from where we are today to a world in which open hardware is as ubiquitous as open software? This talk lays out a roadmap, recounts the milestones already achieved, describes the milestones that are within sight, and predicts the milestones yet to come.
Joshua Lifton

* Unraveling the Masculinization of Technology

Have you ever wondered where the perception that technology is a masculine pursuit comes from? Or why we have to explain that, "no really, women are interested in computers too"?
Audrey Eschright

* 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

* 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

* Open Source is Key for Innovating Pedagogy and Curricula

This talk will discuss how a closed loop in education—across all grade levels and disciplines—contributes to the stagnation of a profession and how an open source approach and platform is necessary to break the inward cycle of our current pedagogy. It will also show examples of collaboration in the creation of curricula leading to the generation of new, innovative pedagogy and review current methods for educators to open source and call for new methods and platforms to aid educators.
Gary Rozanc
Tuesday, June 21 - 03:45 PM

* Finding funding for an open source based business

Ever had an open source project and wanted to figure out how to get funding for it? In this talk we'll discuss different funding methods, what angel's look for in open source companies, and potential funding options in Portland.
Meghan McClelland

* Welcoming Communities

A lot of people enjoy contributing to Open Source projects. And Open Source projects love contributions. And yet I keep seeing newcomers struggling to contribute and project maintainers struggling to find contributors. What’s the catch? There is a gap. A gap between the desire to contribute to a community and the ability to find one. A gap between what contributions are welcome, and what people think is wanted. A gap between what people wish they could contribute, but don’t know how, or are afraid to try. In this talk, I’ll share our learning from building the Hoodie Community, which is recognized as one of the most Open Source’s most diverse and inclusive.
Gregor Martynus

* An Introduction to OpenSCAD using Legos

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

* 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

* 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

* Librarians and Open Source: We Need Code, Too!

Getting people started is easy. Sustaining people through is not. Let's talk about the ways the Open Source community can help people beyond the beginning steps, in the context of public library programming and staff development.
Alex Byrne
Tuesday, June 21 - 04:45 PM

* 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

* 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.
Hanneli Tavante

* Free Culture, Free Software

I gave a similar talk at LibrePlanet 2015 and would like to reprise it with updated information on the current state of FOSS for Cultural Heritage. I'd like to discuss how to get involved with FOSS projects that are related to the Cultural Heritage space and what kinds of projects currently exist. I'll end the session by talking about what kinds of projects could and should exist as well as community building and awareness in FOSS for Cultural Heritage Organizations.
Jennie Rose Halperin

* The Rise of Emoji

Emoji is taking over the Web! We will look at how the phenomenon of Emoji has taken the Web by storm, explore how people are using Emoji on their favorite platforms and implications. We will also examine how these online platforms are benefiting from Emoji.
Alolita Sharma

* 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
Tuesday, June 21 - 05:45 PM

* 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

* Great Asana!

Bring your stiff shoulders, sore wrists, tight hips, aching back, and busy mind and explore how Yoga can help bring you relief, rest, and focus. Leave with ideas on how to incorporate 5 minutes of practice into your busy day to care for your body and mind. This class is accessible to all levels of ability.
Sherri Koehler

* 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
Wednesday, June 22 - 09:00 AM

* Exploring Mental Illness With Open Source

Julia Nguyen leads if me, an app to share mental health experiences with loved ones. In doing so, she has explored her insecurities with mental illness, learned how to engage diverse contributors, and developed better software practices with Ruby on Rails and JavaScript. She’ll share the lessons she has learned from transforming a passion project into an open source project. Inclusion takes on many forms in an open source project, including supporting contributors from all types of backgrounds, being empathetic to their project goals, and trusting them to take lead. As a mental health project, if me must also accommodate its contributors who face their own mental health challenges. All open source projects should do the same. Managing people is just as important as managing technical contributions in software.
Julia Nguyen
Wednesday, June 22 - 10:00 AM

* 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.
Serge Domkowski

* Cat Herding 101: Best Practices for Fostering an Engaged and Effective Online Community

Depending on what sector we come from, the words “community organizing/management” might invoke images of canvassing with flyers and clipboards or moderating online forums and high-fiving code contributors. Regardless, when we coordinate volunteers, email program participants, and chat with community members via social media, we are ultimately organizing and developing community. Whether your supporters are contributing content, volunteering, participating in forum discussions, or engaging on social media, you can play an important community management role.
Bethany Lister

* Supporting your Support: Give your Support Team Flowers, Chocolate, Money, and Stock Options

How to support your support team 1. Pay your support staff a living wage. There are many reasons why you should pay your support staff a living wage, including reduced stress and higher quality work. We don’t expect support staff to be paid on par with engineering, but they should receive the same benefits & perks as engineers. 2. Listen to your support team. Your support team has valuable, data-backed insights about your customers’ pain points. Prioritize support needs in terms of product improvements. 3. Support your colleagues’ career ambitions. Some people who work in support are interested in becoming engineers. You can encourage this by giving them time to learn coding or work on projects during work hours, or paying for educational materials or tech conferences. Respect the fact that not everyone wants to be an engineer as well. Support should be a viable career path in its own right.
Kiera Manion-Fischer, Stephanie Snopek

* A Domain Specific Query Language Engine

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

* Introduction to Clojure

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

* Building a Life with WordPress

If you're dying to stick it to the man, or just looking to make extra money on the side, this talk is for you. We'll explore ways you can leverage the most popular CMS on the planet to start or grow an online business.
Kronda Adair
Wednesday, June 22 - 11:00 AM

* 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.
Aaron Parecki

* Take back social media with Poodle

Social media has tremendous power to enrich our lives - but social media services are largely controlled by private companies. An alternative is to replace centralized services with federated protocols. HTTP and email are examples of federated protocols that demonstrate that federation not only works, but can thrive and give rise to cultures and technologies that the protocol authors never imagined. Poodle is a prototype that I hope will bring those qualities to social media.
Jesse Hallett

* Magic, Spontaneity or Planning: Different Approaches to Building an Open Source Foundation

Open Source Foundations start in a variety of ways. Often they begin organically to fill a need after a person or small group aims to "scratch an itch" and then needs an organization behind it. Some of these organizations can appear to happen out of nowhere. Other organizations are birthed from careful planning and intentional formation. There are still others that are a combination of the two. Different methods can create powerful impact, but some of the challenges are different. This talk with compare and contrast the ways foundations are formed and the advantages of different approaches.
Kate Chapman

* 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.
Kevin Scaldeferri
Wednesday, June 22 - 01:30 PM

* Open Source is People

For those who want to do more than just code, this talk will show you 8 ways I have contributed without opening up Vim once.
Justin Dorfman

* 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

* 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

* Taking no for an answer

Open source (like many fields) rewards people who are confident and even a bit pushy. So we give talks encouraging folk to get over imposter syndrome, lean in, say yes to more things. But self-improvement shouldn't focus only on our most vulnerable members, but also our most powerful. So let's talk not about saying yes, but about hearing no. Learning to take no for an answer can transform efforts such as security, diversity and mentoring where we have few experts or volunteers and great need. Let's talk about accepting "defeat" with grace, and how to take "no" for an answer while still moving forwards.
Terri Oda

* Pulling up Your Legacy App by its Bootstraps!

Your mission, should you choose to accept it, is to support an application built on an older framework. What would you do if changing the code broke everything? The application functionality is too large to be replaced in one release. What can you do? You can bootstrap it, replacing the application in sections as time allows. When all functionality is replaced, you can put your new codebase into a newer framework or a standalone application.
Emily Stamey

* 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.
Brian Shirai
Wednesday, June 22 - 02:30 PM

* 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.
Tiberius Hefflin

* 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

* A programmers guide to Music.

Imagine a place where Ruby meets Music, its called MAGIC LAND. Music is not a lot different from programming. In this talk we will see how. I will talk about this amazing piece of open-source software called SonicPi. SonicPi is a new kind of musical instrument. Think about it, you write code to make music. And it gets even better, code is written in a ruby DSL. Also I will talk about notes, samples, synth and other musical things SonicPi lets us do it. Don't worry if do not get these terms. When I started, I did not either. But at the end of the talk, you will know how to make music.
Rishi Jain

* 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.
Jennifer Rondeau

* Awesome Commandline Tools

A showcase of beautifully crafted command line tools and some tips and tricks that make them so great.
Amjith Ramanujam
Wednesday, June 22 - 03:45 PM

* Build your own spamtrap: How to make a spam IP blacklist in 45 minutes

I show how to use Postfix, PowerDNS, Spamassassin, and Python/Flask to trap spam sent to your whole organization (and why you would want such a thing).
Andy Schmitt

* 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!
Shraya Ramani, Kyle Erf

* Towards an Ethics of Care: Understanding and Acknowledging Care Work in Technology Companies

This talk explores dimensions of care work and best practices for acknowledging and understanding care work in technology teams, and makes the business case for considering all involved with building and maintaining technologies in strategy and planning. I explore ways in which to track the hidden costs of care work, and build a discourse of sustainability and inclusion around care work in technology companies.
Amelia Abreu

* 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.
Clarissa Littler

* Sustainable Career Development: Advancing While Still Having Free Time

In this talk, we'll examine the pressure in the tech industry to participate in work-related extracurriculars like side projects and meetups. We'll analyze where these expectations come from, what they're actually getting at, and talk about ideas for progressing in our careers without losing sight of the things in life that make us happy outside of work.
Noelle Daley
Wednesday, June 22 - 04:45 PM

* User-centered open source projects

Open-source projects often struggle with finding contributors and getting off of the ground. Lessons learned all point to putting the user first.
Jackie Kazil

* 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.
Bryan Hughes

* 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.
Dana Scheider

* Hard Problems in Terms of Service Enforcement

When you run an online service, you always hope you won't have to deal with abuse. But it's inevitable, and many situations aren't clear-cut as you might wish. Some examples of abuse are obvious, but this talk explores the grey areas and messy questions: what content should you consider a violation of your Terms of Service, and how do you handle it when it's reported to you?
Denise Paolucci

* 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
Wednesday, June 22 - 05:45 PM

* Geek Choir

In this session, we explore ways to improve team cohesion, cooperation, and presence for each other through connecting via song.
Michael Alan Brewer

* Documentaries, Accessibility, and Open Culture

I've been making a documentary film about accessibility for almost a year now. What I've realized is that film is fundamentally hard to access. Let's talk about what that means for culture, creators, and consumers.
Chris Higgins
Thursday, June 23 - 09:00 AM

* Creating a Third Wave of Free/Open Source Software

The free/open source software movement is over thirty years old, and has gone through a number of changes in that time, spawning projects large and small (including OpenConferenceWare, which runs this site!). If Free Software is the first generation, and Open Source is the second, current efforts toward creating an inclusive and sustainable world make up a third generation that we can start to form into a broader plan.
Audrey Eschright
Thursday, June 23 - 10:00 AM

* The Politics of Cooption in Open Source and Free Software

The Open Source and Free Software community is no longer simply a patchwork of hobbyist communities. Our change and growth brought many advantages, but some disadvantages too. We now operate in a microcosm not unlike the larger USA and international political climates. Hear the story of how it operates from an political insider.
Bradley Kuhn

* 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

* 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

* The Key Of Chaos

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

* Exit Condition: when to ragequit, raise hell, or duck and cover

If you're caught in a job or a project where you simply can't convince your colleagues or organization to treat you with respect, it often feels like you're in a maze with no clear way out. (Un)fortunately, you're not alone. There's no universal solution to navigating a toxic or abusive workplace, but there's power in finding a theoretical context, sharing our stories, and learning from each other. Come learn about the options of voice, loyalty, and exit, and hear the stories of others who have had to make hard choices.
Frances Hocutt
Thursday, June 23 - 11:00 AM

* Working Around a Project with Twenty Years of Precedents

How do you deal with a free software project that has been ongoing for many years? What happens when the original designers moved on long ago and even the elders don’t have all the answers? This session will examine how to work with existing precedents to drive evolution of the project.
Darrick Wong

* Turning Sensors into Signals: Humanizing IoT with Old Smartphones and the Web

People are already tired of the over-promise of IoT - the slew of marginally useful products, the overly confusing and crowded developer space, and endless examples of how to turn an LED on and off. Take a break, step back from the crowd, and come learn how to solve real human problems with that old phone that's collecting dust on your shelf.
Rabimba Karanjai

* 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!
M. Edward (Ed) Borasky
Thursday, June 23 - 01:30 PM

* 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

* 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

* 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.
Carl Hall

* 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 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.
Nick McClure

* How NOT to run your organization into the ground: lessons from Wikimedia Philippines for open source

Running a tech non-profit, especially in open source, is a lot of work. So much work, in fact, that in my six years as part of Wikimedia Philippines, I will admit to one of my biggest secrets: I have run my organization into the ground. Luckily for us, however, we've been really fortunate to be able to rebuild the organization from the ground up. Here's some of the lessons we've learned over the course of that process, and how you can avoid making the mistakes we made as you either form or build your own organization.
Josh Lim
Thursday, June 23 - 02:30 PM

* Hogwarts is a Terrible Learning Environment: Discuss

Like many young Muggles of the early 00's, I dreamed of receiving my Hogwarts letter. But re-reading the series with an eye toward learning lessons about creating a positive learning environment, it's clear that Hogwarts School of Witchcraft and Wizardry contains some unfortunate lessons in what NOT to do. When it comes to crafting an environment that encourages asking questions, fosters cooperation, and ensuring the success of its developers -- I mean, wizards -- we can learn a lot from the mistakes of the Hogwarts faculty. In this magical talk, you'll learn how to be a better mentor and help your workplace become a place where your junior developers can flourish.
Lacey Williams Henschel

* Corporate Open Source Fail

What makes companies with good intentions fail so miserably at open source? How can we (as engineers and managers) influence our bosses to "do the right thing"?
Sarah Sharp

* 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

* Generations of Open Source and what to do about it

Open source has moved from experimental to mainstream in the past 10 years, but has definitely changed the landscape in the last 15 years. Because of that, we have a few generations of people within the broader ecosystem, and they probably have no idea that all of these communities exist, much less the fact that there's a whole ocean of a open source technology industry out there.
Amye Scavarda

* The Ability to Disable: Who Did You Forget When You Designed Your UI?

While the increased use of technology has in some ways improved the lives of those with disabilities, there is a gap that still needs to be filled. Uncaptioned or poorly captioned videos leave the deaf and hard of hearing community out of the loop, untagged photos leave blind users unaware of integral information, and poorly coded webpages are too much of a hassle for individuals using screen readers. But what if this was this was different? What if we thought about all of the potential users of our technology and developed programs intentionally allowing access for everyone? How could we make a programmer’s work truly inclusive, truly open to everyone? Experiential learning often provides those ‘a ha!’ moments, so together we’ll enjoy some mis-captioned videos, have a ‘listen-along’ to what a screen reader sounds like when a page is not coded correctly, and take a look at the end users’ experience when software is not programmed with a disabled audience in mind. Then, we’ll talk about what we can do to improve the current offerings and answer, “what next?”
Rebecca Jennings

* 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.
Hannes Hapke, Cole Howard
Thursday, June 23 - 03:45 PM

* 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.
John Feminella

* Dodge Disasters and March to Triumph as a Mentor

Good engineers write good code, but the best engineers raise the skills of their junior colleagues, too. If you're a senior engineer, you must learn to mentor new hires. Besides, great mentors are critical to the careers of women and minorities in tech. I have failed at mentoring, then succeeded. Learn from me and march to mentorship triumph.
A. Jesse Jiryu Davis

* 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

* 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

* Accidental Developer Evangelism

Learn how to organize community events and share your ideas with the open-source community AFK!
Katherine Fellows

* Enabling Open Source Contributors at Puppet

As open source software developers and community maintainers, fostering an inclusive community and giving contributors the tools they need to succeed is incredibly important, but not always easy. This is especially true when you have a complex distributed codebase and contributors without a background in software development. Through our attempts to enable our contributors we’ve encountered many challenges and iterated on many solutions with varying levels of success. Our hope is that by sharing the stories of our successes and failures, as well as the lessons we learned, we can help other community maintainers lower the barrier to entry for contributors.
Hailee Kenney, Morgan Rhodes
Thursday, June 23 - 04:45 PM

* 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.
Julio Barros

* 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."
Josh Berkus

* Wiping Away the (Bad) Lines in the Sand in the Software Developer Community

Think of a shibboleth as a proverbial line in the sand that determines who belongs and who is an outsider. There are a lot of arbitrary shibboleths in programming. Text editors (emacs vs. vim vs. sublime), paradigms (object-oriented vs. functional), languages (everyone vs Java), type systems, are all topics of… to put it lightly, “vigorous conversation.” In set theory terms, the developer community does not do enough to encourage seeing different developer groups as unions instead of intersections. To a newcomer, this situation sets up too much of a danger of alienation. If someone makes fun of the language that you use to learn how to code, then you’re less likely to want to keep learning.
Wale O.

* Open source on Georgia's mind

The state of Georgia runs its web publishing platform using Drupal. This was the first open source implementation handled by any state at an enterprise level. Within a period of one year, the state needed to build a Drupal based platform and migrate 55 websites with new interface designs. This talk addresses the costs benefits Georgia saved by implementing open source and showcases some of the challenges and wins the state experienced while moving to open source.
Nikhil Deshpande

* Postcards from the Edge Case: When One Size Doesn't Fit All

For every average person that finds your product what they want, there is a person outside that average that wants to use your product. They might even be able to use your product, if there was a way to make it work for them. Outliers are useful for your design, if you harness them properly.
Alex Byrne

* 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_.
John Feminella
Thursday, June 23 - 05:45 PM

* Hardware Hula Hoops and Flow

In psychology flow is the honed in energized focus you get when performing tasks that are challenging that can be experienced in hula hooping and programming.
Lindsey Bieda