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

Full-Day Workshops

Attending full-day workshops is optional and requires a workshop ticket ( $475 ). Half-day workshops are open to all conference attendees.

Brian Sletten

Brian Sletten

Forward Leaning Software Engineer @ Bosatsu Consulting

Machine Learning Workshop

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
View Workshop Requirements »
Neal Ford

Neal Ford

Director / Software Architect / Meme Wrangler

Jonathan Johnson

Jonathan Johnson

Software Architect

Kubernetes for Developers - 3 Day Deep Dive

At the end of this workshop, you will be comfortable with designing, deploying, managing, monitoring and updating a coordinated set of applications running on Kubernetes.

Distributed application architectures are hard. Building containers and designing microservices to work and coordinate together across a network is complex. Given limitations on resources, failing networks, defective software, and fluctuating traffic you need an orchestrator to handle these variants. Kubernetes is designed to handle these complexities, so you do not have to. It's essentially a distributed operating system across your data center. You give Kubernetes containers and it will ensure they remain available.
 
Kubernetes continues to gain momentum and is quickly becoming the preferred way to deploy applications.
 
In this workshop, we’ll grasp the essence of Kubernetes as an application container manager, learning the concepts of deploying, pods, services, ingression, volumes, secrets, and monitoring. We’ll look at how simple containers are quickly started using a declarative syntax. We'll build on this with a coordinated cluster of containers to make an application. Next, we will learn how Helm is used for managing more complex collections of containers. See how your application containers can find and communicate directly or use a message broker for exchanging data. We will play chaos monkey and mess with some vital services and observe how Kubernetes self-heals back to the expected state. Finally, we will observe performance metrics and see how nodes and containers are scaled.
 
Come to this workshop the learn how to deploy and manage your containerized application. On the way, you will see how Kubernetes effectively schedules your application across its resources.

Optionally, for more daring and independent attendees, you can also replicate many of the exercises on your local laptop with Minikube or Minishift. There are other Kubernetes flavors as well. However, if during the workshop you are having troubles please understand we cannot deviate too far to meet your local needs. If you do want to try some of the material locally this stack is recommended:

Some of the topics we will explore:

  • Using Minikube, KubeCtl and Helm
  • Kubernetes Architecture and terminology
  • Resilience with declarative states and the reconciliation loop
  • Kubernetes REST API
  • Components: Etcd, Scheduler, Controller, Kubelet
  • Namespaces
  • Kinds: Pod, Service, Deployment, ReplicaSet, Ingress
  • Labels and selectors
  • Etcd, ConfigMaps, Secrets
  • Volumes and mounts
  • Ingress
  • Helm and charts
  • Container patterns
  • Probes, Logging, monitoring, and troubleshooting
  • Scaling
  • Standard and custom resources
  • Operators
  • Istio
  • Kubernetes ecosystem for software engineers

These concepts are presented and reinforced with hands-on exercises:

  • Advantages of distributed computing
  • History and rise of Kubernetes
  • Cloud native computing foundation
  • Architecture and terms and how it works
  • Deploying and running applications
  • Kubernetes objects - Deployment, Pods, ConfigMaps, Jobs, Secrets, Ingress, Volumes and many more
  • Container patterns
  • Serverless
  • Istio Meshing
  • Monitoring

You will leave with a solid understanding of how Kubernetes actually works and a set of hands-on exercises your can share with your peers. Bring a simple laptop with a standard browser for a full hands-on experience.

View Workshop Requirements »
Christopher Judd

Christopher Judd

CTO of Manifest Solutions

Java 9-17 Workshop

With the quick moving 6-month Java train releases, you like many Java developers and organizations may have remained on Java 8 waiting for the next Long-Term-Support (LTS) release. Well, Java 17 is here so it is time to begin the adoption and upgrading. Java 9 was a HUGE release with many impactful features like the module system, jLink, jShell and a hand full of new Project Coin language features. While Java 10-17 were small in comparison based on feature count their influence will be felt. The var keyword, records, pattern matching, vector api, container awareness features along with lambda, thread and garbage collection enhancements will improve development and operations.

This hands-on workshop will provide the knowledge and experience you need to be prepared to migrate your applications from Java 8 to Java 17 successfully.

View Workshop Requirements »
Peter Pavlovich

Peter Pavlovich

CTO, Censinet

VueJS [1]: The last front-end framework you will ever need

VueJS is the new contender for 'best front end framework' and is running a very close second place to React in popularity amongst knowledgable developers. It is gaining mindshare and has incredible momentum, all for very good reasons!

