Building Security In – DevSecOps
Many believe that better security comes from robust independent gating, but DevOps has proven that you can safely deploy orders of magnitude faster without human gating. Comcast uses a DevSecOps approach which focuses on automation, speed and team ownership of end-to-end product security lifecycle. It’s agile and developer-focused. It’s about building security in rather than bolting it on. Learning Objectives:...
Read more
Noopur Davis
Containers at Facebook
At FB, we run containers with Linux, Btrfs and systemd. But how does this approach work at scale, and what is the philosophy behind this approach? In this talk, I will dive into the details of these components, including: Advanced details of btrfs and the benefits of a composable file system on a high-traffic network How we use systemd on...
Read more
Lindsay Salisbury
Five Lessons in Distributed Databases
It's been ten years since the first mainstream distributed databases launched. In that time, we've seen hype (NoSQL/NewSQL will do everything!), disillusionment (you still can't beat the CAP theorem), and consolidation (to basically Cassandra and MongoDB). Meanwhile, the big three cloud vendors each launched their own products, and the industry is collectively starting to understand their role in building modern...
Read more
Jonathan Ellis
Flutter + ML Kit: Building Smart Cross-Platform Apps
Getting started with machine learning on the mobile platform can be daunting. From learning how to implement low-level models and use frameworks, to optimizing and adapting those models for mobile, it can be overwhelming. With ML Kit, regardless of one’s machine learning expertise, one can build compelling machine learning functionality into their mobile apps. Using ML Kit and Flutter, which...
Read more
Ifeoma Okereke
From Rails to Elm and Haskell
When I joined NoRedInk in 2013, we had a typical Ruby on Rails web application. In 2015 we introduced Elm, a pure functional programming language for building Web UIs, and it spread like wildfire to become our primary tool for front-end programming. In 2019 we have over 300,000 lines of Elm code powering the user interface our millions of users...
Read more
Richard Feldman
Functions: Faster to Deploy
Functions are the key superpower enabling serverless architectures. Certainly the low cost of only paying for what you use (100% utilization) is a nice benefit. And no doubt there are operational savings by only focusing on your business logic instead of managing a brittle and complicated infrastructure. But designing with functions as the smallest unit of deployment also confers a...
Read more
Brian LeRoux
Generic Swift: It Isn’t Supposed to Hurt
They said Swift is “protocol oriented,” so you wrote protocols. But you wanted them to be generic, so you added associated types. But your collections broke, so you added type-erasers. But your “as”-casts broke, so you switched to Any. But then everything broke, so you read about Mirror. And the tears began. Why did it have to be so hard...
Read more
Rob Napier
Getting out of Cloud Jail
AWS has made our life easier. And it has made scaling easier – but too often, when you go to scale, it's a matter of reaching for the credit card to add more, more, more. Soon, you're in Cloud Jail. Learn how we dealt with this at TUNE, and how we ultimately did a jailbreak.
Dan Koch
In the world of IoT, wireless transports are not created equal
So you want to connect a "thing".... or many "things"? In this journey, you need to make a very important decision (among many): which wireless protocol is right for your use case and how do you choose your platform? At the end of the day, no matter how good your application, if you don’t have reliable connectivity, you just have...
Read more
Maggie Bosak
Java Futures, 2019 Edition
Abstract: Since last ETE, we've seen two more major versions of the JDK! What's changed in the last year, and what's coming down the road? Join Java Language Architect Brian Goetz in a whirlwind tour of just some of the features coming to Java next.
Brian Goetz
Just because you can, doesn’t mean you should: selecting the best technologies (AR, VR, Voice, etc) for your use case
As technologists, it’s our job to stay on top of, and advocate for, new approaches. There are many valid reasons an enterprise might want to adopt cutting edge or experimental technology. That said, gratuitous use of technology without a well-vetted business case can be exceedingly costly and more likely to stifle innovation than support it. It’s easy for a new...
Read more
Dorothy Danforth
Keynote – Collective Problem Solving: Music, Science, Software
There’s a story to tell, about musicians, artists, philosophers, scientists, and then programmers. There’s a truth inside it that leads to a new view of work, that sees beauty in the painful complexity that is software development. Starting from The Journal of the History of Ideas, Jessica traces the concept of an “invisible college” through music and art and science...
Read more
Jessica Kerr
Keynote – FP vs OOP: Choose Two
This talk is about the fictitious divisions we invent, and how they harm the progress of our industry. In particular, we'll look at the supposed tension between Functional Programming and Object-Oriented Programming, and hopefully see that the tension is all in our heads.
Brian Goetz
Rob Napier
Kubernetes: Your Next Java Application Server
In the Java ecosystem, we have historically been enamored by the concept of the "Application Server," the runtime engine that not only gave us portable APIs (e.g. JMS, JAX-RS, JSF, EJB) but also gave us critical runtime infrastructure for things like farm deployments, configuration, load-balancing, fail-over, distributed management and monitoring. In this session, we are going to demonstrate how Kubernetes...
Read more
Burr Sutter
Less Code, More Impact! – A Workshop
Let's have some fun! No prior design experience required. This will be a lively, interactive exercise where we explore a user-centric and pencil-first approach to software design & development. In this hands-on workshop we will walk through some tried-and-true methods to: Listen to users to ensure we are focusing on their needs Wireframe to solidify ideas and gain consensus within...
Read more
Peter Fleming
Lightning Talks
Come by to hear about a wide range of subjects in a short amount of time. Blockchain in Healthcare Mike McCoy Blockchain Implementation Manager, Accenture Mike McCoy is a Blockchain and Emerging Technology Implementation Specialist leading the CMT Blockchain Practice in the Northeast at Accenture and building the 'Blockchain in Healthcare' curriculum starting at Thomas Jefferson University this fall. Build...
Read more
Various Speakers
Machine Learning: from ABCs to DEFs
I'd like to introduce you to this new, 60 year old, kid on the block: "Machine Learning". Some math + some stats, but mostly "what"s, "why"s and "how"s of different problems it solves, and of course some code, since that's what machines speak best. While we'll ride along with mouthfuls such as "stochastic gradient descent", "cross entropy" and friends, the...
Read more
Anatoly Polinsky
Making SPA Smarter with GraphQL
GraphQL is a client/server API specification for submitting queries, updates and subscribing to data, and it's been an interesting replacement technology for JSON in single page applications. Originally created for the Facebook application in 2012, it began life serving the graph of connections between people, posts, and other related data. Ultimately, Facebook open-sourced the relay server and the API was...
Read more
Ken Rimple
Neural Networks IRL (in real life)
What exactly is a Neural Network? How do you go from experimenting with a deep learning model in the notebook of your choice to deploying your model to production? What is the secret sauce to a successful feature or platform that utilizes "AI" to accomplish the business goals or needs of your platform? And more importantly, how is engineering always...
Read more
Leemay Nassery
OpenJDK: In the New Age of Concurrent Garbage Collectors
Have you heard about the latest garbage collectors (GCs) in OpenJDK HotSpot VM? Are you interested in learning more about their algorithm and design goals? Would you like a basic comparison between them and the current default collector in OpenJDK? If you answered yes to any of the above questions, then this is the session for you! In this session...
Read more
Monica Beckwith
Principles of Collaborative Automation
Great automation doesn’t replace humans; it enhances us. When we are choosing or building tools for our team, we want them to play like team members: keep us informed, make the easy decisions repeatably, and pass the hard decisions to the humans along with the information we need to make them. Based on research in human-centered design, this talk enumerates...
Read more
Jessica Kerr
Rust: A Language for the Next 40 Years
Learn what makes the programming language Rust a unique technology, such as the memory safety guarantees that enable more people to write performant systems-level code. Hear about how Rust Editions evolve the language and the compiler without breaking existing code. See who's trusting Rust for critical products today. Join us on Rust's journey to the future.
Carol Nichols
Serverless Architecture: A Love Story
Serverless applications are the future of lightweight, scalable, and performant application development. Developers are breaking apart their monolith applications into smaller, purpose-focused microservices. They are quickly and purposefully prototyping application ideas. Moving to a “Serverless” environment really means to migrating a fully-hosted environment to using a fully-managed compute or persistence service from one of the big cloud platform providers. One...
Read more
Linda Nichols
So you want to migrate to AWS…
In 2009, Amazon Web Services was simple: EC2 for compute, S3 for storage. In 2019, it's far more complex: well over 100 services, covering the entire software life-cycle. This talk is intended for the person who is looking at AWS as an alternative to running in a data center, and focuses on the important topics and strategies for a successful...
Read more
Keith Gregory
Supersonic, Subatomic Java with Quarkus
Introducing Quarkus.io. The rise in popularity of the linux container as the primary way to package your application seemed like a simple change on the surface. Yet, as we saw with the Java Docker Fail problem, it was not a transition completely without challenges for the Java community. Furthermore, we have now seen a number developers at many organizations considering...
Read more
Burr Sutter
Tales from the QA Crypt
An anthology of QA horror stories, and how to avoid such situations with automated testing and Docker. When tests are built in from the beginning and not tacked on after features are released, fewer defects are created and development moves faster. JavaScript has all the tools required to cover your automated testing needs, and writing tests in the same language...
Read more
Jennifer Voss
The Go Language: What Makes it Different?
The Go programming language emphasizes simplicity and speed. Common programming mistakes are detected by the compiler. The language itself encourages proper error handling. It has first-class concurrency support using goroutines and channels. And on top of all this, Go offers lightning-fast compilation and execution. This talk will cover all the unique features that could make Go the ideal choice for...
Read more
Jay McGavren
The Road to Zig 1.0
Despite being one of the youngest programming languages, Zig is progressing rapidly toward its first production-ready release. Join creator Andrew Kelley for a justification of Zig's existence and a tour of the unique features of Zig. See what people have already built with it today, and explore what will be possible when Zig reaches 1.0. Bring your skepticism, tough questions,...
Read more
Andrew Kelley
Using server-driven UI to rapidly iterate across platforms
Often companies with large mobile user bases find that they have to balance rapid iteration with the amount of work involved in launching and coordinating a product on multiple platforms (web, native Android, and native iOS). Faced with exactly this question for the Airbnb reservation system, we designed a server-driven UI framework for web, iOS, and Android that allows us...
Read more
Laura Kelly
WTF IoT or IoT FTW?
What is the Internet of Things? Does adding the internet to a device (or thing) make it better or does it just create more problems? What has IoT done well? What are some problem with IoT? What can be done better?
Don Coleman
Zero to Serverless in 45 Minutes
So I have this production AngularJS on Java/Spring REST app. It's getting a bit long in the tooth. I mean, how many Internet Dog Years ago was that? It would work better as a cloud-native app -- faster to load, cheaper to run, more reliable, let them do all the maintenance work, HTTPS out of the box, all that good...
Read more