You are viewing details from a past event. Please check our upcoming event schedule if you are looking for current content.

Brian Sletten

Forward Leaning Software Engineer @ Bosatsu Consulting

Brian Sletten is a liberal arts-educated software engineer with a focus on forward-leaning technologies. His experience has spanned many industries including retail, banking, online games, defense, finance, hospitality and health care. He has a B.S. in Computer Science from the College of William and Mary and lives in Auburn, CA. He focuses on web architecture, resource-oriented computing, social networking, the Semantic Web, AI/ML, data science, 3D graphics, visualization, scalable systems, security consulting and other technologies of the late 20th and early 21st Centuries. He is also a rabid reader, devoted foodie and has excellent taste in music. If pressed, he might tell you about his International Pop Recording career.

Presentations

Machine Learning Workshop

9:00 AM MDT

Machine Learning is all the rage, but many developers have no idea what it is, what they can expect from it or how to start to get into this huge and rapidly-changing field. The ideas draw from the fields of Artificial Intelligence, Numerical Analysis, Statistics and more. These days, you'll generally have to be a CUDA-wielding Python developer to boot. This workshop will gently introduce you to the ideas and tools, show you several working examples and help you build a plan to for diving deeper into this exciting new field.

We will cover:

  • The differences between data science, AI and machine learning
  • The Five Tribes of Machine Learning (as defined by Pedro Domingos)
  • Walkthroughs of some of the main algorithms
  • Examples in Java, R and Python
  • Tools such as Tensorflow and Pytorch
  • The impact of GPUs on machine learning
  • Stories about how companies are being successful with machine learning
  • A discussion about the likely impacts of machine learning on the job market and society

Machine Learning: Overview

8:30 AM MDT

Machine Learning is a huge, deep field. Come get a head start on how you can learn about how machines learn.

This talk will be an overview of the Machine Learning field. We’ll cover the various tools and techniques that are available to you to solve complex, data-driven problems. We’ll walk through the algorithms and apply them to some real but accessible problems so you can see them at work.

Machine Learning: Natural Language Processing

10:30 AM MDT

Documents contain a lot of information. We'll introduce you to a variety of techniques to extract them.

Machine Learning techniques are useful for analyzing numeric data, but they can also be useful for classifying text, extracting content and more. We will discuss a variety of open source tools for extracting the content, identifying elements and structure and analyzing the text can be used in distributed, microservice-friendly ways.

Machine Learning: TensorFlow

1:00 PM MDT

This open source machine learning framework from Google has taken off. Come learn what you can do with it in your own organization.

TensorFlow is a powerful data flow-oriented machine learning framework developed by Google's Brain Team. It was designed to be easy to use and widely applicable on both numeric, neural network-oriented problems as well as other domains. We'll cover the over view as well as apply it to several fun, realistic problems.

WebAssembly

2:45 PM MDT

What happens if web applications got really fast?

We are increasingly able to do more in the browser because of faster networks, optimized JavaScript engines, new standard APIs and more. There is a new initiative to allow a binary format called WebAssembly that will provide a compiled, cross-platform representation that will take us to the next level. Complex business applications and 3D video games will alike will benefit from this new standard. Come hear about what it can do for you.

CUDA, OPENCL and the GPGPU Revolution

4:30 PM MDT

At some point, graphics cards became serious business computationally. We'll explore why and how this switch has happened.

The most basic introduction to computers spells it out: software runs on the CPU. At some point, this became not entirely true. Graphics cards now support general purpose computing via apis such as CUDA and OpenCL. This talk will introduce you to how and why you can take advantage of these capabilities for a wide variety of applications. Moore's Law may have petered out, but we have plenty of other ways to make our applications run faster.

Electron : Cross-Platform Desktop Apps Meet the Web

8:30 PM MDT

For the last 20-30 years, there has been a never-ending set of solutions for building cross-platform desktop applications. Most of them suck. Electron is one that doesn't.