Join us for this introductory, full day workshop in which we fully explore everything that makes VueJS the last framework you will ever learn … because you won't ever want to use anything else again!

Upon completion, you will be armed with the skills and knowledge to create sophisticated VueJS components that:

  • Define and use dynamic data constructs
  • Dynamically update data views, content and styling based on realtime changes to data
  • Animate transitions between views as well as when elements are added and removed from the view
  • Define and dynamically invoke event handlers generated by UI elements
  • Use Vuetify: amazing, mature and visually appealing UI widget library based on Material Design
  • Install, configure and use the Vue Router.
  • Install, configure and use Vuex to provide centralized application data management a la Redux

We will also explore deployment options and productionization of your application.

I look forward to sharing this amazing new contender in the front-end SPA framework space!

View Workshop Requirements »
Lyndsey Padget

Lyndsey Padget

Solutions Architect at VMLY&R Kansas City

Master Git in a Day

Unless you’ve been living under a rock, you know that Git is the most popular source control management in development shops today. And for good reason; its power overshadows tools you may have used in the past, such as Subversion or Team Foundations. While most developers and companies know this, making the switch can be painful. It’s all too common to lose code or introduce bugs because of difficulties merging or resolving conflicts. But fear not - it is possible to get comfortable with Git.

After a brief overview of concepts and capabilities, we’ll walk through exercises to simulate realistic scenarios. We’ll resolve conflicts, squash commits, stomp on other people’s code, fix mistakes, tag our commits, and more. All exercises will be performed on the command line, so you’ll truly understand what’s happening without the aid of GUI-based tools.

View Workshop Requirements »
Christopher Lorenzo

Christopher Lorenzo

Distinguished Engineer @ Comcast

Sharing Components Across Frameworks

Have you been asked to take a component from one project and “just” put it into another project built with an entirely different JavaScript framework? Do you work at a diverse company with teams using Angular, React and Vue and are wondering how you can stop duplicating effort? Do you have framework fatigue and want to skip the cycle of learning yet another framework? If so, then Web Components are what you have been searching for!

Web Components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags which can be shared across frameworks. With libraries like Lit built by Google to extend Web Components, it is now possible to easily create fully featured components that work with Angular, React and Vue.

This workshop deep dives into Web Components and the latest updates from Lit, which provides lit-html & LitElement. You'll learn how to build your own components with both vanilla JavaScript and LitElement. We’ll create a library of shared components and integrate them into an existing React application.

Specific topics covered during the workshop are:

  • High-level Web Components Overview
  • Codelab: Build a Toast Web Component
  • The building blocks of Lit: Tagged Template Literals, lit-html & LitElement
  • Codelab: lit-html
  • Codelab: LitElement Basics
  • Codelab: LitElement Intermediate
  • Codelab: Sharing Components
  • Using WCs in production, using WCs with React, general WC usage
View Workshop Requirements »
Craig Walls

Craig Walls

Author of 'Spring in Action' and 'Building Talking Apps'

Developing Talking Applications with Alexa and Google Assistant

In this hands-on workshop, you'll learn to create voice-first applications for both Amazon's Alexa and Google's Assistant platforms. In addition, we'll also cover creating visual UIs to accompany the voice-first applications (for devices such as Echo Show).

No prior experience with voice applications is required and you do not even need to own a home assistant device to get started. Elementary experience with NodeJS is required. You'll also need developer accounts for both AWS and Google.

The way we communicate with our applications is an ever-evolving experience. Punch cards gave way to keyboards. Typing on keyboards was then supplemented by pointing and clicking with a mouse. And touch screens on our phones, tablets, and computers are now a common means of communicating with applications.

These all lack one thing, however: They aren’t natural.

As humans, we often communicate with each other through speech. If you were to walk up to another human and start tapping them, you’d likely be tapped (or punched) in response. But when we talk to our applications, we communicate on the machine’s terms, with keyboards, mice, and touch screens. Even though we may use these same devices to communicate with other humans, it’s really the machine we are communicating with—​and those machines relay what we type, click, and tap to another human using a similar device.

Voice user-interfaces (Voice UIs) enable us to communicate with our application in a human way. They give our applications the means to communicate to us on our terms, using voice. With a voice UI, we can converse with our applications in much the same way we might talk with our friends.

