Date for Desert Code Camp - 2019  Saturday, October 12, 2019 8:00:00 AM - Saturday, October 12, 2019 6:00:00 PM

Speaker List

AJG

More on AJG

Sessions

Track
Other
Title
How to Migrate to Modern C++
Abstract
A practical guide on how to tackle technical debt in legacy applications that no one fully understands. i.e. C++98/03 to C++11/14/17 strategies. i.e. Lessons learned from this thing I did. i.e. How dinosaurs can become robots.

Robert Al Malak

More on Robert Al Malak

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
A Look at iOS ARKit 3.0 : Augmented Reality Session
Abstract

Augmented-Reality (AR) is the user experience of the future! Join Robert Al Malak as he dives into Apple’s ARKit framework. Get a basic understanding of how ARKit works, take a closer look at the improvements in their recent 3.0 update, view demos of some live examples and join in the discussion about use cases for ARKit and other similar technologies. Presentation Overview: - What is AR and how does it work ? - Project overview - The easiest way to setup an ARKit project. - Augmented reality and image / object recognition - Transformations / Placement of 3D objects - Accelerate / SIMD library - Looking at use cases - Quality Assurance


JW Backen

More on JW Backen

Sessions

Track
Other
Title
It All Starts with Git...
Abstract
Get up to speed with git in this fast-track session on understanding how to use git. From open source to the enterprise, and even every-day file management, git is the first step to small- and large-scale success.

Daniel Bank

More on Daniel Bank

Sessions

Track
Artifical Intelligence (AI)
Title
Offline ML with Rust
Abstract
We will create a Rust app that uses a frozen model to make inferences on image data. We will then cross-compile the app for ARMv7 Linux architecture and deploy it to a Raspberry Pi 3, demonstrating the ability to train once run anywhere. Aside from deployment, the Pi will not need an internet connection to run the model (look ma, no wiretap).

Rachelle Boyette

More on Rachelle Boyette

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Kotlin Coroutines for Android Development
Abstract

Kotlin is the new and upcoming language of choice among Android Developers. Kotlin introduces a lot of neat features, one of which is Coroutines. If you have used AsyncTasks, Executors, and other types of background processing in Android to handle background processes, coroutines aims to do the same thing, in a more concise, async-await style. We'll talk about what coroutines are, how they can be used in your app, and how they differ from other background processing Android gives us. 


Les Brown

More on Les Brown

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Mobile Development - Advanced
Abstract
Walk through implementing push notifications, signal-R, OAuth, embedded databases, lazy loaded dependency injection along with the new features of Xamarin.Forms 4.0 as well as docker as a development tool.
Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Mobile Development For Beginners
Abstract
Learn the new features of Visual Studio integration with Xamarin. How to create your first project using a simple webAPI with a docker instance and avoid common pitfalls.

Laurel Bruggeman

More on Laurel Bruggeman

Sessions

Track
HTML/CSS
Title
Responsive Layouts with Flexbox and CSS Grid
Abstract

Learn how to make web pages look great on any screen with just CSS. Great for beginners, and web developers who want to stop using floats, inline-block, or weird positioning hacks.

 

Codepens used in this presentation:


Robert Bushman

More on Robert Bushman

Sessions

Track
Artifical Intelligence (AI)
Title
ML Hands On: Optical Character Recognition
Abstract
In this workshop, you will create a notebook that does optical character recognition on hand-written digits. We will be using Logistic Regression, which is a very basic general purpose classification algorithm. It has been a popular choice for more than half a century. Even in our current era with the explosive advances in neural networks, Logistic Regression remains a mainstay for its simplicity and speed. Applying this very simple algorithm to the complex task of optical character recognition will help you see how approachable machine learning can be. To prepare for the class, create an Amazon AWS account and go to Amazon SageMaker. Create a notebook instance with a name you will remember and instance type c5.xlarge. All the rest of the settings can be left as defaults. Once it is working, make sure you shut it down so the notebook instance status says "Stopped". That way you will not be charged for it while you are not using it. Bring a laptop with you.

Aditya Challa

More on Aditya Challa

Sessions

Track
Cloud
Title
Building your Data Lake on AWS
Abstract

Data is getting generated as we speak at an enormous rate and it's growing at the rate of 10x every 5 years. The data might not look valuable immediately but companies always find value in storing this data in a centralized location for future. Learn how to build a data lake on AWS cloud.


Nate Cleverly

More on Nate Cleverly

Sessions

Track
ASP.NET
Title
Getting Started with Asp.Net Core Signal R
Abstract

Signal R Core is now available to developers using .Net Core. This technology has many benfits to those applications that require frequent updates and must stay up to date. We will also discuss a real world use case of how it was utilized to provide a real-time view of alerts in a payment system.


Derek Cline

More on Derek Cline

Sessions

Track
Other
Title
You should adopt Kafka now, tips for getting Kafka apps to market fast
Abstract

Is your organization adopting Kafka as their messaging bus but you’ve found that it will take too long to migrate your existing service-oriented architecture to a log-oriented architecture? Some of the biggest challenges in building a new stream processor can be implementing all the business logic again. It has become increasingly common for companies with high-throughput source streams and change-data-capture logs to want to build systems fast. At Ticketmaster, we have found a solution to the problem by leveraging the business logic in our existing services and calling them from our Java based KafkaStreams processor applications in an efficient manner. In this talk, we will examine the initial challenges we faced in our transition, then we will explore the solutions we built to address the use cases at Ticketmaster. The primary focus will address our workflow around calling services to bring stream processor applications to market fast. We will review our challenges and share tips for success.


Michael Collins

More on Michael Collins

Sessions

Track
Cloud
Title
Dockerizing Applications
Abstract
Have you heard of Docker? It’s the containerization technology that has rapidly changed how applications are built and deployed. Containerizing applications is the future for large scale software development and it is a critical skill to master. This presentation is geared towards those with no or some Docker exposure. We will look at what containers are, how they work, how to build containers for your applications, and strategies for building your own containers.
Track
Mobile (Android/iOS/Microsoft)
Title
Let's Talk About Text
Abstract
When designing mobile user interfaces, a lot of developers and designers overlook the power of text. From formatting and presentation, to building editing experiences, text is an extremely important part of building good mobile applications. In this presentation, we will start by talking about fonts, typography, and dynamic type. We'll look at how to use standard and custom fonts and support iOS dynamic type settings to dynamically size your UIs based on the user's text size settings. We will then turn to attributed strings and text views and will look at how to present and interact with text in your UIs. We will end with a full-blown look at TextKit and how to build rich text editing experiences in your user interfaces including how to accomplish syntax highlighting, spell checking, and other features when building editing experiences. Please join us to learn about using text in your mobile applications. (This presentation is focused on iOS technologies.)