It is a new solution that forms the basis of the Atom Editor, Microsoft's Visual Studio Code, the Slack app and more.

Come see what happens when you combine the best of the Web, Node.js and Chromium to provide attractive, modern, flexible, useful, consistent cross-platform desktop applications.

Electron grew out of the work on the Atom Editor from GitHub. Developers familiar with JavaScript, Node and Web Development will be comfortable with an engine that uses the same technologies as they move to the Desktop. At the same time, the Chromium engine, which has support for modern technologies such as WebGL, WebRTC and desktop-integration hooks, as well as HTML 5 and CSS, rounds out the platform. The strength of the Web mixed with native desktop integration hooks and the performance and flexibility of Node strikes the right balance for avoiding sucky cross-platform applications.

Web Security Workshop

9:00 AM MDT

If you're not terrified, you're not paying attention.

Publishing information on the Web does not require us to just give it away. We have a series of tools and techniques for managing identity, authentication, authorization and encryption so we only share content with those we trust.

Before we tackle Web Security, however, we need to figure out what we mean by Security. We will pull from the worlds of Security Engineering and Software Security to lay the foundation for technical approaches to protecting our web resources. We will also discuss the assault on encryption, web security features and emerging technologies that will hopefully help strengthen our ability to protect what we hold dear.

Topics include:

  • Security Engineering
  • Software Security
  • Encryption
  • Authentication and Authorization Mechanisms
  • Emerging Web Security Technologies

Web Security Workshop

10:45 AM MDT

If you're not terrified, you're not paying attention.

Publishing information on the Web does not require us to just give it away. We have a series of tools and techniques for managing identity, authentication, authorization and encryption so we only share content with those we trust.

Before we tackle Web Security, however, we need to figure out what we mean by Security. We will pull from the worlds of Security Engineering and Software Security to lay the foundation for technical approaches to protecting our web resources. We will also discuss the assault on encryption, web security features and emerging technologies that will hopefully help strengthen our ability to protect what we hold dear.

Topics include:

  • Security Engineering
  • Software Security
  • Encryption
  • Authentication and Authorization Mechanisms
  • Emerging Web Security Technologies

Macaroons: More Cookie Than Cookie

1:30 PM MDT

Understand a modern, flexible and decentralized way to provide authorization controls on resources and microservices

Google Research has given us Macaroons (no, not the fancy, delicious cookies). Google’s Macaroons are an authorization model with support for contextually controlled caveats and the simplicity of a regular cookie. This allows a fine-grained and flexible approach to delegating privilege to principals in a decentralized way, allowing you to protect resources.

Brian Sletten introduces the underlying principles of Macaroons as he walks you through applying them in practice with nontrivial delegation scenarios, demonstrating how to build systems with strong controls as well as the freedom to transfer privileges to others with more narrow constraints.

The combination of simplicity, flexibility, and sophistication is a rare and desirable goal for modern security controls. Even if you aren’t interested in putting Macaroons in practice in your own work, it is worth diving deeper just to gain exposure to a technology with these properties.

Pony : (Not) Yet Another Programming Language

3:15 PM MDT

Java, Scala, Python, Ruby, Javascript, Go, Clojure, Swift, Rust, Haskell… ARRRRRGH! What the heck is Pony?

Pony is a new open-source, object-oriented, actor-model, capabilities-secure, high performance language. Come learn about why you want to learn more about it.

Pony has been designed to be a modern programming language that takes many of the ideas of other advanced programming languages to solve the problems of the future.

Pony is mathematically proven to be type safe. It has no pointers, buffer overruns, unhanded exceptions, data races or deadlocks. If your program compiles, it won't have these problems.

This isn't an Ivory Tower language, however. It follows the advice of Dick Gabriel to “get-stuff-done”.

Learning about new programming languages can change the way you think whether you use them or not. Pony definitely falls into that category, but perhaps you'll look for ways of using it once you do.