A. Jesse Jiryu Davis's favorites

Open Source Bridge 2016

Favorite sessions for this user

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

* 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

Favorite proposals for this user

* Explicit is Better Than Implicit: Setting Expectations

Miscommunication, wasted time, hurt feelings: real dangers when communicating with strangers online. As FOSS maintainers and contributors, let's try documenting our communication guidelines the same way we document our code style guidelines.
Culture 2016-04-05 01:48:19 +0000
Trey Hunner

* How I unexpectedly built a monster of an open source project

In 2009, Oh My Zsh was released. It's since become a popular open source tool used by developers around the world. Let's walk through how a really small idea turned into a big project.
Culture 2016-04-11 22:17:44 +0000
Robby Russell

* Open Source Your Ideas: Why You Should Keep A Blog

Blogging is a great way for developers to share with the community the kind of things they've been learning and working on. By keeping a regularly updated blog, we force ourselves to continually evaluate the things we're learning, while sharing these ideas with the community at large.
Culture 2016-03-27 23:52:56 +0000
Andrew Pierce

* Software Patents After Alice: A Long and Sad Tail

The Supreme Court's ruling in the landmark Alice vs. CLS Bank case has finally given the lower courts some tools they could use to overturn obvious and vague patents, particularly frivolous patents on software. But we haven't won, because bogus patent suits are still being filed. This talk is for anyone who is wondering what the recent decisions mean for small and mid-size entities, how international treaties can impact local policy and what can be done to improve the situation.
Business 2016-04-13 17:05:45 +0000
Deb Nicholson


How to gain more support by decolonizing your projects by deconstructing networking with activists in Tribal Communities and other Environmental Justice groups...
Culture 2016-04-13 04:21:21 +0000
olivia hart

Open Source Bridge 2015

Favorite sessions for this user

* "A huge green fierce snake bars the way!"; or, Building a Text Adventure Game in Python

Have you ever wanted to vanquish a dragon with your bare hands? First step is making a world where you can. In this talk, I'll give you the blueprints for my Python text adventure engine, as well as some recipes for making things in a text-only world.
Katie Silverio

* A Pair Programming Workshop

Pair programming is a great way to collaborate on code and to share new ideas and techniques, but the social dynamics can be challenging. In this session, we'll talk about what works and what doesn't, and practice some techniques for better pairing!
Moss Collum, Laura Dean

* A Profile of Performance Profiling With pprof

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.
Lauren Voswinkel

* Bringing Security to Your Open Source Project

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!
Terri Oda

* Building Diverse Social Networks

While only a handful of social networks like Dreamwidth and Quirell explicitly prioritize diversity, there are plenty of lessons to learn about what to do — and what not to do — from Facebook, Twitter, and others. Best practices include counter-oppressive politics, embedded in the community guidelines and norms; and the right tools, technologies, and policies. This session will look at what does and doesn't work in a variety of online environments.
Jon Pincus, Lynn Cyrin

* Building mentoring into an open source community that welcomes and values new contributors

This session will talk about how to integrate mentoring into all the different layers of an open source project. This involves a change in the whole community which treats new contributors with respect, knowing they have something valuable to contribute to the project.
Cathy Theys

* Cat-herd's Crook: Enforcing Standards in 10 Programming Languages

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.
Samantha Ritter, A. Jesse Jiryu Davis

* Economics of Volunteer Labor: Three stories from Debian

What circumstances allow volunteer projects to flourish? This talk covers three examples in Debian, diving deep into the questions like whose permission is required, what technical background is needed, and more, to highlight lessons of that can help any open source community organize its activities to empower volunteers.
Asheesh Laroia

* Failing With Grace

One of the biggest challenges of building distributed systems is dealing with failure. In this talk we'll explore how distributed systems fail and then once we're good and scared, we'll cover a number of approaches and tools to help you deal with failure.
Sean O'Connor

* Fear Driven Development

Have you ever not made a much-needed change because you were afraid of breaking something? Caution is wise, but too much fear can leave even the most agile of software organizations with a crippling aversion to change. This talk will discuss what makes us scared, why it hurts us, and my experiences helping a team I managed get rid of some of our fears.
Ryan Kennedy

* Hello, my name is __________.

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.
Nova Patch

* How Do Python Coroutines Work?