Voice UIs are truly the next logical step in the evolution of human-computer interaction. And this evolutionary step is long overdue. For as long as most of us can remember, science fiction has promised us the ability to talk to our computers. The robot from Lost in Space, the Enterprise computer on Star Trek, Iron Man’s Jarvis, and HAL 9000 (okay, maybe a bad example) are just a few well-recognized examples of science fiction promising a future where humans and computers would talk to each other.

Our computers are far more powerful today than the writers of science fiction would have imagined. And the tablet that Captain Picard used in his ready room on Star Trek: The Next Generation is now available with the iPad and other tablet devices. But only recently have voice assistants such as Alexa and Google Assistant given us the talking computer promised to us by science-fiction.

View Workshop Requirements »
Llewellyn  Falco

Llewellyn Falco

Independent Agile Coach

Practical Refactoring - Tiny Steps to Better Code

The goal: Clean Code That Works, and getting there is half the fun. Working with a legacy mess can be frustrating, boring, dangerous, and time-consuming. When FIBS occur (FIBs = Fixes that Introduce Bugs) you often enter an endless Test and Fix cycle that can quickly escalate into a nightmare. I've been there, you've been there. How do we return to pleasant dreams?

In this code-centric workshop we'll look at ways to introduce sanity and calmness into the process of maintaining and improving buggy, poorly written, poorly designed code. Few slides, mostly code. Learn how to turn any project around and have fun doing it.

View Workshop Requirements »
Venkat Subramaniam

Venkat Subramaniam

Founder @ Agile Developer, Inc.

Programming with Kotlin

Kotlin is one of those few multi-platform languages. You can compile Kotlin to Java bytecode, to Android, to WebAssembly, to run native on different OS, and to JavaScript. The language draws inspiration from many different languages. It is highly fluent and code in Kotlin is concise, elegant, and easy to maintain. This workshop will get you up to speed on using Kotlin for your day-to-day programming.

The workshop will start with the language basics and quickly dive into some of the more advanced features. We will also look at ways to use compile time metaprogramming and create fluent DSLs.

View Workshop Requirements »
Sia Karamalegos

Sia Karamalegos

Web Performance at Shopify

Get in the Fast Lane: Measuring Web Performance

Are you losing revenue to performance? 53% of mobile site visits are abandoned if a page takes longer than 3 seconds to load. Pinterest reduced load times by 40% and saw a 15% increase in sign ups. Starbucks implemented a 2x faster time to interactive resulting in a 65% increase in rewards registrations. AliExpress reduced load by 36% and saw a 10.5% increase in orders.

Performance is important. Tooling can be hard. Do flame charts intimidate you? Come learn how to audit and fix common performance issues using Chrome DevTools, Lighthouse, PageSpeed Insights, and webpagetest.org.

During this hands-on, full-day workshop, you will learn how to:

  • Optimize and familiarize yourself with your DevTools environment
  • Understand which metrics matter
  • Measure the performance of existing applications
  • Diagnose and prioritize performance problems
  • Implement performance fixes

We will profile real applications to both learn the tools of measurement as well as see real performance problems in action. By the end of this workshop, you will be familiar with the following performance concepts. Many will be covered in-depth with exercises, and others will be covered in an overview with resources to learn more.

  • Latency and loading: HTTP2, code splitting, caching and service workers, resource and priority hints, progressive rendering and lazy loading, third party scripts
  • Reducing code: tree shaking, responsible imports, performance budgets, differential serving
  • Assets: responsive images, font loading, network client hints
  • Buttery smooth UI: long-running JavaScript
  • Perceived performance and UX

Prerequisites: To attend this workshop, you must already have a working understanding of JavaScript, HTML, CSS, git, and the command line, including installing npm packages and running npm scripts (or yarn). You must also have a basic understanding of Chrome DevTools, including inspecting an element and using the console. You do not need advanced mastery of DevTools as we will be learning about the Network and Performance tabs plus other tools during this session. A basic understanding of webpack would be very helpful, but the concepts can still be learned during this segment of the workshop.

Preparation: Please come with a laptop ready for development. You must have Chrome and Node (v 8+) installed.

View Workshop Requirements »

Half-Day Workshops

Christopher Judd

Christopher Judd

CTO of Manifest Solutions

12 (15) Factor App Workshop

Learn how to use Heroku's 12 (15) Factor App methodologies to make your applications more portable, scalable, reliable and deployable.

