9:00am–12:30pm Monday, July 15, 2019
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.
9:00am–12:30pm Tuesday, July 16, 2019
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.
9:00am–12:30pm Tuesday, July 16, 2019
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.
9:00am–12:30pm Tuesday, July 16, 2019
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.
1:30pm–5:00pm Tuesday, July 16, 2019
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.
1:30pm–5:00pm Tuesday, July 16, 2019
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.
1:30pm–5:00pm Tuesday, July 16, 2019
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.
11:00am–11:40am Wednesday, July 17, 2019
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.
11:00am–11:40am Wednesday, July 17, 2019
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.
11:00am–11:40am Wednesday, July 17, 2019
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.
11:50am–12:30pm Wednesday, July 17, 2019
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.
11:50am–12:30pm Wednesday, July 17, 2019
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.
11:50am–12:30pm Wednesday, July 17, 2019
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.
1:45pm–2:25pm Wednesday, July 17, 2019
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.
1:45pm–2:25pm Wednesday, July 17, 2019
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.
1:45pm–2:25pm Wednesday, July 17, 2019
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.
2:35pm–3:15pm Wednesday, July 17, 2019
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.
4:15pm–4:55pm Wednesday, July 17, 2019
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.
4:15pm–4:55pm Wednesday, July 17, 2019
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.
4:15pm–4:55pm Wednesday, July 17, 2019
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.
5:05pm–5:45pm Wednesday, July 17, 2019
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.
5:05pm–5:45pm Wednesday, July 17, 2019
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.
11:00am–11:40am Thursday, July 18, 2019
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.
11:00am–11:40am Thursday, July 18, 2019
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.
11:50am–12:30pm Thursday, July 18, 2019
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.
11:50am–12:30pm Thursday, July 18, 2019
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.
1:45pm–2:25pm Thursday, July 18, 2019
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.
1:45pm–2:25pm Thursday, July 18, 2019
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.
2:35pm–3:15pm Thursday, July 18, 2019
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.
2:35pm–3:15pm Thursday, July 18, 2019
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.
2:35pm–3:15pm Thursday, July 18, 2019
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.
4:15pm–4:55pm Thursday, July 18, 2019
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.
4:15pm–4:55pm Thursday, July 18, 2019
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.
4:15pm–4:55pm Thursday, July 18, 2019
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.
5:05pm–5:45pm Thursday, July 18, 2019
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.
5:05pm–5:45pm Thursday, July 18, 2019
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.
5:05pm–5:45pm Thursday, July 18, 2019
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.