Clark Cunningham

More on Clark Cunningham

Sessions

Track
QA/Testing
Title
"A Bugs Life" - QA 101 with The Exterminator
Abstract
Strap on your boots and immerse yourself in this energetic presentation open to all audiences. Get equipped with the tools and methodologies used by QA throughout the software development life cycle - from the birth of a bug to the delivery of the ultimate user experience. EXTERMINATE.exe!

Ovi Demetrian Jr

More on Ovi Demetrian Jr

Sessions

Track
HTML/CSS
Title
Email templates 101
Abstract
Email marketing is stronger than ever. And with it comes the need for email templates. Coding an email template can be frustrating as it uses archaic CSS/HTML techniques, but with the right processes and tools in place, it can be quick and easy to pick up. Learn about all the latest tools and workflows available and find out why coding emails is a hidden dev opportunity worth looking into.

Brian Downs

More on Brian Downs

Sessions

Track
Other
Title
Using Go to Call Unsupported Syscalls
Abstract
In this talk, we will take a look at what is required to make native syscalls to the operation system through Go. We will cover the basics of what syscalls are and their importance in systems programming and will show off a few small examples before diving into the main topic. This will include mapping syscall numbers to constants and looking at what the syscall itself requires for arguments and converting those C memory layouts into Go. We will go into a number of components in the standard library’s syscall package for converting strings to byte array pointers, etc. and working with the standard library’s unsafe package to access the system’s memory directly. Finally, we’ll put it all together and demonstrate the code with live examples. All code examples will be made available on Github.
Track
REST
Title
Writing REST API's in C
Abstract
This talk will be all about building an HTTP REST API in C. We'll go through the details of configuration and setup of the main server and then dive into writing request handlers. Then, middleware for authentication using basic authentication and token authentication. Once all of the aforementioned is complete, we'll get into build process and deployment.

Wesley Faulkner

More on Wesley Faulkner

Sessions

Track
Soft Skills
Title
How to get through the awkwardness of networking
Abstract
There's a lot about modern networking that we all should un-learn. Showing off your knowledge and targeting the "important" connections is the wrong approach. If you genuinely want to be an effective networker, you have to shift away from looking at these interactions as transactional. That said, it's still hard to find people to talk to, and even harder to know to start up a conversation. I'll give you tips that will help you work through those issues and ultimately make you more comfortable in new spaces with new people. You'll come away from this presentation with advice you can put to use immediately.

Bill Fencken

More on Bill Fencken

Sessions

Track
.NET
Title
Using Visual Studio 2019 with code automation to auto-generate customized service layers in a Contract-Driven Architecture
Abstract

Whether you are building a small 2-tier application for a mobile application or a Fortune 500 Enterprise class n-tier/SOA implementation with all of the bells and whistles, the basic services that sit between the layers of your application are both critical and at the same time kind of boring. Nothing will impact an application in terms of performance or security failures faster than a poorly implemented/performing service layer. Leveraging a code automation tool (such as CodeFactory), within Visual Studio 2019, we will demonstrate how to efficiently build customized service layers that will help to ensure that your architecture standards are met regardless of who is actually doing the coding. Applying code automation to solve architecture problems, pattern adherence and skill set gaps. Skill set gaps and how proper architecture solves them Leveraging patterns to address architecture and skill set challenges Using software factories to solve architecture and skill set problems


Shane Foley

More on Shane Foley

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
What’s New and Upcoming with Xamarin
Abstract
Xamarin makes building great mobile applications easy, and the latest Xamarin release brings features that make building applications even easier. In this presentation, we will look at three new and emerging technologies that will help you build better Xamarin applications than you could before; including the new Shell Navigation, Hot Reloading, and Collection Views. Learn how to use web-style navigation approaches within a Xamarin application. Watch how easy it is to build a Xamarin application iteratively using Hot Reloading. Understand how to organize and present your data in a more concise interface using Collection Views.

David Gallivan

More on David Gallivan

Sessions

Track
ASP.NET
Title
Blazor - Life after the introduction Demo
Abstract
Once the high of seeing Blazor in action, you need to be able to use it in more of a real world applications. This session will show how to do real world tasks in Blazor: Upload and display an image file, provide user feedback, authentication, modal dialogs and change CCS frameworks. These go beyond the basic demo to show the attends the power of the Blazor
Track
ASP.NET
Title
Blazor Basics
Abstract
The what, how, where and why of the new Blazor Technology. Will include basic getting started with Visual Studio and Visual Code. Create and build the project templates and deploy to Azure. Attendees will walk away with a new excitement for Blazor.

Elliot Garbus

More on Elliot Garbus

Sessions

Track
Python
Title
Web Scraping with Python
Abstract

The session will review a web-scraping project.  The objective: collect the contact information from an online membership database.  The session will take a quick look at a number of web-scraping tools including Beautiful Soup, PyPupetteer, Requests, and Requests-HTML, Scrapy and Selenium.  The session will share key resources for HTML novices to effectively take on web-scraping tasks.  A full walkthrough of the code, including post-processing of the collected CSV files, will be included.  Key lessons learned, and multiple stumbling blocks will be reviewed.


Jeff Garland

More on Jeff Garland

Sessions

Track
Other
Title
C++20: The new stuff you need to know about
Abstract

What is new in C++20? How can you use it? Will it make your life easier?

C++20 is an absolutely massive release with many changes to both the language and the library.  A subset of the language changes include concepts, modules, coroutines, spaceship operator (3-way compare).  On the library side, the STL algorithms have been completely revamped using ranges.  Other library additions include expanded chrono support, string output formatting, span, associative container enhancements, uniform container erasure, threading and atomics support, bit manipulation facilities, iostream updates, and various math utilities.

Note that due to time constraints most of these topics will be covered very briefly, but with pointers in the slides for futher study.  We'll spend the first 3rd of the time on language changes and then the focus will be on containers, format, and threading -- all of which you can start using today with open source libraries.

Track
Other
Title
C+20: From STL to Ranges - Using Ranges Effectively
Abstract

This course provides a survey of C++20 ranges and their application. Ranges are the largest revamp of the Standard Template Library (STL) in 20 years and will impact daily C++ programming dramatically. Some of the changes seem minor, but full utilization of ranges is much more transformational to coding practice.