Do you want to improve your application’s portability, scalability, reliability and deploy ability? Now you can, with Heroku’s 12 Factor App methodologies. Learn from their experience hosting and supporting thousands of apps in the cloud. During this hands-on workshop, you will learn how to incorporate factors like configuration, disposability, dev/prod parity and much more into an existing application whether it is an on premise or cloud native app. But wait, there’s more! Act now, and get an additional 3 factors absolutely free! API first, Telemetry and even Authentication and authorization will be included at no additional cost.

View Workshop Requirements »
Venkat Subramaniam

Venkat Subramaniam

Founder @ Agile Developer, Inc.

Applying Design Patterns

Learning about design patterns is not really hard. Using design patterns is also not that hard. But, using the right design pattern for the right problem is not that easy. If instead of looking for a pattern to use if we decide to look for the design force behind a problem it may lead to better solutions. Furthermore, with most mainstream languages supporting lambda expressions and functional style, the patterns appear in so many more elegant ways as well.

In this workshop we will start with a quick introduction of a few patterns. Then we will work with multiple examples—take a problem, delve into the design, and as we solve it, see what patterns emerge in the design. The objective of this workshop is to get a hands on experience to prudently identify and use patterns that help create extensible code.

View Workshop Requirements »
Christopher Judd

Christopher Judd

CTO of Manifest Solutions

Building Serverless Applications in AWS Workshop

Tired of trying to manage and maintain servers? Never have a large enough operations team? Don’t have a budget for running lots of server? Don’t want to pay for servers siting idle? Afraid you might become so popular that you won’t be able to scale fast enough? Don’t worry, it is possible to alleviate these issues by moving to a serverless architecture that utilizes microservices hosted in the cloud. This type of architecture can support all different types of clients including web, mobile and IoT.

During this hands-on workshop, you will build a serverless application utilizing AWS services such as Lambda, API Gateway, S3 and a datastore.

During this session you will build a simple web application utilizing AWS services and Angular.

View Workshop Requirements »
Esther Derby

Esther Derby

Author of 7 Rules for Positive Productive Change. Co-author of Behind Closed Doors: Secrets of Great Management and Agile Retrospectives.

Creating an Environment for Successful Team

Some teams seem to have some mysterious chemistry from the beginning. Other teams wallow, bicker, and slog their way to uncertain results. What makes one team soar, and another stumble? It's not just chance.

In this session, we'll explore the essential ingredients that result in that mysterious “chemistry.” For example, we’ll examine the prerequisites for cohesion, and factors that pull teams apart. We'll look at myths and realities of software teams.
You'll gain tools to assess your agile team, and insights on how to adapt the environment for growing great teams.

Learning Outcomes:
Identify the essential elements for great teams.
Strategies to adapt the environment to improve the chance of team success.
Identify common pitfalls for agile teams.

Through table activities and facilitated conversation, we'll explore experiences in teams, talk about what works, and what doesn't. I'll present research about teams, and related it to concrete steps that managers, team leads, and team members can apply to their own situations.

Venkat Subramaniam

Venkat Subramaniam

Founder @ Agile Developer, Inc.

Creating React Applications

This workshop will bring you up to speed on the essentials to create React applications.

The workshop will start with a quick introduction to the main problems that React solves, and then walk you through the steps to create components, to mange state, and to do automated testing.

View Workshop Requirements »
Raju Gandhi

Raju Gandhi

Founder, DefMacro Software

Docker Workshop - Part I

Docker! Docker! Docker! Whether its running a piece of software on your local machine, to hermetic deployments of your software in production - docker has a place in your workflow. In this 2 part workshop we will get our hands dirty with Docker. We will create, tear down and modify containers, create our own images, see how to set up networking and volumes for containers, see the role of Dockerfiles, and if we have time, attempt to “compose” an application using “docker-compose”

In this introductory workshop we will flit between practice and theory. We will spend a lot of time working with the Docker CLI, and cement our new found knowledge with hands-on exercises and theory.

I must highlight that this is ONLY a 3 hour workshop, but please ensure that you follow the “Set up” instructions and test to see if all is well before attending this workshop

In this workshop we will cover the following -

  • The “Why” and Benefits of Docker
  • Creating our “Hello World” container
  • Creating “interactive” containers
  • Understanding how to know what is running on your machine, what isn't, and how to remove images and containers no longer needed
  • VMs vs. containers
  • Docker lifecycle
  • Setting up networking for containers
  • Setting up volumes for containers
  • The Union File System
  • The role of Dockerfiles
  • (If we have time) docker-compose
View Workshop Requirements »
Raju Gandhi

Raju Gandhi

Founder, DefMacro Software

Docker Workshop - Part II

