As core counts continue to increase, how we exploit hardware parallelism in practice shifts from concurrency — using more cores to handle more user requests — to parallelism — using more cores to solve data-intensive problems faster. This talk will explore the different goals, tools, and techniques involved between these various approaches, and how to analyze a computation for potential parallelism, with specific attention to the parallel stream library in Java 8.
This talk has two parts. First, I will present technical ideas from research, including my own, that help secure software by construction. Even though these are reasonable ideas, however, the gap between academia and industry often prevents these ideas from becoming realized in practice. Second, I will discuss what prevents longer-term security solutions from being commercialized, how we started the Cybersecurity Factory accelerator bridge the research/industry gap, and how we can work together to address the issues that remain.
Apps no longer just run on smartphones and tablets – they process verbal commands we speak to devices like Amazon Echo, run as bots in Slack channels, and are rapidly evolving customer experiences that span a range of IoT devices in homes, cars, offices, and industrial settings. Crucial to the success of all these ecosystems is one central idea: Code has to not just run in the cloud, it has to be easy to get it there and scale it there. Serverless computing – calling AWS Lambda functions instead of managing heavyweight applications on infrastructure – is changing how developers think about backends, event-driving processing, and application design. Infrastructure, deployment, and software platform setup that used to take days or weeks of time vanishes, replaced by microservices that do one thing well, require zero effort to deploy, and scale automatically and implicitly just by using them. At the same time, AWS Lambda and other serverless systems have redefined cloud economics by eliminating the possibility of cold servers, creating a radical new price point for applications running in the cloud and freeing developers and COO’s alike from worrying about paying for unused capacity. In this talk we’ll define Serverless computing, examine the key trends and innovative ideas behind the technology, and look in detail at design patterns for big data, event processing, mobile backends, and more using AWS Lambda.
In 2015, two years after its initial open source release, React took the position formerly held by Angular as the darling of the web. It’s used on some of the biggest sites in the world, such as Facebook, WhatsApp, Messenger, Instagram, Netflix, Airbnb, Uber, NFL, Dropbox, Asana, Atlassian, Khan Academy, Flipkart, Imgur, Reddit, Paypal, WalMart, WordPress, Wix, SquareSpace, etc.
Let’s be clear though: any UI you can build with React you can also build without React. React’s value proposition is that it simplifies your UI code, making it easier to build and maintain: it is declarative, component-based, uses one-way data flow, and has an API that most developers can become productive with in an afternoon. The people at Facebook have had so much success with it on the web that they thought – hey, wouldn’t it be great if we could write native mobile apps like this too? And so React Native was born, and the mobile development landscape will never look the same again.
When Apple open sourced Swift late last year, they invited the community into the discussion of where Swift should go and why. Instead of us having to imagine what the Swift language and library stewards and architects are thinking, we can read their words on the Swift evolution mailing list. In this talk we’ll look at what idiomatic Swift will look like soon when Swift 3 is soon released and talk about the reasoning behind some of the choices.
React is a library for building user interfaces. Developers specify how an application “should look”, and React automatically updates the page when the underlying data changes. React is able to do this through a process we call “Reconciliation”. In this talk, I’ll describe how reconciliation works within React, and how we use it to enhance both performance and user experience. In addition to being conceptually interesting, understanding the reconciliation process will allow you to better optimize your own applications.
This talk will cover what makes a code metric valuable, when unmaintainable code may be preferable, and the number one thing that prevents most developers from maintaining quality code over time.
In this talk we’re casting a wide-net on the range of possibilities for building next-gen front-end apps by looking at the options we have for both building and deploying applications on the edge. Join us as we build and deploy an app in real-time using both Angular 2 and React.js.
This session will show you a toolchain and immutable infrastructure principles that will allow you to define your infrastructure in code versioned alongside your application code that will give you repeatable configuration, ephemeral testing environments, consistent CI/CD environments, and diffable dependency transparency all before pushing changes to production.
Doc walks us through the Hawthorne Effect and Goodhart’s Law to explain why setting goals for velocity can actually hurt a project’s chances. Take a look at what can negatively impact velocity, ways to stabilize fluctuating velocity, and methods to improve velocity without the risks. Leave with a toolkit of additional metrics that, coupled with velocity, give a better view of the project’s overall health.