The tutorial goes beyond the basics to explore what's behind the library. For example, understand the key differences between algorithms and views and when to apply them. As the first major library in C++ to apply Concepts the tutorial will look at Range Concepts and how the library utilizes the new language feature.

Chock full of example code this tutorial will bootstrap programmer's usage of std::ranges.


Austin Godber

More on Austin Godber

Sessions

Track
Python
Title
Intro to Python Part 1 - The Core Language
Abstract
Learn about Python! In this talk we will discuss the Python language core features and libraries as well what it takes to get started using Python.
Track
Python
Title
Intro to Python Part 2 - The Ecosystem
Abstract
One of the Python language's super powers is its diverse ecosystem of third party modules. This talk will explore a tiny subset of the many things you can do with third party modules. This will include things like accessing a database, making a webapp, manipulating images and more!

Ken Gregg

More on Ken Gregg

Sessions

Track
Soft Skills
Title
16 Ways to Tell You're Not a Beginning Programmer Anymore
Abstract

How do you know when you're not a beginning programmer anymore? We'll cover 16 attributes of an experienced, professional programmer (or software developer or software engineer or whatever the job title of the day happens to be). If you've got at least 10 of these 16 attributes, you're probably not a beginner anymore. You should set your sights on all of these, not just the minimum 10. Some are relatively straightforward to achieve, while others require a good measure of diligence, patience, and humility. These attributes are based on decades of experience as both a software engineer and a manager of software engineers at all levels. (Why 16? It's a nice round number, if you think in hexadecimal.)

Track
Other
Title
Catching and Handling Windows Exceptions in C++
Abstract

Catching and handling "thrown" exceptions in C++ is well documented. But what if you need to catch Windows access violations, data misalignments, divisions by zero, illegal instructions, and a variety of floating point exceptions? You could use Microsoft's SEH mechanism, but it's not well integrated with standard C++ exception handling. In this session, you'll see how to catch Windows exceptions, on a per-thread basis, as standard C++ exceptions derived from the std::exception class. We'll use Visual Studio 2019 Community edition IDE and the Visual C++ compiler. (Knowledge of standard C++ exception handling is recommended.)

Track
Other
Title
Information Hiding with Opaque Pointers in C
Abstract

Are users of your C structures reaching in and placing your structures in an invalid or inconsistent state? Are changes you make to your structures breaking your users' code? Do you need to make some of your structure members read-only, write-only, read-write, or completely invisible to your users? Using opaque pointers in C can help you a achieve a clean interface that gives you full control over the internal implementation and visibility of your structure members. We'll use Visual Studio 2019 Community edition and the C compiler built into Visual C++, but the techniques can be applied to a wide variety of C compiler implementations. (Knowledge of C structures and pointers is recommended.)


Rich Hamack

More on Rich Hamack

Sessions

Track
Artifical Intelligence (AI)
Title
Intro to Azure Cognitive Services - Computer Vision
Abstract
Microsoft Azure offers a wealth of tools to examine the content of images, using pretty sophisticated machine learning capabilities. Using these capabilities is not difficult, but it can be daunting to get started. Come explore the Cognitive Services Computer Vision capabilities and learn how to jump start your image processing.

John Hannah

More on John Hannah

Sessions

Track
.NET
Title
Using Visual Studio 2019 with code automation to auto-generate customized service layers in a Contract-Driven Architecture
Abstract

Whether you are building a small 2-tier application for a mobile application or a Fortune 500 Enterprise class n-tier/SOA implementation with all of the bells and whistles, the basic services that sit between the layers of your application are both critical and at the same time kind of boring. Nothing will impact an application in terms of performance or security failures faster than a poorly implemented/performing service layer. Leveraging a code automation tool (such as CodeFactory), within Visual Studio 2019, we will demonstrate how to efficiently build customized service layers that will help to ensure that your architecture standards are met regardless of who is actually doing the coding. Applying code automation to solve architecture problems, pattern adherence and skill set gaps. Skill set gaps and how proper architecture solves them Leveraging patterns to address architecture and skill set challenges Using software factories to solve architecture and skill set problems


Christopher Huie

More on Christopher Huie

Sessions

Track
Artifical Intelligence (AI)
Title
Intro to Deep Reinforcement Learning with Retro Video Games
Abstract
Video games are one of the most exciting environments for the future of machine learning. Specifically, reinforcement learning models, that learn through interacting with their environment, have found a true training and testing ground in the world of video games. This is because reinforcement learning, unlike other areas of machine learning, is focused solely on a reward signal and maximizing a specific reward function. So we will first look at some of the recent accomplishments and talk about deep reinforcement learning at the highest levels of engineering like AlphaStar and OpenAi Five. Then we will get hands-on and look at creating our own deep reinforcement learning agents using OpenAI's Gym-Retro environment. This talk will show you how to setup your learning environment, introduce convolutional neural networks inputs for your model (to read the screen), and show you how to build your first deep reinforcement learning model that learns to play a level in Sonic the Hedgehog 2 (and other retro video games).

Lisa Hunter

More on Lisa Hunter

Sessions

Track
Soft Skills
Title
Effective Communication: Talk Smarter, Not Harder
Abstract

So you worked hard to get into your role in the software industry thinking "this'll be great - I'll get to code all of the time and never have to talk to anyone". Then suddenly one day after ramping up in your position you find yourself getting pulled into design reviews and cross-team meetings where you need to build consensus and influence others in ways that school didn't prepare you for. You may even find yourself avoiding or dreading these situations. These conversations don't need to be painful however, especially when there can be major benefits to having them; all it takes is a bit of preparation and having the right mindset going in. Come learn some tips and tools for leading difficult discussions and constructively driving towards an end goal that results in a better product with less stress on your shoulders. Not a developer? Not a problem! These tips are applicable to any role.


Justin James

More on Justin James

Sessions

Track
Javascript/Node.js
Title
Cypress: Where Automated Web UI Testing Isn’t Just for QA Anymore
Abstract
Today’s fast-moving software delivery environment emphasizes pushing value to production as quickly as possible. “Value to production” implicitly requires high quality—low quality is of little value to anyone! —which means teams need to focus on being able to specify, build, test, and deploy software effectively and quickly. Acceptance testing historically been manually intensive efforts run by a dedicated QA department, resulting in a slower pace of production releases. No longer do we have to make acceptance a manual effort that requires a dedicated QA department. With the release of Cypress, we have a new standard in front-end testing that allows every developer to create acceptance tests. Come learn how you can create fast, easy, and reliable test for anything that runs in a browser regardless of the front-end framework used. You will walk away ready to end the era of “Developers don’t write acceptance tests” and start writing acceptance tests for all of your projects.
Track
Soft Skills
Title
Ultimate Presentation Formula for Nerds
Abstract
As a techie, we need to be able to talk to more than just 1s and 0s. Talking to computers is great but we also need to be able to talk to humans and give an effective presentations if we want to be seen as the go to expert. Join me in this interactive session to get the critical techniques I used to grow from 0 talks to giving 200+ talks at over 75 events around the world. Public speaking just like talking is a skill that can be learned with the right training and mentorship. Being shy and introverted doesn't have to doom you to a life of only talking to computers even though it is really cool to talk to computers. You will walk away inspired to share your knowledge and be seen as the go to expert.

Theo Jungeblut

More on Theo Jungeblut

Sessions

Track
Soft Skills
Title
Accidentally Manager – A Survival Guide for First-Time Engineering Managers
Abstract
This session is about your career perspective as an engineer, especially when the path may take an “unexpected” turn from technical lead to first-time engineering manager. We will explore the differences between managing and leading, review different management styles, and discuss their impact on both the manager and the team member. Finally, we will find out why you do not want to treat everyone equally. I will share my personal experiences going from being one of the team to actually managing it: the pitfalls of suddenly being responsible for the team, typical problems surfacing, and how to avoid common mistakes. As part of the session, I would also like to share thoughts and considerations about which career path could be the right one for whom, and what the advantages and disadvantages are going one way or the other. This is not a “You get it all from the expert”- session, but a session to share experiences and discuss how this fits to your career path.
Track
.NET
Title
Clean Code - Best Practices
Abstract
All Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd Clean Code presentation on The Art of Decoupling, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing the code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained. This presentation is based on C#. However, the demonstrated patterns and practice can be applied to every other programming language too.
Track
.NET
Title
Clean Code – The Art of Decoupling
Abstract
Why writing Clean Code makes us more efficient? Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. We will dive into why decoupling is so crucial and what design patterns, best practices, and technologies are out there to do it right and want can go wrong. We start by reviewing the basics of Inversion of Control (IOC) and Dependency Injection (DI) and different ways of achieving decoupling on class-level, using and exploring both: Best Practices, Design and Anti Patterns. Then we will move into Microservices, how these push decoupling to the next level and how to combine the different patterns for an extensible, supportable and maintainable code base. This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate scenarios for DI and Microservices depending on the participating group. This presentation is based on C#. However, the demonstrated patterns and practice can be applied to every other programming language too.

Shrini Kulkarni

More on Shrini Kulkarni

Sessions

Track
DevOps/System Administration
Title
DevOps and DevSecOps (DevOps with Security in Mind)
Abstract

As organizations embrace DevOps, developers and operations work closely together to push new software out rapidly, while improving the quality and making customers happy. However, with speed comes risk. How can these teams build security into their new DevOps culture to ensure secure, high-quality software? 

This talk will first cover DevOps and close relationship between developers and operations and will introduce the security aspect wherever Information Security is at risk within a DevOps organization. 

  • Development with ops in mind - Monitoring and alerting - when why and how
  • Severity and urgency of incidents - How to handle devops without losing your sanity
  • Using Devops tools for incident response best practices in communication during incidents
  • Post Mortems/COEs/Follow Ups - Triaging and log analysis (common tools and tricks)
  • Security as primary concern (DevSecOps) - Tools available, Web Application Firewalls
  • Security incident response and understanding impact
  • Policies and agile tools to ensure uptime and smooth operations
  • Dealing with operations/security overload. 

Andrew Lenards

More on Andrew Lenards

Sessions

Track
Functional Programming
Title
User interfaces in Elm
Abstract
Elm, a delightful language building robust user interfaces with no runtime exceptions, is inspiring other libraries (see also Redux) and showing that statically typed languages can be approachable. A short introduction on why you might be interested in using Elm. Or, try before you attend: https://elm-lang.org/try

Jeremy Lindblom

More on Jeremy Lindblom

Sessions

Track
Other
Title
Applied OOP Design Patterns: Rolling with the Punches
Abstract

Applying established design patterns in your object-oriented codebase can help you to "roll with the punches" of evolving business requirements. In this presentation, we'll take a practical look at design principles and patterns as we iteratively build a package with increasingly challenging feature requests. The key acronym in our tool belt? SOLID. (NOTE: This presentation will use an OOP-style pseudo-code language to appeal to developers of more than just one language.)

Track
PHP
Title
What's New in PHP 7.4?
Abstract

PHP is constantly evolving and getting better and faster. Come learn about the latest features in the language from the past few years and what's coming up very soon in version 7.4.


William Lindley

More on William Lindley

Sessions

Track
Other
Title
Mojolicious: A Modern Web Framework
Abstract
Mojolicious is a fresh take on rapid, robust web development utilizing the latest web standards and technologies. You can get started with your project quickly, with a framework that grows with your needs. Mojolicious is a real-time web framework, which allows a new class of web applications using WebSockets, non-blocking techniques like Promises, and thousands of other proven, tested modules that can interface with almost anything. Its foundational language already comes bundled with all popular Linux distributions from supercomputers to the Raspberry Pi, so it is easy to get running in your development environment and on your servers. It is well documented and supported by an active community.
Track
Other
Title
Seventy years of computer history in about Twenty minutes
Abstract

With nothing but a box-full of actual see-and-touch artifacts from the last hundred years, we will meet the first person to invent the concept of a computer program, and the person to discover the first real computer "bug" and invent the concept of a computer language (they were both women). We will discover why Samuel Morse's telegraph still lives in the newest "smart" devices, how Golden Age movie actress Hedy Lamarr helped make cellphones possible, and how "It's all just ones and zeroes" changed everything.


Karen Lopez

More on Karen Lopez

Sessions

Track
Cloud
Title
Policy-as-Code using Azure DevOps
Abstract

DevSecOps: let's not forget security in your DevOps methodologies. In this session we'll go over using Azure Pipelines in order to comply with your security needs in your environments while continue with CI/CD. -Introductory Level-


David Lundell

More on David Lundell

Sessions

Track
Identity Management
Title
Discussion: Identity Management Professional Meetup
Abstract

Are you an Identity Pro? We haven't had an Identity Meetup since 2017. Let's discuss what you would want out of a meetup.  Vendor specific? Vendor agnostic? Monthly? Quarterly? Physical or virtual? Where? Should we tie in with IDPro?

Track
Identity Management
Title
Getting Started with Azure Active Directory
Abstract
Behind every Office 365 tenant is an Azure Active Directory tenant. Learn what else you can do with it: Enable SSO to many applications, perform conditional access control, make your on premises AD more secure, and more!
Track
Soft Skills
Title
How to Be an MVP
Abstract
Many times we look at the success of others and think it is beyond us. In this session, 12 time Microsoft MVP (2007-2019) and author of "How to Be an MVP in Life", David Lundell, will share stories from fellow Microsoft MVPs, and some sports MVPs illustrating key attribute in professional and personal development relating to becoming a Microsoft MVP, and even more importantly becoming an MVP in Life.

Bryan Maamo

More on Bryan Maamo

Sessions

Track
Design (UX/UI)
Title
Why StorybookJS?
Abstract

StorybookJS is a tool utilized in Component Driven Development,
popularized by ReactJS,
born because of it.

In recent years, the story has evolved.
It will break the wall between UI Development and UI/UX design.

Design System.


JOSH MARTIN

More on JOSH MARTIN

Sessions

Track
PHP
Title
Writing Secure Code
Abstract
Are you writing apps in PHP or a using a PHP Framework? Is your code leaving valuable data vulnerable? Learn the basics of protecting data in PHP!

Matt Masuda

More on Matt Masuda

Sessions

Track
Other
Title
Event-Driven Architectures with Apache Kafka
Abstract
"Event-driven" is a programming paradigm in which services create events and react to events instead of responding to requests. Event-driven architectures are an alternative to the more familiar web-based request/response microservice architectures and aim to solve some of the problems we encounter with request/response patterns. In this talk we will be talking about the characteristics of event-driven architectures, how they differ from request/response HTTP based architectures, and their advantages and disadvantages. In addition we will look at the Kafka streaming platform as the backbone for event-driven architectures - what capabilities it brings to the table and what issues it might introduce.

Joe Mayo

More on Joe Mayo

Sessions

Track
Artifical Intelligence (AI)
Title
Deep Learning Basics
Abstract
In this session, you'll see how deep learning works. We'll cover the basics, discussing concepts and techniques that are common to many types of deep learning. Although math is inherent in how deep learning works, Joe will explain enough to where you don't have to be an expert in calculus, linear algebra, or statistics. You'll see that this technology doesn't require a Ph.D. for any developer who wants to learn and take advantage of AI. By the end of the presentation, you will have seen a full example of how deep learning works, design and considerations, and practical applications.

David McCarter

More on David McCarter

Sessions

Track
.NET
Title
Rock Your Code: Code & App Performance for Microsoft .NET
Abstract
The performance of code is always something that is very important. Even more important if your back-end apps are processing tens of thousands of requests per second. In this session, I will reveal the do’s and don’ts when it comes to improving code performance when writing business software. Some code I will show can be up to 98% faster! Reducing memory that your app uses is also very important and will be discussed in detail. The demos in this session will work with the .NET Framework and .NET Core.
Track
Cloud
Title
Rock Your Code: Real World Cloud App From Start to Finish (Part 1)
Abstract
This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language
Track
Cloud
Title
Rock Your Code: Real World Cloud App From Start to Finish (Part 2)
Abstract
This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language

Devin McCarville

More on Devin McCarville

Sessions

Track
QA/Testing
Title
How Quality Assurance Makes an Impact in the Software Development Life-cycle
Abstract

Quality Assurance can make an incredibly significant impact throughout the entire SDLC. More so, understanding the importance of Quality Assurance and how its impact on not just the software but also on clients or consumers is pivotal to a software company's success.


Jay McGavren

More on Jay McGavren

Sessions

Track
Other
Title
Intro to the Go Language
Abstract

Taught by the author of Head First Go, this session will give you an idea of what Go's about. We'll show you basic program syntax, including time-savers like short variable declarations and "for ... range" loops. We'll show you cool Go features like first-class functions (pass functions as data!), interfaces (duck typing at compile time!), method promotion (OOP without class inheritance!), and goroutines and channels (concurrency made easy!). When we're done, you'll understand what Go offers and how it can help you on your next project!


Christopher R Miller

More on Christopher R Miller

Sessions

Track
Other
Title
Intro to Rust
Abstract

Rust is a modern, strongly-typed, non-garbage collected language from Mozilla pursuing the trifecta: safety, concurrency, and speed. For four years the StackOverflow survey has placed Rust as the most loved language. You can write anything from operating systems, device drivers, video games, graphical applications, to web applications in Rust. It can be a little intimidating to get started as there are a few concepts that may be new to the learner. We'll explore the language by looking at how to build a _. After this session, you should be able to understand some of the features of Rust, how to get started, and where to find resources to continue learning Rust if you so desire.


Nick Niemeir

More on Nick Niemeir

Sessions

Track
Javascript/Node.js
Title
WASM: Practical uses today.
Abstract
No matter what your language or platform, WASM may well be the future of how we run software, but that hypothetical future is a long way away. In this talk we're going to explore what it's actually good for today. We'll start with a brief overview of what WASM, WAT, and WASI are. Then we'll look at the languages and tool chains that compile into WASM, as well as the platforms that can run it.

Jerry Nixon

More on Jerry Nixon

Sessions

Track
Other
Title
QUANTUM COMPUTING AND OUR IMMINENT BRAVE NEW WORLD
Abstract
The coming Quantum age will soon eclipse this Silicon age. Whatever you think about classical computing, machine learning, data security, and personal privacy is all about to change. Quantum is different. Parallel universes? Teleportation? Writers will need to work harder to put the "fiction" back into Science Fiction. Perhaps the most unexpected changes will be in artificial intelligence, medical research, climate control, education, and manufacturing. But what? And, how did we get here? When will we get there? And, what should you do before we arrive?

Wes Novack

More on Wes Novack

Sessions

Track
Cloud
Title
Automate AWS with the CLI and Shell Scripting
Abstract

AWS tasks are often multi-step processes. Typically you have to issue a command, wait until the target object enters a particular state, and only then continue on by issuing yet another command, or click something else in the web UI. In this talk, I will demonstrate how to take control of AWS tasks using the AWS CLI and bash shell scripting. By combining the strategies discussed in this talk, you will no longer have to wait on AWS, nor will you have to employ multi-step, manual processes. Instead, let your scripts do the work for you! We’ll start by introducing the AWS CLI and the basics. Next, I will demonstrate some simple aws cli commands, turn them into functions, and then move on to more complex scripting such as stopping and then starting an ec2 instance, all from one script. We’ll also learn about –filter, –query (JMESPath!), and a handful of other tips & tricks.

FYI: This talk was previously "Introduction to Terraform", but has been changed. Apologies to anyone that was hoping to see a talk on Terraform.


Wolf Paulus

More on Wolf Paulus

Sessions

Track
Artifical Intelligence (AI)
Title
Exploring Neural Word Embeddings with Python
Abstract

Standing on the shoulders of giants, we don't have to design, create, and train a neural network, but instead, use one that already exists. We download a public domain fully trained neural network and modifying it slightly (to make it load faster during the session).

Python

I'm teaching a junior college Python course and usually show this at the end of a 16-week intro class. I.e., you don't need to be a Python expert to get something out of this session. Knowing a little Python will be helpful, but all demos easily translate into other languages, like Java for instance.

Objectives

After the session you will have a general understanding of "Neural Word Embeddings", understand what "cosine similarity" means and how to calculate it. I know, that may not sound all that exciting. But imagine you type in the question, "Men is to boys what woman is to" and your Python program answers with the word "girls". Or you type "Men is to king, what woman is to" and your Python program answers with the word "queen". But that is just the beginning, I will also show you an example that uses the same technique applied to a much more relevant topic, detecting bias in a text.

 

Track
Cloud
Title
Running Docker images in AWS Fargate
Abstract

Allow me to tell you a story, a story about a simple web-service that answers only one question: if a given number is prime.

The core problem is first solved with a Java class, which is then wrapped into a WebServlet and tested within a web server environment. The web server, however, does not get directly installed, but a docker image is created, containing all the mentioned components.

Eventually, the docker container is pushed into AWS ECR, a container registry, from which it is deployed and run. Using AWS ECS and Fargate, the simple service is finally made public and available to the world, scalable, all without having to manage servers or clusters.


Well, this is not about story telling of course, nor will I focus too much on Web-Services or Docker, still, as a starting point, we want to create a simple Web-Service, implemented in Java and made available via Tomcat. This web server will then be put into a docker container and stored at the Amazon Elastic Container Registry (ECR), a private, but fully-managed container registry that makes it easy for developers to store, manage, and deploy Docker container images... But that's just the the beginning, the focus will then be on AWS ECS and Fargate, a compute engine for Amazon ECS allowing you to run containers without having to manage servers or clusters. 

All of this is done in code, i.e. not using the AWS Web UI. Of course all the code and shell scripts are demo-ed in this hands-on session .. and shared on github.

 

I expect that you'll leave the session with a good understand of what AWS ECR, AWS ECS, and Fargate are all about and with a motivation to try it out and run your own docker container in fargate, making it available to your users, customers, or the world. 


Pooja Rallabhandi

More on Pooja Rallabhandi

Sessions

Track
Soft Skills
Title
Let us Learn to Say NO
Abstract

"NO" is a simple English word, however as grownups and professionals we find to stay away from using this word as much as possible. What does that result into? A fully packed work schedule, working on something we are not fully interested in, utlimately making us unhappy individuals. In this session, get re-introduced to the word NO and see how it helps us manage our time well, keep us active and happy. Let us all learn to use this word efficiently to remove the negative bubble around us.


Michael Rice

More on Michael Rice

Sessions

Track
Soft Skills
Title
How to be a tech lead
Abstract

We don't talk enough about the tech lead role, and most companies give very little thought to who should be a tech lead and how to make people successful in the role.

In this fast paced, interactive session, you're going to walk away with more clarity, certainty, and confidence in the tech lead role!

  • What is a tech lead?
  • Should you be a tech lead?
  • Why it's such an important, pivotal role in your career (but often overlooked)
  • The four core, most important capabilities tech leads should develop
  • What effective and ineffective tech leadership looks like
  • What happens after tech lead?

Michael Rice has been working on the tech lead problem for over two years now. He is the author of How To Be a Tech Lead (free on leanpub), podcaster at Tech Lead Coaching, and writes a weekly newsletter on the topic. He has managed architects and tech leaders for companies like VMware (current) and Red Hat, and has almost twenty years of experience in the software industry. Think you're going to really enjoy this session!

Track
Cloud
Title
How to make the most of Kubernetes as a developer
Abstract

Kubernetes and cloud native applications are becoming a huge topic.

We'll talk about the advantages of K8S to set the context for attendees, but we're going to focus on specific, actionable steps app developers and software engineers should take to make the most of Kubernetes.

Will include as much live code as time permits!

We're going to talk about:

  • what changes to consider in your app architecture to make the most of K8S
  • general containerization considerations for K8S
  • mapping 12 Factor concepts to K8S
  • what additional frameworks app devs should consider
  • specific details like logging
  • exposing the right health and readiness endpoints
  • how to wire up other services and data storage
  • considerations for legacy apps
  • a discussion of resources at the Cloud Native Foundation
  • and much more.

Bonus: will hand out a checklist of considerations for app developers going cloud native on K8S

You'll walk away with a clear understanding of why K8S is so useful for your application and how to actually take advantage of it.

Note: the presenter is Michael Rice, Field Engineer Manager for Cloud Native Apps at VMware, but this presentation will focus on open source K8S and tooling.


Rob Richardson

More on Rob Richardson

Sessions

Track
DevOps/System Administration
Title
Database DevOps with Containers
Abstract
Unlike CI/CD pipelines for applications, we can't just delete the database and pop up a new one with each new version. Let's start with the production database, and get SQL Server content to developers in containers, and then flow schema and lookup data back into production with migration tools. You can bring the reliability and automation of CI/CD pipelines to Database DevOps with containers.
Track
.NET
Title
HTTPS in ASP.NET Core in Docker Linux Containers Deep Dive
Abstract
ASP.NET Core lights up HTTPS by default. Running from the command line or from Visual Studio installs and trusts self-signed certificates so we don't get the browser error when debugging. But how do we get this trust experience when running inside Linux Docker containers? Let's dive deep into certificate trust, how Linux stores certificates, and how ASP.NET Core uses certificates. With that knowledge in place, let's build up Docker containers for both development (self-signed) work, and containers that have real, trusted certificates should you choose a Layer-4 load ballancer in production.

Peter Ritchie

More on Peter Ritchie

Sessions

Track
Agile
Title
Architecture and Complex Software Solutions
Abstract
By no means does software succeed without making some architectural decisions. Sometimes they're easy, almost implicit, but sometimes there are not. It's in those situations where architecture isn't implicit and in need of very serious consideration. This session will contrast Design and Architecture and dig into some areas where the needs that architecture can address are not so easily addressed by File/New/Project. The session will continue with why those areas require unique attention as well as how Architecture addresses them.
Track
Agile
Title
Why is Implementing Requirements So hard?
Abstract
Software project failures are making front-page news. But even with agile, it seems that fulfilling requirements is a herculean task. Maybe the answer is in the statement? Join me in looking at how the software industry has failed at fulfilling requirements and some of the ways it is believed to have caused those failures. Without understanding history, we're doomed to repeat it; but we'll also continue to look at details ways of addressing the problem. We'll then round things out by moving past the subjective into the objective to detail some techniques all of us can use that truely help manage the symptoms causing the problems.

Travis Rogers

More on Travis Rogers

Sessions

Track
DevOps/System Administration
Title
DevOps Pipelines Overview
Abstract
We will define what DevOps pipelines are and what are some common patterns that you will find when working with them. These patterns include items like Continuous Integration, testing, and Continuous Delivery. We will also discuss with what the future might hold for DevOps pipelines The meeting will conclude with a demo of an example Azure DevOps pipeline.

Robin Shahan

More on Robin Shahan

Sessions

Track
Cloud
Title
Automated routing of messages with IoT Hub
Abstract
IoT Hub Automagical Routing of messages In this talk, I'll use several Azure services to create a demo that shows how the automatic routing available in IoT Hub works. You'll see how to incorporate these services into one sample: IoT Hub, Storage, Service Bus, Azure Stream Analytics, PowerBI, Logic Apps, and Office 365. I'll give some examples of IoT, and then delve into IoT Hub. I'll show how to use the feature in IoT Hub that lets you configure routing rules and have the hub automagically send your messages every which way. We'll see how to route messages to a storage account. We'll see how to route messages to a Service Bus queue that will in turn use a Logic App to send you e-mails with the message content. You'll see the rest of the messages go to the default endpoint, to be picked up by Azure Stream Analytics and viewed in Power BI. We'll run a C# application that sends messages to the Hub and triggers the different kinds of routing, and see the messages flow through to the different destinations.

Vladislav Shapiro

More on Vladislav Shapiro

Sessions

Track
Identity Management
Title
Non-coding elements of Identity Governance program: maturity, ownership and human factor cost
Abstract
What is outside of Identity Management provisioning workflows, behavior analytics, connector factory, microservices, protocols and data rendering? People, not just identities, actual people who manage policies, request and approve access, administer and use Identity management tools, adhere or deviate from defined rules. People who own elements of Identity Governance programs and drive business to some direction. How to measure maturity of Identity, Governance and Administration, so one can build a program which will correspond current state and bring it to the next level? How to estimate cost of human factor around Identity Governance program? All of these questions will be discussed during this session, and participant will get practical advises and recommendations not only how to do it, but also how to explain to organization leaders why it is important. Identity is a new security perimeter, so we need to be smart about real human beings behind them.

Barry Stahl

More on Barry Stahl

Sessions

Track
Artifical Intelligence (AI)
Title
Amazing Algorithms for Solving Problems in Software
Abstract
Yeah neural networks are cool but have you ever used a Firefly Algorithm to find the solution to a problem? How about Minimax or Dynamic Programming? In this talk we will see examples of a number of cool algorithms that can be used to solve problems in software. We'll see how each algorithm works, analyze its strengths and weaknesses, and determine when it is best used. You'll leave with the knowledge you need to solve problems using these algorithms in your language of choice.

Jon Stephenson

More on Jon Stephenson

Sessions

Track
Cloud
Title
With the gig economy even web servers are becoming gig workers.
Abstract

Gone are the days of running a LAMP server and having it sitting in a room waiting for a request. Now your server comes online long enough to serve your users the page they want then it goes away. We will look at some of the ways faas and paas are replacing traditional web servers and how to setup a simple dynamic serverless site in 5 minutes. 


Todd Sussman

More on Todd Sussman

Sessions

Track
Agile
Title
Data-Driven Continuous Improvements
Abstract
In the past, we needed KPIs and metrics to help calm our nerves as we tried to predict the likelihood of a projects success. Agile addresses some of the concerns that drove KPI adoption, but is there still a use for them in agile organizations? Join us and learn how you can use metrics to help drive improvements in your organization.
Track
Agile
Title
Relative Sizing
Abstract
Humans are bad at estimating in real numbers, that's why we have relative sizing. Learn about the problem space, and different strategies you can use at different points in the life cycle of a story.

Erik Tank

More on Erik Tank

Sessions

Track
Other
Title
Adding Avro to your Kafka streams to meet your messaging needs
Abstract

Now that you have Kafka up and running how are you going to use it? Kafka doesn't care what it transfers; just that it gets delivered.

You can blaze your own trail defining everything, but then everything is your and your user's responsibility. You can create the equivalent of a HATEOS message - which bloats your message and requires your clients to create a smart parser. In contrast you can create a minimalist message - which requires your clients to know everything about what your message and they'll have to make updates every-time you change the message.

Enter Avro. Using Avro schemas allows you to define and share you message schema with all the information to validate your message ... without bloating your actual messages.

In this talk we will be exploring what Avro is, what it isn't, and if it's worth your time. As a hardened Perl* programmer who lives by TIMTOWTDI, who abhors systems that get in the way by imposing their ideology, I'll share with you why I've adopted Avro when dealing with Kafka. * Code examples may include a Perl example, but will be primarily in Java.

Track
Database (SQL/NoSQL)
Title
SQL (Why ‘Little Bobby Tables’ is funny)
Abstract

SQL (Structure Query Language) has been the preffered interface to relational database since the 70s.

You may be thinking: Ok grandpa!  Let the 70s have their SQL ... we're living in the NO-SQL era.

Not so fast! An understanding of SQL is needed.  It'll allow you to understand that legacy (and that not-so-'legacy') DB code and set you up for success with the many variations that the NoSQL DBs use (Cassandra - CQL, Kafka - KSQL, Hadoop - SQL-on-Haddop, Amazon - Just SQL).

We'll be taking a brief dive into SQL (from a programmer's perspective) to see what it can do for you, how to get it done and ending with some best practices - maybe some examples.