Asynchronous I/O frameworks like Node, Twisted, Tornado, and Python 3.4’s new “asyncio” can efficiently scale past tens of thousands of concurrent connections. But async coding with callbacks is painful and error-prone. Programmers increasingly use coroutines in place of callbacks to get the best of both worlds: efficiency plus a natural and robust coding style. I’ll explain how asyncio’s coroutines work. They are built using Python generators, the “yield from” statement, and the Future and Task classes. You will gain a deep understanding of this miraculous new programming idiom in the Python standard library.
A. Jesse Jiryu Davis

* How To Be A Great Developer

Being a great developer is much more than technical know-how. Empathy, communication, and reason are at least as important, but are undervalued in our industry. We'll examine the impact these skills can have and how to apply them to our work.
Ed Finkler

* How to Read a Stack Trace

When you're trying to make sense of an surprising software crash or an unexpected test failure, knowing your way around a stack trace can make the difference between bewildered frustration and finding a root cause.
Moss Collum

* kenny_g.rb: Making Ruby Write Smooth Jazz

For too long, computers have been shut out of the red-hot music-to-listen-to-while-relaxing-in-the-bathtub genre. Today, that all changes. Our smooth-jazz-as-a-service startup is primed to disrupt this stale industry. All we need is a little Ruby and we'll make automated musical magic.
Tim Krajcar

* Monads Made Semi-Understandable

The word monad is all around us. I've heard long explanations of it that seem to over complicate it or make it intimidating. At Hacker School one of my goals was to learn some category theory, and understand the beast. I finally got it, and it wasn't so bad. I wanted to explain monads in a way that would not intimidate people and that would so some solid examples so if they felt like i had before, I might be able to help.
libby kent

* Morning Keynote — Put Up or Shut Up: An Open Letter to Tech Companies Seeking Diverse Teams

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.
Kronda Adair

* Project Fear

Project fear, not dissimilar to imposter syndrome, tends to affect all project leaders at some point (or many points) in their career. This session will tackle project fear by fully defining it, investigating its roots, noting its symptoms, and ultimately discussing a number of successful coping mechanisms.
Adam Edgerton

* The Graceful Exit: Approaches for Changing One's Role in an Open Community

Open culture communities are passionate, dedicated backed by people. What happens when those people need to change their roles within the community? I've played varied roles in open culture communities through the years. In this talk I'll go over what worked well and what I wish I had approached in a different way when my role needed to change.
Kate Chapman

* Through the Warp Zone: Hacking Super Mario Brothers

Discover new worlds in Super Mario Brothers even the creators never saw!
Emily St., Shawna Scott

* Tricking Out the Terminal: An Introduction

A beginner-focused overview of the particulars and pitfalls of the command line and several common shells, with a focus on improving developer workflows, exposing common default tools, implementing useful open-source tools, and inserting emoji into prompts (pretty much the best part of customizing the terminal).
Lydia Katsamberis

* Troubleshooting In Distributed Systems

The shift to microservice and distributed architectures has made software products more flexible and scalable-- and a lot more complex. With so many moving parts, ephemeral conditions and the spectre of partial failure, it can be much more difficult to pinpoint how and why things break. Learn how Logstash, Elasticsearch and Kibana can be used to monitor healthy systems and investigate issues as they pop up, and what we can do outside of software to improve our process of problem-solving.
Megan Baker

* Why Making a Programming Language is Awesome

Learn about the journey of creating Wake, a modern programming language
Michael R Fairhurst

* Why Relationships Matter in Community Building: Experiences from the Philippine Cultural Heritage Mapping Project

What makes a successful project? It's not only a solid idea, firm execution and attention to the numbers. It's also successfully building working relationships between community members. This presentation will explore how one of Wikimedia Philippines' biggest projects was successful in large part to how the organization engaged its participants, and ultimately how they have come to be part of the wider Filipino Wikimedia community.
Josh Lim

* You Got Your Idris in My C++! A First Look at Denotational Design

Programmers gripe that we have two kinds of programming languages: the ones we write in for fun, and the ones we write in because we have to. We may enjoy coding that weekend project in Agda, but we have to leave that smile behind on Monday morning when we go back to Java or C++. But is that really the case? Or can we find a way of bringing the expressiveness, the rigor, or the fun of our favorite languages into our day jobs?
Ian Dees

Open Source Bridge 2013 Birds of a Feather

Favorite proposals for this user

* MongoDB Users