Docker! Docker! Docker! Whether its running a piece of software on your local machine, to hermetic deployments of your software in production - docker has a place in your workflow. In this 2 part workshop we will get our hands dirty with Docker. We will create, tear down and modify containers, create our own images, see how to set up networking and volumes for containers, see the role of Dockerfiles, and if we have time, attempt to “compose” an application using “docker-compose”

In this introductory workshop we will flit between practice and theory. We will spend a lot of time working with the Docker CLI, and cement our new found knowledge with hands-on exercises and theory.

I must highlight that this is ONLY a 3 hour workshop, but please ensure that you follow the “Set up” instructions and test to see if all is well before attending this workshop

In this workshop we will cover the following -

  • The “Why” and Benefits of Docker
  • Creating our “Hello World” container
  • Creating “interactive” containers
  • Understanding how to know what is running on your machine, what isn't, and how to remove images and containers no longer needed
  • VMs vs. containers
  • Docker lifecycle
  • Setting up networking for containers
  • Setting up volumes for containers
  • The Union File System
  • The role of Dockerfiles
  • (If we have time) docker-compose

https://github.com/looselytyped/nfjs-docker-workshop

View Workshop Requirements »
Venkat Subramaniam

Venkat Subramaniam

Founder @ Agile Developer, Inc.

Exploring Modern JavaScript

JavaScript has come a long way. Libraries and frameworks like React, Angular, and Vue use the more recent versions of JavaScript. Getting up to speed will help us get better at programming both front-end and backend JavaScript applications.

The workshop will dive into the features from ES 6 and beyond.

View Workshop Requirements »
Christopher Judd

Christopher Judd

CTO of Manifest Solutions

Hacking & Hardening Java Web Applications Workshop

It seems like everyday there is a new headline about a security breach in a major company’s web application. These breaches cause companies to lose their credibility, cost them large sums of money, and those accountable undoubtedly lose their jobs. Security requires you to be proactive. Keep your employer out of the headlines by learning some key security best practices.

This hands-on workshop is designed to teach you how to identify and fix vulnerabilities in Java web applications. Using an existing web application, you will learn ways to scan and test for common vulnerabilities such as hijacking, injection, cross-site scripting, cross-site forgery and more. You will learn best practices around logging, error handling, intrusion detection, authentication and authorization. You will also learn how to improve security in your applications using existing libraries, frameworks and techniques to patch and prevent vulnerabilities.

View Workshop Requirements »
Alexander von Zitzewitz

Alexander von Zitzewitz

Founder and Managing Director, Hello2morrow

How to organize your code for long term success

Most nontrivial software systems suffer from significant levels of technical and architectural debt. This leads to exponentially increasing cost of change, which is not sustainable for a longer period of time. The single best thing you can do to counter this problem is to give some love to your architecture by carefully managing and controlling the dependencies among the different elements and components of a software system. For that purpose we will introduce a DSL (domain specific language) that can be used to describe and enforce architectural blueprints. Moreover we will make an excursion into the topic of legacy software modernization.