Little Bobby Tables XKCD: https://xkcd.com/327/


Parth Thaker

More on Parth Thaker

Sessions

Track
Agile
Title
Adopting SAFe
Abstract
In an ever changing, highly dynamic industry, how enterprises / groups can adopt SAFe & move towards agility in a SAFe way. Idea is to understand SAFe principles, guidelines & adopt new roles & techniques towards large scale solutions.

Dave Townsend

More on Dave Townsend

Sessions

Track
Cloud
Title
Automating your day job with Infrastructure as Code
Abstract

Successful modern application development in the cloud requires a modern approach to managing cloud infrastructure. Building cloud resources by hand in the console or some other means without a repeatable and automated way to manage the architecture is both highly error-prone and non-scalable.

In this session, we will cover what infrastructure as code is all about, why it is beneficial to use and how to start using it today to be more productive. CloudFormation will be used in the examples to explain how to fully manage cloud resources on AWS using infrastructure as code.


Adwait Ullal

More on Adwait Ullal

Sessions

Track
Cloud
Title
Azure Governance
Abstract

MS has lately invested a lot of resources helping enterprises adopt cloud-first mindset. This session is all about to give you glimpse of what Azure governance tools are available and how to get started in your cloud journey.


John Varghese

More on John Varghese

Sessions