Informal meetup for MongoDB users. MongoDB is a leading open-source NoSQL database, developed by 10gen. Join two programmers from 10gen to ask questions and share ideas.
BOF 2013-06-15 11:08:10 +0000
A. Jesse Jiryu Davis, Emily Stolfo

Open Source Bridge 2013

Favorite sessions for this user

* Conducting Your Open Source Project

How are open source projects like symphonies? In this session, we will review leadership strategies and insights gained from conducting non-profit amateur performing ensembles. We will discuss how to coordinate and lead teams of volunteers in both top-down and self-governing organizations.
Michael Alan Brewer

* Diversity in open source: What's changed in 2012 and 2013

A few stories we will cover: * 20% women attendees at PyCon US 2013 * 85% of JSConf attendees donated to women in open tech/culture * The success of Black Girls Code * Conferences with 100% white male speakers are now called out for not trying hard enough to find good speakers * Mozilla's adoption of community guidelines that prevent advocacy of discrimination on Planet Mozilla and other Mozilla forums * The rapid growth of PyLadies
Valerie Aurora, Sumana Harihareswara, Ashe Dryden, Liz Henry, Asheesh Laroia

* Hacking the academic experience

When I was asked to teach Ruby on Rails at Columbia University I observed that a significant number of the skills required to become a successful professional in the industry are acquired on the job and aren’t being taught in school.
Emily Stolfo

* Hacking your Meatware: exercises you can do at your desk

You will learn about risks to your neck, shoulders, hips and core from sitting at a keyboard for hours at a time. Learn a quick 6-breath sun salutation, simple stretches, the need for regular movement. Discuss sitting, standing, walking, reclining. Simple, incremental, safe, easy.
Kurt Sussman

* Keynote — Alex “Skud” Bayley

Keynote by Alex “Skud” Bayley
Alex Bayley

* Morning Keynote: Ashe Dryden

It's been scientifically proven that more diverse communities and workplaces create better products and the solutions to difficult problems are more complete and diverse themselves. Companies are struggling to find adequate talent. So why do we see so few women, people of color, and LGBTQ people at our events and on the about pages of our websites? Even more curiously, why do 60% of women leave the tech industry within 10 years? Why are fewer women choosing to pursue computer science and related degrees than ever before? Why have stories of active discouragement, dismissal, harassment, or worse become regular news?
Ashe Dryden

* Programming Is Debugging, So Debug Better

Debugging: The schedule destroyer, the confidence sapper, the mire in which thousands of working hours are lost every day. It's time to stop staring at those four lines of code, desperately willing the bug to appear. This session is about the philosophies that will steer you around bugs, strategies for dealing with them, and tools that can shorten a four-hour debugging session to five minutes.
Yoz Grahame

* Rust: A Friendly Introduction

Conventional wisdom says that writing high-performance code means working without the safety net of credible compile-time safety checks. Mozilla Research (a community of researchers, engineers, and volunteers) is trying to prove that conventional wisdom wrong by building Rust, a new systems programming language. Rust takes advantage of well-understood programming language technology to combine aggressive compile-time error checking with the high degree of direct control over the machine necessary to write efficient systems programs. By way of examples, I'll teach you how to use Rust to write fast and trustworthy code.
Tim Chevalier

* The "Oh Shit" Graph: What We Can Learn From Wikipedia's Editor Decline Trend

Wikipedia and the other Wikimedia projects have been hemorrhaging editors for the past five years. We're going to talk about the reasons why, how they can affect other projects, and what you can do to prevent it in yours.
Brandon Harris

* The Future of Ruby

What will Ruby, the programming language and community, look like in 2 years?
Brian Shirai

* The problem with passwords on the web and what to do about it

Handling user passwords safely is hard, but replacing passwords on the web in a reasonable way is even harder. Really, this should have been in the browser all along. This is where Persona comes in.
François Marier

* Training the trainers

This long session is a tutorial, with exercises, on how to run welcoming, effective outreach events targeted at bringing newcomers into your communities.
Asheesh Laroia

* What Is Async, How Does It Work, And When Should I Use It?

"Asynchronous" or "non-blocking" frameworks like Tornado and Node.js are in fashion, but most programmers still don't have a rigorous understanding of what's meant by asynchronous, how these frameworks function, and when they're appropriate to use. I'll give a detailed tour of Tornado's event loop and show exactly how it works, and under what circumstances it's superior to a traditional multithreaded web server. You'll learn how to write the most efficient servers for modern apps with very large numbers of concurrent connections.
A. Jesse Jiryu Davis