B304

Sessions for this room

Tuesday, June 21 - 10:00 AM

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

* 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.
Hacks
Erik Moeller
Tuesday, June 21 - 01:30 PM

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

* 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.
Culture
Gary Rozanc
Tuesday, June 21 - 03:45 PM

* An Introduction to OpenSCAD using Legos

Learn 3D modelling with OpenSCAD through an hands-on tutorial for modelling Legos
Practice
Bhaskar Athmanathan
Wednesday, June 22 - 10:00 AM

* A Domain Specific Query Language Engine

This presentation is about the shortest line between a database and data exploration.
Theory
Joe Meyer
Wednesday, June 22 - 11:00 AM

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

* 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
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.
Theory
Tiberius Hefflin
Wednesday, June 22 - 03:45 PM

* 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
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.
Culture
Jackie Kazil
Thursday, June 23 - 10:00 AM

* 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.
Practice
Josh Berkus
Thursday, June 23 - 11:00 AM

* 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
Thursday, June 23 - 01:30 PM

* 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
Thursday, June 23 - 02:30 PM

* 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.
Business
Amye Scavarda
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.
Theory
John Feminella
Thursday, June 23 - 04:45 PM

* 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