Amy Boyle's favorites

Open Source Bridge 2016

Favorite sessions for this user

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.

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!

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.

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?

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.

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.

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.

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

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.

Favorite proposals for this user

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.

Despite all the attention and buzz, Machine learning(ML) is woefully overlooked in the community of free and open source technology. In this presentation, I will examine the still prevalent proprietary legacy of ML, introduce the current open source stack of ML development and applications, and evaluate new proprietary attempts entering ML. Then, I will share with you the strategy recipes that we may need, in a battle to keep the booming field of ML free and open source.

What can you do when someone submits a bad patch to your project? To begin, we have to understand why people hunger to contribute code: they're fans. You hurt fans' feelings when you reject their patches, but you hurt your project if you accept them. You can get out of this bind! Give your fans other ways to be recognized. Showcase their plugins in your project’s wiki, or rewrite their patches while giving them credit, or feature their related projects on your site.

Open Source Bridge 2015

Favorite sessions for this user

When our code is slow, performance gains can often difficult to obtain. Our ideas of where to focus our attention are often wrong. pprof has become my go to tool, and it's easy to see why. Together we'll learn how to understand pprof's output to help us zero in on the parts of our code that need the most love.

We all know about Twitter and IRC bots, but with about 4/5 of people worldwide without smartphones SMS has the potential to reach those left behind the digital divide. We will discuss the various methods for developing an SMS bot, the legal and ethical implications of doing so, and we will build an SMS bot live.

With high profile breaches in open source projects, the issue of security has become one of great import to many people. But many projects, especially smaller ones, are intimidated by the idea of a security audit. This talk will discuss ways for smaller projects to experiment, learn, and even have fun improving their security. No PhDs in security required!

DNA testing has become the "gold standard" of forensics, but linking an item of evidence to a person of interest isn't always clear cut. New open source tools allow DNA analysts to give statistical weight to evidentiary profiles that were previously unusable, letting juries weigh the evidence for themselves. This talk will discuss my lab's validation and implementation of the Lab Retriever software package for probabilistic genotyping.

At MongoDB we write open source database drivers in ten programming languages. Ideally, all behave the same. We also help developers in the MongoDB community replicate our libraries’ behavior in even more (and more exotic) languages. How can we herd these cats along the same track? For years we failed, but we’ve recently gained momentum on standardizing our libraries. Testable, machine-readable specs prove which code conforms and which does not.

As web developers we see a variety of tools evolve every year that all claim to be the future of web development, but few people are as excited to explore the past. In this talk we’ll trace the lineage of the contemporary web landscape back to the advent of the DOM and the first browser javascript API. In doing so we hope to illuminate an often overlooked historical perspective on web development and explain why frameworks like React and Angular came into existence and why today is an exciting time to be working with the browser.

Dogfooding—using your own products—is nice, but is it sufficient to produce good design for people who aren’t you? Our familiarity with our projects and their quirks makes us poor substitutes for users in the wild. So just who are these users, and how do you incorporate them into design and development?
In this workshop, we'll explore user experience design and research strategies that will help you design for people who aren’t you.

Want to make a static site or blog, but not sure where to start? Tired of using Wordpress and looking for something better? This talk will get into the nitty-gritty details of how Jekyll and Pelican -- two popular static site generators -- work, and explain how to choose which is best for your project. Using examples you can clone from github, we'll cover the pros and cons of both SSGs, discuss things that neither does well, and give you a better idea of how to get your site up and running (with an open source tool!).

Let’s talk about the work we want to do, the work we have to do, and how we might create systems that don’t continue to force bad choices between building community, technical work, and diversity activism.

Our personal identity is core to how we perceive ourselves and wish to be seen. All too often, however, applications, databases, and user interfaces are not designed to fully support the diversity of personal and social identities expressed throughout the world.

Version control is a necessary piece of the open source community and git has an unfortunately steep learning curve.
Here is what I have learned from teaching git to beginners, so you don’t have to make the same mistakes.

People from marginalized communities struggle to break into tech, clawing our way through a racist, sexist, classist, ableist system only to be fired, quit or just suffer in misery. I’ll explore what it really takes to create a workplace that is truly welcoming of everyone.

Public Lab is a two-part project -- an attempt at large-scale community environmental monitoring, AND a massively distributed R&D lab for inventing new monitoring techniques and equipment. The community has grown a lot over the past five years, and we are here to share stories of -- and welcome you to -- an emerging FOSS culture that spans hardware, software, data, community organizing, and advocacy.

Open source makes writing and publishing much easier both online and in print — provided you know what tools to use. This talk covers those tools (from LaTeX to WordPress) and how to choose between them.

Software is made of bugs, yet software is controlling a growing part of our physical world. As bugs and security holes become potentially life-threatening, what can we do to make our software worthy of the trust we're placing in it?
Take quadcopters, for example. Toy vehicles are not just in specialty hobby shops but even in supermarkets; sports stadiums and the White House are trying to find ways to keep them out; and everyone from agriculture startups to Amazon wants to use them commercially. Quadcopters are becoming safety and security critical systems, but how are we going to make them truly safe and secure?
I'll present SMACCMPilot, a BSD-licensed high-assurance quadcopter autopilot, and the new tools and technologies that make it feasible to trust a large piece of software.

Favorite proposals for this user

Almost every job involves a little writing, even if it's code comments or repair notes on a car. But what if you don't feel confident with writing? I have a rapid-fire presentation of writing tips and tricks that can help get you started, keep you going, and make your work better, even if you don't think you're a writer, I bet it will help!

Good engineers write good code, but the best engineers raise the skills of their junior colleagues, too. If you're a senior Python engineer, you must learn to mentor new hires. Especially if you’re committed to diversity: mentorship is 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 common problem of working with large sets of data is that machine learning tools are not able to scale effectively. Apache Spark is a fast, cluster computing engine that provides a rich toolset for machine learning called MLlib, which solves this problem of scaling.

Data is often treated as an impartial representation of reality--an unbiased delivery mechanism for "ground truth". Data collection, however, is designed by people, whose knowledge and beliefs influence the design decisions they make. How does that impact what we think we know, and how can we adapt our processes to account for it?

Have you ever said, “I could write an article about that!”? Imagine what it feels like to walk into Barnes & Noble, pick up a magazine and see your article featured right there on the cover. Who do you contact? What's the process? What the heck is step one? In this talk, you'll get an insider's look at breaking into the mysterious world of tech article writing, from an industry veteran.

Open source software may be made of ones and zeroes, but open source communities are made of people. This talk is a whirlwind tour of what research psychology has to tell us about how individuals and groups learn, falter, and grow. The talk will emphasize "takeaways" - ways for you to use this research to improve your communities and your experiences in them.

Open source is hard. Everybody tells you to create a GitHub account and start throwing your code out there. Once you do, you realize that nobody really cares. In this talk, we'll see what you can do to increase the visibility of your work and how this can dramatically affect the quality of your project.