In this workshop part participants will use Sonargraph to assess and analyze a software system of their choice (Java, C/C++, C# or Python) and design an architectural model using the domain specific language introduced in the session. The tool and a free 60 day license will be provided during the workshop.

View Workshop Requirements »
Brian Sletten

Brian Sletten

Forward Leaning Software Engineer @ Bosatsu Consulting

Linked Data

Everyone understands the Web as a platform, but not as many can see the thread that connects the Web to APIs to linked interoperable data models. In this design workshop, we will investigate the properties of the Web and how they can be applied to data, documents, services and concepts as the basis of truly spectacular vision for information interchange.

We will start with the basics and build up to flexible, evolvable data models and everything in-between.

Topics will include

  • REST and Hypermedia
  • LinkedData
  • JSON-LD
  • SPARQL
Eric Wendelin

Eric Wendelin

Cactus Dweller @ Gradle Inc.

Maximize Developer Productivity with Fast and Reliable Builds

One of the biggest impediments to overall developer productivity and the overall success of the software organization is inefficient processes. Without the right tooling to get to the root of the problem, debugging build and test failures is incredibly frustrating and leads to delays in shipping software.

In this workshop, you’ll work through examples using Maven, Gradle, and Gradle Enterprise on our real data and that of some popular open source projects. You'll learn how to measure build speed and reliability, which metrics are important, how to apply these analyses to your own builds, and how to use build caching to make those builds dramatically faster enabling your team to achieve better developer productivity.

Nathaniel Schutta

Nathaniel Schutta

Architect as a Service

Modeling for Architects

In some organizations, architects are dismissed as people that draw box and arrow diagrams - the dreaded whiteboard architect. While we don't want to foster that stereotype, it is important for an architect to be able to construct basic architectural diagrams. An architect must also be able to separate the wheat from the chaff eliminating those models that don't help tell the story while fully leveraging those that do.

In this workshop, we'll discuss the various diagrams at our disposal. We'll walk through a case study and as we go, we'll construct a set of diagrams that will help us effectively communicate our design. We'll talk about stakeholders and who might benefit from each typ of diagram. Additionally we'll discuss how to constructively review an architectural model.

View Workshop Requirements »
Llewellyn  Falco

Llewellyn Falco

Independent Agile Coach

Refactoring - Continuous Improvement of Your Code Base

This is a high level talk about many of the misconceptions surrounding refactoring, including
What refactoring looks like
Why refactoring is often neglected
The pace of change
Making better choices
The ROI on improvements

This talk is broken in 5 sections:

Evolutionary design
The most common misconception is that refactoring is a mini-rewrite of a section of code. Instead we are going to look into what microevolution looks and feels like. As well and the double edged sword as to why it is both extremely successful yet often unappreciated.

Code Smells
Using cutting edge pattern recognizing training we will show managers and programmers alike how to spot bad code at a glance

Naming

Explore Arlo Belshee 7 steps of improving the naming of your code.

10 X
The ROI (return on investment) is one of the most misunderstood part, because the math is very non-intuitive. Here we will explore why 8,402 is 10 times better than 8,333 ?!?

Aaron Bedra

Aaron Bedra

Senior Engineer at DRW

Secrets Management

We've all got secrets, but nobody seems to know where to put them. This long standing issue has plagued system design for ages and still has many broken implementations. While many consider this an application concern, the foundations rest in the design of the system. Join Aaron for an in-depth workshop that will cover the following secret management solutions:

  • Locally encrypted secrets with Ansible Vault
  • HSM backed local secrets with SOPS
  • AWS Secrets Manager
  • Hashicorp Vault

Additionally, this workshop will demonstrate tools for discovering sensitive information checked in to your project.

This is a two session workshop and is best received by attending both sessions.

View Workshop Requirements »
Aaron Bedra

Aaron Bedra

Senior Engineer at DRW

Threat Intelligence Fundamentals

This course will cover the foundations of threat intelligence. It will consist of a combination of lecture and lab where we will work through the concepts of detecting indicators of attack and compromise, and building automation to process and eliminate it. This is a fully immersive, hands on workshop that will include a number of techniques, tools, and code.

It will cover the following topics:

  • Threat Identification
  • Threat Containment and Control
  • Bot Detection and Search Engine Verification
  • Indicators of Attack vs Indicators of Compromise
  • Fingerprinting
  • Production Deployment of Threat Intelligence Systems

Attendees will leave with a fully functional threat intelligence proof of concept system. This PoC can be used to design further capabilities or to evaluate larger commercial systems. Be prepared for an exciting day of code, modeling, and automation.

View Workshop Requirements »
Brian Sletten

Brian Sletten

Forward Leaning Software Engineer @ Bosatsu Consulting

Web Security Workshop

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
Brian Sletten

Brian Sletten

Forward Leaning Software Engineer @ Bosatsu Consulting

WebAssembly Workshop

What happens if Web applications become super fast?
What if the ability to write code once but run it on lots of different platforms was true again?
What if Desktops are no longer interesting because you can do everything in a browser?
What if JavaScript wasn't your only language choice?

These are all starting to happen now that this W3C Standard is supported widely across all major browser vendors, Node and more. It's never been a better time to dig into the future that is playing out now faster than most people realize.

WebAssembly is emerging as an exciting vision for web applications that run at native speeds by using a size and load-time efficient, compiled binary format. Anything from computationally intensive business applications to fully rendered 3D video games will benefit from the mix of speed with other Web-oriented technologies. We'll let you know what is coming and how you'll benefit from it.

We will cover:

  • The History of WebAssembly
  • The JavaScript API
  • The Stack Machine
  • Shared Memory
  • Dynamic Libraries
  • The Text Format
  • Building Web Applications using C, C++, Go, Rust, Kotlin and more
  • Converting existing code and libraries into WebAssembly
  • Running WebAssembly in Node

This is a hands on workshop of a truly mind-blowing next step evolution of the Web. Don't get left behind.

View Workshop Requirements »