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

API Design

9:00 AM MDT

Application Programmer Interfaces (APIs) by definition are directed at software developers. They should, therefore, strive to be useful and easy to use for developers. However, when engaging design elements from the Web, they can be useful in much larger ways than simply serializing states in JSON.

There is no right or perfect API design. There are, however, elements and choices that induce certain properties. This workshop will walk you through various approaches to help you find the developer experience and long-term strategies that work for you, your customers and your organization.

We will cover:

The Web Architecture as the basis of our APIs
The REST Architectural Style and its motivations
The Richardson Maturity Model as a way of discussing design choices and induced properties
The implications of contentnegotiation and representation choices such as JSON or JSONLD
The emergence of metadata approaches to describing and using APIs such as OpenAPI and HydraCG
Security considerations
Client technologies
API Management approaches

Knowledge Graphs: Architecture and Information

5:00 PM MDT

Knowledge graphs are a rapidly emerging concept for machine-processable models of complex and dynamic domains. They represent the intersection of Web architecture and information. If your organization wants to resolve its most pernicious data integration problems or facilitate machine learning initiatives, knowledge graphs are likely to be part of your future.

We will discuss the emergence of Knowledge Graphs as an emerging solution to a missing capability in most organization's IT strategies. We will discuss how some of the biggest organizations in the world are heading in this direction, it's impact on API design and more. We will focus on specific tools, platforms and standards that are making Knowledge Graphs a crucial part of your overall solutions.

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 Workshop

11: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

TensorFlow.js : Machine Learning in the Browser and Beyond With JavaScript

1:30 PM MDT

The concept of doing machine learning in JavaScript in the browser seems ludicrous at first blush. The reality is, however, it makes all the sense in the world. The question is how to do so performantly.

We will introduce you to a variety of use cases of why this makes sense and how Google has managed to make it a reality through a combination of WebGL, WebAssembly, CUDA, and more.

We will cover:

  • Motivations for this crazy idea in the first place
  • How to achieve portable performance
  • Building applications that reuse existing models
  • Caching strategies for large models
  • Training models in the browser
  • Combining browser capabilities such as images and video with machine learning algorithms

TensorFlow.js : Machine Learning in the Browser and Beyond With JavaScript

3:15 PM MDT

The concept of doing machine learning in JavaScript in the browser seems ludicrous at first blush. The reality is, however, it makes all the sense in the world. The question is how to do so performantly.

We will introduce you to a variety of use cases of why this makes sense and how Google has managed to make it a reality through a combination of WebGL, WebAssembly, CUDA, and more.

We will cover:

  • Motivations for this crazy idea in the first place
  • How to achieve portable performance
  • Building applications that reuse existing models
  • Caching strategies for large models
  • Training models in the browser
  • Combining browser capabilities such as images and video with machine learning algorithms

TypeScript for the Win!

8:30 AM MDT

There is no question JavaScript has become one of the most popular and widely-used programming languages. Unfortunately popularity doesn't necessarily translate to easy-to-maintain or always appropriate. Large code bases become difficult to reason over due to JavaScript's dynamic nature and flexible development style.

As a result of their own internal struggles with large JavaScript projects, Microsoft tasked Anders Hejlsberg of Delphi and C# fame to design a solution to the problem. The result is an incredibly useful, fun and effective approach to improving JavaScript development without impacting how you deploy your projects.

TypeScript is a superset of JavaScript that brings static typing, modern JavaScript features that may not yet be supported in your environment and improved tooling and documentation. Surprisingly, the results are then transpiled down to whatever flavor of JavaScript you need for your runtime environment.

In this workshop, we will introduce to you:

  • What TypeScript brings to the table and why you should care
  • The new language features available
  • Approaches to gradually adopt TypeScript in your project
  • How runtime errors become compile time errors with types and static checking
  • How your build processes do and don't change
  • How to set up a more fun and productive (and hopefully less frustrating) development environment

TypeScript for the Win!

10:30 AM MDT

There is no question JavaScript has become one of the most popular and widely-used programming languages. Unfortunately popularity doesn't necessarily translate to easy-to-maintain or always appropriate. Large code bases become difficult to reason over due to JavaScript's dynamic nature and flexible development style.

As a result of their own internal struggles with large JavaScript projects, Microsoft tasked Anders Hejlsberg of Delphi and C# fame to design a solution to the problem. The result is an incredibly useful, fun and effective approach to improving JavaScript development without impacting how you deploy your projects.

TypeScript is a superset of JavaScript that brings static typing, modern JavaScript features that may not yet be supported in your environment and improved tooling and documentation. Surprisingly, the results are then transpiled down to whatever flavor of JavaScript you need for your runtime environment.

In this workshop, we will introduce to you:

  • What TypeScript brings to the table and why you should care
  • The new language features available
  • Approaches to gradually adopt TypeScript in your project
  • How runtime errors become compile time errors with types and static checking
  • How your build processes do and don't change
  • How to set up a more fun and productive (and hopefully less frustrating) development environment