Fueling innovative software
July 15-18, 2019
Portland, OR

Open Source sessions

Open source is how software is developed today—beginning with the flow of open ideas that ultimately leads to world-changing innovations. Regardless of origin or community, all innovative and emerging open source projects, from blockchain to machine learning frameworks, are at the heart of software development and OSCON 2019.

Add to your personal schedule
9:00am12:30pm Monday, July 15, 2019
Open Source
Location: Portland 252
Kenneth Kousen (Kousen IT)
Average rating: ****.
(4.33, 9 ratings)
The Spring Framework is the leading open source project in the Java world. Join Ken Kousen to learn how to build applications with the Spring Framework, including web applications, RESTful web services, and more. You'll also discover how to use Spring Boot to initialize and autoconfigure an application, customize it, and generate an executable JAR file suitable for deployment. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Open Source
Location: Portland 255
Brent Laster (SAS)
Average rating: ****.
(4.08, 13 ratings)
Brent Laster offers a brief, practical introduction to Jenkins as well as a guide to leveraging its automation and integration with other open source technologies to create a simple, working build and deployment pipeline that implements principles of continuous integration and continuous delivery. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Open Source
Location: Portland 252
Russ Miles (ChaosIQ)
Average rating: ****.
(4.57, 7 ratings)
Russ Miles walks you through establishing effective chaos engineering teams at scale. You'll learn how chaos experiments and chaos APIs based on open standards provide the foundation for both organizational and industry learning when it comes to improving system resilience. Read more.
Add to your personal schedule
9:00am12:30pm Tuesday, July 16, 2019
Open Source
Location: D138-140
Average rating: *****
(5.00, 2 ratings)
You've got the code part down, but now there's a problem. You've got to get people interested in your project and attract contributors. Or if you have contributors, you have to express your vision and intent. Alison Spittel explains why you need documentation and blog posts. Then you'll workshop a content strategy for your open source project, from audience targeting to an outline of a blog post. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Live Coding ONLY
Location: D138-140
Tim Nugent (Lonely Coffee), Jon Manning (Secret Lab), Paris Buttfield-Addison (Secret Lab)
Average rating: ****.
(4.33, 21 ratings)
Using Another Tool for Language Recognition (ANTLR) Tim Nugent, Jon Manning, and Paris Buttfield-Addison build an entirely new programming language starting from nothing and ending up with a working interpreter. It will probably be a bad language, but it'll be ours and no one can take that from us. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Open Source
Location: Portland 251
Bridget Kromhout (Microsoft), Aaron Wislang (Microsoft)
Average rating: ***..
(3.80, 5 ratings)
Going to production with Kubernetes means new considerations that come with many acronyms. Kubernetes is configurable to meet your needs while open source tooling such as Helm, Brigade, and Duffle enable better ongoing operability. Bridget Kromhout and Aaron Wislang walk you through role-based access control, custom resource definitions, and pod disruption budgets. Read more.
Add to your personal schedule
1:30pm5:00pm Tuesday, July 16, 2019
Live Coding ONLY, Open Source
Location: Portland 255
Christian Nwamba (Microsoft)
Average rating: **...
(2.80, 10 ratings)
Join Christian Nwamba to master VS Code, the most popular open source code editor that can help improve your day-to-day productivity. You'll get your hands dirty as you learn how to customize your editor, speed up development with code snippets, enhance your workflow through the use of powerful extensions, and more. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 17, 2019
Live Coding ONLY
Location: Portland 252
Benjamin Picolo (Squarespace)
Average rating: ***..
(3.00, 1 rating)
Benjamin Picolo walks you through bootstrapping and using gRPC streams to build real-time APIs usable across services, the browser, and mobile applications all at once. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 17, 2019
Open Source
Location: E145/146
Diane Mueller (Red Hat OpenShift), Daniel Izquierdo (Bitergia)
Average rating: ****.
(4.00, 4 ratings)
Diane Mueller and Daniel Izquierdo examine joint research findings from Bitergia and share lessons learned at Red Hat on the interrelatedness of Kubernetes, OpenShift (OKD), OpenStack, and Cloud Native Computing Foundation (CNCF) communities developing around distributions. They also detail new approaches to open source community development. Read more.
Add to your personal schedule
11:00am11:40am Wednesday, July 17, 2019
Emerging Languages and Frameworks
Location: Portland 256
Average rating: ***..
(3.00, 4 ratings)
As Java is an object-oriented language that inherently supports the imperative programming style, asynchronicity presents a challenge that can turn the code into a nightmare. Mary Grygleski leads a gentle but comprehensive technical introduction to reactive programming and systems with some practical coding examples to whet your appetite to start using the elegant reactive style in your programs. Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 17, 2019
Emerging Languages and Frameworks
Location: Portland 256
Nathan Stocks (GitHub)
Average rating: ****.
(4.64, 14 ratings)
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Nathan Stocks leads a fast-paced introduction to Rust 2018 concepts, features, community, and language fundamentals—a crash course that teaches you why Rust is awesome and how to use some of the awesomeness. Thought about getting into low-level systems programming? Start here. Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 17, 2019
Open Source
Location: E145/146
Danese Cooper (NearForm)
Average rating: ***..
(3.90, 10 ratings)
Danese Cooper has worked for open source for 20 of her 30 years in the tech industry, regardless of who her actual employer was. She explains how to chart a career in open source that allows you to work for the future of the movement we all love. Read more.
Add to your personal schedule
11:50am12:30pm Wednesday, July 17, 2019
Live Coding ONLY
Location: Portland 252
Jacinda Shelly (Doctor On Demand)
Average rating: ****.
(4.57, 7 ratings)
If your Python interpreter still starts with >>>, join Jacinda Shelly to learn how IPython—an enhanced interactive Python shell guaranteed to improve the productivity of any Python user still using the default Python shell—can improve your programming life. And if you've used IPython for a while, stop by to learn tricks you didn't even know IPython had up its sleeve. Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 17, 2019
Live Coding ONLY
Location: Portland 252
Emily Fortuna (Google), Matt Sullivan (Google)
Average rating: *****
(5.00, 5 ratings)
While Flutter’s known for being a developer-friendly way of building mobile apps, the SDK is equally at home on open hardware. Emily Fortuna and Matt Sullivan take you on a journey to explore interacting with the physical world using the open source Flutter SDK. Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 17, 2019
Emerging Languages and Frameworks
Location: Portland 256
David Calavera (Netlify)
Average rating: ***..
(3.20, 5 ratings)
Berkeley Packet Filter (BPF) is a virtual machine inside the Linux kernel that provides secure and high-performant observability with limited overhead. BPF is changing how engineers analyze and observe programs running in production. David Calavera demystifies BPF and challenges you to explore the Linux kernel in ways that you never thought possible. Read more.
Add to your personal schedule
1:45pm2:25pm Wednesday, July 17, 2019
Open Source
Location: E145/146
Average rating: ****.
(4.67, 12 ratings)
You've got big ideas on how your company should develop an open source culture more fully. Russell Rutledge explains the relationship between open source participation and other collaborative behaviors and how you can apply that to meet your open source goals. The collaboration maturity model gives you guideposts to follow on your organization's journey toward open source. Read more.
Add to your personal schedule
2:35pm3:15pm Wednesday, July 17, 2019
Open Source
Location: E145/146
Deb Nicholson (Software Freedom Conservancy)
Average rating: ****.
(4.60, 10 ratings)
There are a lot of ideas about how to run an open source project. Sometimes governance just happens, but more often, projects have some things that work and some that don't. Maintaining and scaling your project is easier when you've laid a good foundation. Deb Nicholson takes you on a whirlwind tour of what not to do, what to do instead, and (maybe) what you can do to fix what you've already done. Read more.
Add to your personal schedule
4:15pm4:55pm Wednesday, July 17, 2019
Open Source
Location: E145/146
Deirdré Straughan (Amazon Web Services)
Average rating: ****.
(4.14, 7 ratings)
Your open source project competes with millions of others for users, contributors, and perhaps financial support. To stand out from the crowd, you need marketing. If that term makes you shudder, don't worry. Deirdré Straughan walks you through the why and how of open source marketing, including code, documentation, events, social media, and the importance of your community to your project. Read more.
Add to your personal schedule
4:15pm4:55pm Wednesday, July 17, 2019
Live Coding ONLY
Location: Portland 252
Isobel Redelmeier (LightStep)
Average rating: ***..
(3.17, 12 ratings)
You're sick of grepping through logs, hunting down the cause of last night's outage. Your team dreams of refactoring to better architecture but struggles to get started amid the spaghetti code. Production meets all performance objectives only because you can't measure it. Join Isobel Redelmeier to learn how to apply distributed tracing for better debugging, performance analysis, and refactoring. Read more.
Add to your personal schedule
4:15pm4:55pm Wednesday, July 17, 2019
Emerging Languages and Frameworks
Location: Portland 256
Timirah James (TechniGal LA)
Average rating: *****
(5.00, 2 ratings)
Although Swift is steadily gaining traction and credibility among developers, some still have trouble believing in Swift’s ability when it comes to serverless. But you don't have to be afraid. Timirah James explores the basics of the popular server-side Swift web framework Vapor and uses it to build a fun and simple serverless application. Read more.
Add to your personal schedule
5:05pm5:45pm Wednesday, July 17, 2019
Emerging Languages and Frameworks
Location: Portland 256
Simon St.Laurent (LinkedIn)
Average rating: ****.
(4.75, 8 ratings)
You program in Ruby but long for greater concurrency. You dream of programs that run instantly when called. You wish everything had clearly defined types. Join Simon St.Laurent to learn how Elixir and Crystal refine the diverse approaches built into Ruby, modifying the syntax and structures of this commonly understood language to address their very different priorities. Read more.
Add to your personal schedule
5:05pm5:45pm Wednesday, July 17, 2019
Open Source
Location: E145/146
Mary Thengvall (Persea Consulting), Jason Hibbets (Red Hat), Sherrie Rohde (Magento), Mike Jang (GitLab), Angie Jones (Applitools)
Average rating: ***..
(3.43, 7 ratings)
Being successful in creating an open source community requires planning, measurements, and clear goals. Mary Thengvall, Jason Hibbets, Sherrie Rohde, Mike Jang, and Angie Jones share their firsthand experiences of how open source communities have directly attributed to the success of a product as well as best practices to build and maintain these communities. Read more.
Add to your personal schedule
11:00am11:40am Thursday, July 18, 2019
Open Source
Location: E145/146
Anita Sarma (Oregon State University)
Average rating: ***..
(3.88, 8 ratings)
Gender inclusivity is important for open source community. Gender inclusiveness in software companies is receiving a lot of attention these days, but it overlooks a potentially critical factor: the software itself. Anita Sarma outlines data from research to show how gender biases can inadvertently become embedded in tools because of differences in how men and women problem-solve. Read more.
Add to your personal schedule
11:00am11:40am Thursday, July 18, 2019
Live Coding ONLY
Location: Portland 252
Average rating: ****.
(4.11, 9 ratings)
Buckle up and hold on as Christie Koehler live-codes, live-plans, and live-applies a provision container and serverless infrastructure as code with Terraform. Read more.
Add to your personal schedule
11:50am12:30pm Thursday, July 18, 2019
Live Coding ONLY
Location: Portland 252
Alexander Wood (Amazon Web Services)
Average rating: ****.
(4.67, 9 ratings)
Alexander Wood live-codes a serverless web application, including asynchronous events, on AWS Lambda using the Ruby runtime. Using open source tools such as the AWS SAM CLI, the AWS SDK for Ruby, and the Aws::Record Ruby gem, Alexander goes from a blank folder to a web application that has high availability and can scale to thousands of requests per second. Read more.
Add to your personal schedule
11:50am12:30pm Thursday, July 18, 2019
Anubhav Mishra (HashiCorp)
Average rating: ***..
(3.67, 3 ratings)
In 2018, HashiCorp Configuration Language (HCL) was second on GitHub's list of fastest-growing languages. Anubhav Mishra explains why HCL is popular among the operators and developers who prefer to use it to express infrastructure as code and discusses the reasons behind the creation of the language in the first place. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 18, 2019
Nick Shadrin (NGINX at F5)
Average rating: ***..
(3.60, 5 ratings)
HTTP has been the main protocol for the internet since the early '90s. A new protocol brings better performance, lowers latency, and enables more customization, but this is done at the expense of more complicated internals. Nick Shadrin examines the details and the trade-offs that HTTP/3 brings. Read more.
Add to your personal schedule
1:45pm2:25pm Thursday, July 18, 2019
Open Source
Location: E145/146
Bradley Kuhn (Software Freedom Conservancy)
Average rating: ****.
(4.67, 3 ratings)
There's been substantial recent discussion about the sustainability of the free, Libre, open source software (FLOSS) infrastructure, which is the center of work in the open source community. Bradley Kuhn explains the complex politics of sustainability rhetoric, which boils down to can we fund open source projects like VC-backed startups and expect them to survive? Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 18, 2019
Mark Chmarny (Google Cloud)
Average rating: ****.
(4.62, 8 ratings)
Knative is an open source serverless platform extending Kubernetes to help developers build, deploy, and manage modern serverless workloads. Mark Chmarny walks you through Knative and shares demos illustrating how to use it to build modern event-based solutions without worrying about the underlying infrastructure. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 18, 2019
Live Coding ONLY
Location: Portland 252
Sam Lanning (Semmle Inc)
Average rating: ****.
(4.60, 5 ratings)
TypeScript is revolutionizing the JavaScript ecosystem. And with more developers writing Node.js projects using TypeScript instead of JavaScript, it’s important that type definitions for packages are easily available. Sam Lanning dives into Node.js and npm, demonstrating how to create npm packages allowing other developers to easily use the type definitions of your library. Read more.
Add to your personal schedule
2:35pm3:15pm Thursday, July 18, 2019
Open Source
Location: E145/146
Ben Balter (GitHub)
Average rating: ****.
(4.67, 3 ratings)
Open source is about publishing code and building communities around shared problems. Ben Balter gets you a sneak peak at GitHub's efforts to empower maintainers to grow safe and welcoming communities around its code and what steps you can take to encourage constructive contributions and good online citizenship within your own community through community management best practices Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 18, 2019
Average rating: ***..
(3.50, 2 ratings)
Companies are disaggregating their architectures with microservices, serverless, and APIs to scale. We've seen these disaggregated components become network accessible. Sameera Jayasoma explains why Ballerina is a preferable language for building cloud native applications by introducing its network-aware, structural type system, concurrency model, and other network-aware primitives. Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 18, 2019
Open Source
Location: E145/146
Hong Phuc Dang (FOSSASIA )
Average rating: ****.
(4.00, 3 ratings)
Sustainability is always a big question for many open source projects. Limited resources, undefined culture, lack of a common goal or vision, lack of maintainers, no backup, poor documentations, and internal conflicts are some of the challenges that prevent open source projects from growing. Hong Phuc Dang tells the story of how FOSSASIA's projects and community are grown and sustained. Read more.
Add to your personal schedule
4:15pm4:55pm Thursday, July 18, 2019
Live Coding ONLY
Location: Portland 252
Torin Sandall (Open Policy Agent Project)
Average rating: *****
(5.00, 5 ratings)
Organizations have relied on wikis and institutional knowledge to document and enforce important rules that govern how the systems behave, but today many organizations pursue policy as code for greater control and visibility over the systems. Torin Sandall shows you how to implement policy as code for microservices and Kubernetes using declarative languages. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 18, 2019
Live Coding ONLY
Location: Portland 252
Michael Ernst (University of Washington)
Average rating: ****.
(4.50, 4 ratings)
A type system detects errors at compile time. Your built-in type system still permits buts. Don't let programming language designers have all the fun: you can design your own type system that's better than the current one. Michael Ernst walks you through the simple task of designing a type system, and he live-codes a type system that prevents misuse of Java Optional type. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 18, 2019
Chris Strom (EEE Computes)
Average rating: *****
(5.00, 1 rating)
The state of the art of WebGL for visualizations and games has gotten pretty darn great, but which JS framework is best? Chris Strom can't tell you whether Babylon.js or Three.js is better, but he'll walk you through them and tell you which one most developers prefer. Read more.
Add to your personal schedule
5:05pm5:45pm Thursday, July 18, 2019
Open Source
Location: E145/146
Sriram Ramkrishna (The GNOME Foundation)
Mobile phones are ubiquitous, with a market of over four billion users. For many parts of the world, the mobile device is the only connection to the internet. Sriram Ramkrishna examines how the GTK toolkit is gearing toward helping entrepreneurs build the next-generation product on a FOSS platform by leveraging the social and scaling aspects of open source. Read more.