Track
Javascript/Node.js
Title
A Javascript padawan's expedition into AWS DynamoDB - the journey begins.
Abstract

If you have been using Javascript of years you may find it easy to quickly assemble a web page that can use Dynamo DB as a back end. But what if you are new to both Javascript and DynamoDB? Well then it is not easy, at least not at first. It was not easy for me. I will show how I built a very simple Javascript web application that can get user input and store it in AWS in a NOSQL database. I'll show you what I tried and how I overcame the blockers, one step at a time.

 

I used the Gatsby JS framework to get started, the grid layout to display cards, the AWS Javascript SDK to query and update AWS DynamoDB, and React's state hooks to leverage the async nature of DynamoDB response.


Vaughn Vernon

More on Vaughn Vernon

Sessions

Track
REST
Title
Really Simple Event-Driven REST APIs
Abstract

When should you use request-response and when should you use messaging instead? What if you could use REST for everything, including Event-Driven Architectures?

Learn how to design REST APIs that support both conventional human user interfaces and services, and those that support Event-Driven, and more generally, Message-Driven Architectures. As a bonus, expect to pick up tips on Reactive programming. This session is about REST API design for request-response and event-driven microservices with Domain Events using Event Sourcing and CQRS.

Track
Functional Programming
Title
Really Simple Functional Programming
Abstract
If you have the feeling that Functional Programming is a big mystery then this session is for you. Don't be frightened by Pure Functions, Immutability, Side-Effect Free, Referential Transparency, Functors, Monads, and other terms. Using some very simple design techniques you can get the best out of Functional Programming rather than it getting the better of you. Start using Functional Programming immediately during the session.
Track
Other
Title
Really Simple Reactive Programming (Java and C#.NET)
Abstract
Applications, services, and systems are changing out of necessity because of the kinds of platforms that are available today: distributed and multi-core. Have you been curious about Reactive Programming but haven't had time to dig in? Following this session you will be in position to put Reactive to use on your projects. We will start from foundational building blocks and scale up to full Reactive implementations. If you bring your laptop and Java 1.8+ or .NET Core2 with C# you can try out Reactive during the session.

Anne Watson

More on Anne Watson

Sessions

Track
Other
Title
Landing Pages 101 and Workshop
Abstract

Don’t be intimidated when it’s time to create a landing page! We’ll go over easy tips on how to make a landing page with WordPress. We cover the latest trends in landing pages, as well as how design needs will change according to your resources and goals. In a crowd-sourcing exercise, get feedback for your landing pages; submit them ahead of time via twitter to @awatsonbarber


Brad Westfall

More on Brad Westfall

Sessions

Track
Javascript/Node.js
Title
Building SVG with React - What I learned while building a little project
Abstract
I wanted to create this tree diagram thing in React and so I chose to do it in SVG DOM nodes instead of HTML or using some overly complex library. I learned some cool things, let me share them with you.
Track
Javascript/Node.js
Title
React Hooks
Abstract

We'll cover these common hooks (useState, useEffect, and useCallback) in their basic form but then I'd also like to talk about their nuances which tend to confuse those who are new to hooks. All live coding of course. This is not a beginner React talk so it would be helpful if you already understood React basics. It would also be helpful if you had very basic level knowledge of these hooks (and hooks in general) as we'll be moving fast through some of the more advanced ideas behind these.


Fei Williams

More on Fei Williams

Sessions

Track
Javascript/Node.js
Title
TDD with Javascript
Abstract

In this talk we will talk about Test Driven Development, we will cover:

1. Why we choose TDD
2. Understand how to use TDD
3. Code implementation using javascript and Jest testing framework.
4. Real Demo of Red Green Refactor steps.


Dewei Xiang

More on Dewei Xiang

Sessions

Track
Javascript/Node.js
Title
Build App with Angular
Abstract
Build App with Angular using some best practice of Angular
Track
Javascript/Node.js
Title
TDD with Javascript
Abstract

In this talk we will talk about Test Driven Development, we will cover:

1. Why we choose TDD
2. Understand how to use TDD
3. Code implementation using javascript and Jest testing framework.
4. Real Demo of Red Green Refactor steps.


Stuart Zahn

More on Stuart Zahn

Sessions

Track
Cloud
Title
Automatically Create and Deploy Asp.Net Core Angular Applications with a CLI
Abstract
Learn how to efficiently create and deploy a new ASP.Net Core Angular 8 Single Page Application and deploy a Docker Container using Terraform.
Track
Cloud
Title
AWS, Go, Docker Blob Storage File Server
Abstract

How do you expose static files in the cloud? Learn the architecture of containerized FTP Server built in GoLang. The FTP server will feature a Docker container, blob storage API access to AWS S3 and Cognito for OAuth authentication. Code available here.

Track
Cloud
Title
Become a Linux Command Line Guru
Abstract

Learn the fundamentals of Bash scripting in Linux. This session will review powerful command line tools and compare them to their Powershell counterparts. This course is especially useful for developers who are interested in DevOps and want to learn how to automate operating systems with Ansible. Link to presentation.