Nebraska.Code() Sessions

A Look at the Apollo Guidance Computer

Mankind has accomplished many great feats of engineering and willpower, but few as awesome as putting a human being on the surface of the moon. Men and women from all walks of life, all sorts of techincal backgrounds and specialties came together to do the impossible. A large part of the success of the mission depended on the Apollo Guidance Computer. The AGC was truly ahead of its time despite most of it looking low-tech and simplistic by today's standards. In this session, we'll take an in-depth look at the Apollo Guidance Computer - how it was architected and built, some of the clever innovations that were used to push the envelope of what was possible in 1969, and even dig in to some of the code that helped mankind land on the moon and return safely home.

Speaker

Adam Barney

Adam Barney

Staff Software Engineer, Quicken Loans

Agile Foundations

Everyone is doing Agile these days. IT and business teams alike are told to implement standups and plan using sprints. Executives proclaim the benefits of Agile processes, without really understanding what it means to be agile. Poorly understood agile implementations lead many to view agile as just another failed work process with silly rituals and gimmicky names.

The team leading this workshop organizes Lincoln's agileLNK Meetup group (https://www.meetup.com/agileLNK/). During the workshop, we will demonstrate several agile techniques, explain when to use them (and when not to), and discuss the foundational agile principals behind each one. Every team uses standup meetings, right? What if none of you is in the same time zone…or hemisphere? You will learn how to use familiar agile activities, but also why to use them and what alternatives fit better in different situations.

Common agile topics we will cover during the session: * Sprints/Iterations * Standups * Backlogs * Retrospectives * Metrics * Self Organizing Teams * Kanban * Scrum

Speakers

Rob Nickolaus

Rob Nickolaus

Director of IT, Arbor Day Foundation
Keil Wilson

Keil Wilson

Agile Coach, Nelnet

Animation on the web

There are some powerful tools to animate content on your site. It could be as simple as adding a little animation to an SVG on your site to animating layout and content changes to have more of a flow to illustrate the transition to the user.

We will discuss JS libraries such as GSAP (Greensock) and Lottie as well as explore what CSS animations are capable of.

We will also take a dive into SVG animation with tools like Snap.svg so that you can make extremly lightweight and responsive animations on your site.

Speaker

Shawn Hellwege

Shawn Hellwege

Senior Front End Developer, University of Nebraska

Application Security or Hacking yourself everyone else is...

Software security isn't a tool or a library, everyone knows that you should check your parameters, and watch out for SQL injection, but is that really enough? If you have never had the opportunity to spend time hacking your own applications, you are really doing yourself a disservice. More than ever, the web is becoming an increasingly hostile environment, and because of it developers really need to step up their game. In this session we will go over some of the methodologies that we use internally to test applications, helping developers to think more strategically about designing applications for general security. As part of this conversation I will go over active attacks that we have seen against production sites using steralized examples.

Speaker

James McKee

James McKee

Global Developer Security Program Manager, Trimble

Architecting a Serverless IoT application on Microsoft Azure

In this session, we'll work together to design and implement an end-to-end IoT solution using Microsoft Azure, a Raspberry Pi, and a hair dryer. In true cloud-native fashion, we'll use pure platform-as-a-service (PaaS) components - no VMs allowed! Audience participation is encouraged as we will discuss tradeoffs, design, and scale issues while taking this journey together.

Speaker

Jim O`Neil

Jim O`Neil

Senior Architect, Insight

ASP.NET Core Development Workshop with CI/CD

Sometimes all you need is a little push to make a leap to a new technology stack, but the learning curve can after push back against a desire to move foward. In this full-day workshop we will work through the entire software development lifecycle of a project created with ASP.NET Core, Entity Framework, and Azure DevOps. In this full day session we will cover. * Basic project Architecture * Code Re-Use and Dependency Injection * Entity Framwork Core Basics, including databse migrations/deployment * Unit Testing Implementation & Limitations * Response and Object Caching * Azure DevOps Builds & Deployment At the end of the day attendees will be able to create their own projects from end-to-end with a solid platform including Continous Integration/Continous Development practices and unit testing.

Speaker

Mitchel Sellers

Mitchel Sellers

CEO, IowaComputerGurus, Inc.

ASP.NET Core in Containers on .NET 5

Docker is carefully tucked between virtualization, continuous deployment, and pure awesome. ASP.NET Core is a cross-platform, open-source reimagination of the Microsoft stack. They come together in beautiful synchrony. Whether you're targeting Linux or Windows workloads, you can build your ASP.NET app into containers, and still have the F5 debugging experience you expect.

Speaker

Rob Richardson

Rob Richardson

@rob_rich

Automate all the things

Home automation has been an interest of mine for many years, but it has always been a frustrating mashup of proprietary systems. Performing the simplest of tasks was often impossible or required herculean effort to accomplish. This has improved over the last few years as we have seen an influx of opensource home automation projects and standards based communication. This new opensource software and hardware has opened up many opportunities to create increasingly advanced solutions. In this talk I will share my experiences of one of my most recent projects where I built out a lighting/security control system for my workshop. The technologies we will look at include: Home Assistant, Arduino, EPS32, Raspberry PI, MQTT, LIFX, 10v dimming, POE cameras, voice assistants and more. My solution combined many off the shelf components, open source software, a bit of custom code, and even some homemade hardware. Join me for a fun discussion on how we can automate all the things.

Speaker

Brent Stewart

Brent Stewart

Co-Founder, Alien Arc Technologies

Azure Fundamentals Training Workshop (AZ-900)

This 8 hour workshop is a full-day training that prepares the attendee to take the official AZ-900 exam. The workshop will line up with the measured skills for the exam, and will introduce the attendee to all of the critical aspects of Microsoft Azure, thereby positioning the attendee to move into more practical application of azure concepts. The major topics covered include Understanding cloud concepts, Understanding Core Azure Services, Understanding security, privacy, compliance, and trust, and Understanding Azure pricing and support, Along the way, we'll examine things like - Capital Expenditure vs Operational Expendature - Infrastructure as a service (IaaS) - Platform as a service (PaaS) - Software as a service (SaaS) - Resource Groups - Regions - Availablity Zones - Virtual Machines - App Services - Azure Container Instances and Kubernetes Service - Key vault - Network and Application Security Groups - Azure Active Directory - Subscriptions and Pricing - AI and Machine Learning Studio - Azure portal, Azure PowerShell and Cloud shell - Serverless computing - Azure DevOps and DevTest Labs - Big Data, SQL Data Warehouse, Azure Databricks And more. Please remember- this is a Fundamentals overview of Azure, designed around the AZ-900 exam, so if you are familiar with Azure a lot of this may seem very basic to you - it's not an in-depth review like the AZ-204 or AZ-104 would be, and this workshop will NOT position you to pass AZ-104 or AZ-204.

Speaker

Brian Gorman

Brian Gorman

Senior Training Architect, Opsgility

Better Database Object Mapping in .NET with Dapper

When people talk about using ORMs (Object Relational Mappers) like Entity Framework or nHibernate in their projects, they commonly are only looking for one fundamental feature: the ability to map SQL output to C# object.  Large ORM-based solutions add additional complexity and black-box much of what is happening behind the scenes.

What if there is a smaller, more efficient way to do object mapping without the overhead of an EF?  Dapper to the rescue!  Dapper is a micro-ORM whose core function is to reduce some of the ceremony of talking to a SQL database while leaving you in complete control!

In this session, we'll walk through many of the typical use-cases for Dapper and why you might want to consider it for your current or next project!

Speaker

Kevin Griffin

Kevin Griffin

Swift Kick

Big Numbers

Numbers. How are they stored in computer programs? How big can they get? What the largest number ever calculated in a program? What is a "big" number, anyway? In this session, I'll cover numbers galore, especially as it pertains to development. We'll talk about floating-point, arbitrary-sized integers, fast algorithms, and some truly monstrous numbers in mathematics that we have no hope of ever expressing in code.

Speaker

Jason Bock

Jason Bock

Developer Advocate, Rocket Mortgage

Blast off with Blazor and Dapper with .NetCore/5

Everything you always wanted to know and wished someone had told you. .Net Core/5 is here so lets jump in. We will explore Microsoft's solution to front end development. Why developing with C# and Blazor/Web Assemby is viable when compared to traditional C# and javascript frameworks (Node/Angular). What is the Dapper ORM and how can you quickly implement your data layer within your project.

In our time together we will do a deep code dive. Dependency injection, using postman as a quick api validation tool, controllers, data access and so much more we will explore during this journey together. This is the perfect time to upgrade your skill set and blaze your path using Blazor.

Speaker

Timothy Ingledue

Timothy Ingledue

Enterprise Application Developer, Orion Tech

Blasting Browser Security with Extensions

Abstract

Multi-platform browser extensions are easier to write than ever, can have great authority to examine and alter HTTP requests and responses, and are shockingly easy to get listed on the official respective browser stores. In this talk Micah builds an over-powered, multi-platform extension.

Description

In this talk, Micah gives an overview of how browser extensions work and the web-ext tool for creating extensions that work in both Google Chrome and Mozilla Firefox. He then shows how to debug and test extensions locally as well as how to package them up for distribution. The talk culminates with a real-time attempt to get an extension with an over-powered list of permissions listed on the Chrome Web Store and the Firefox Browser Add-ons Store.

Speaker

Micah Silverman

Micah Silverman

Lead Developer Advocate, Split

Blowing up the Dog Food: Orange Team Exercises in Dogfooding

At this point a lot of companies are comfortable and familiar with the concept of dogfooding, the practice of using your software as a method of functional testing. But what happens if we want to practice securing our applications against attackers or people who would seek to misuse it? Enter ‘Blowing up the Dog Food’ or a fun way to include members of the development and QA team to get involved to test the security of the application. The goal is to setup a method for helping teams to think critically about the implementation of their applications, improve logging to catch misuse, practice the implementations of threat modeling, and test out the security of an application in a way that helps to develop orange team skills in developers as well as test the applications.

Speaker

James McKee

James McKee

Global Developer Security Program Manager, Trimble

Bridging Companies and Learners: Insights From Coaching UNL Students

Over the last three years, I have had the privilege of coaching generations of students at the University of Nebraska-Lincoln in the Raikes School Design and Senior Design Studio program. In this session, we focus on the perspectives gained by serving as an unbiased advocate supporting educational outcomes for students by providing mentorship on topics including Agile methodologies, project management, technology, team member and stakeholder collaboration, communication, and team culture.

Agenda: The Next Generation is awesome! Cross-functionality and t-shaped by default Empowerment commands results. Product champions are game-changers for the end-product. Key factors to success Managing expectations Managing scope

Speaker

Nick Hershberger

Nick Hershberger

IT Manager, Ameritas

Build an API in Azure without using any code

Do we have to be a programmer to build an API? How to build an API in less time? Could a Data/Infrastucture engineer build an API?

Yes, it's possible

Azure provides lots of services to build serverless solutions. In this session I would like to take an enterprise requirement for designing an API without writing code using Azure services in a managed way, allowing to take control through policies, add security, insights, provide decoupling between frontend and backend. We can enrich our services with capabilities like caching, throttling, advanced security, and even protocol and data translations.

Speaker

Karthik Nallajalla

Karthik Nallajalla

Software Developer, Blue Cross and Blue Shield of Nebraska

Building applications with Firebase

When Firebase first started it was focused on providing a real-time document database as a service. However when you search for Firebase now, you'll see products for Authentication, Serverless Functions, and… Machine Learning? Clearly there is a lot more that you can leverage when using Firebase today. In this presention we'll work on building an application from scratch to leverage the various services Firebase offers for all stages of an application lifecycle. From development, to deployment, to monitoring the app, we'll see how Firebase helps our application get into the hands of users quickly.

Speaker

Devin Kelly-Collins

Devin Kelly-Collins

Senior Software Engineer, Artisan Technology Group

Conducting Large-scale Retrospectives

Retrospectives are a very important aspect of agile development and continuous improvement. Doing retrospectives at different levels is imperative to successful projects and even entire programs. Sometimes, you need to have a retrospective with a larger audience participation to improve across multiple projects or at a program level. In Design Studio and Senior Design here at the University of Nebraska-Lincoln, we manage 40 plus projects with more than 250 student team members combined. We want to continually improve our processes to make these programs the best they can be. Therefore, we regularly conduct retrospectives with 100+ participants. These large-scale retrospectives can be challenging to manage, but we have determined easy ways to keep everyone engaged and participating and most importantly, getting guidance and suggestions on realistic improvements to be made to the programs. We will show our various methods for conducting these large-scale retrospectives and give insights on successful and unsuccessful procedures.

Speakers

Cheryl Nelson

Cheryl Nelson

Design Studio Program Lead, UNL - Raikes School
Jeremy Suing

Jeremy Suing

Design Studio Program Lead, UNL - Raikes School

Containerization For Software Developers

The end is nigh. Your application is almost ready and you will need to deploy it. And with the deployment, the endless tweaking to actually get everything running in a production environment. If only there was a way to test everything in that environment first… This is where containers will come in to save the day. With container, you not only run your code in an environment similar to the production server, it is the production environment. In this talk, the attendees will learn about how to create container friendly applications, how to use containers to share their code with their team and finally, how to use those same containers to deploy to a production server with very little efforts.

Speaker

Joel Lord

Joel Lord

Developer Advocate, Red Hat

Data lakes in the cloud the IAC CI/CD story

What are data lakes? Why do we need them? Why in the cloud? Why not to use the cloud consoles. Diffrent CI/CD pipelines. Fastest way from zero to a full fledged data lake with Terraform or Pulumi. What are some of our ETL options.

Speaker

Yair Segal

Yair Segal

CEO/ Chief architect, Peach Software Inc

Deep Dive into Scrum Roles & How to Excel Together

In high level presentations about Scrum, more time and effort seems to go into explaining the ceremonies and sprint workflow than who is supposed to do what. The brief overview usually goes something like this: the Product Owner says what to do, Devs code, and the Scrum Master facilitates. Those are some pretty short job descriptions! In this talk, we'll take a deep dive into the actual responsibilities each of these Scrum roles entails. A shared understanding of expectations across the different Scrum team members helps ensure fewer misunderstandings and assumptions. We'll talk about who owns, or could own, each of the meetings and expectations for each role before, during, and after each meeting. We'll go over what kind of input should be given for helping make decisions on what work is in the product backlog, the sprint backlog, releases, and who has the final say. Next, we'll talk about helpful team interactions throughout the sprint that help reduce blockers, confirm we're building the right thing, and allow us to support each other to the best of our abilities. And finally, I'll present you with an exercise you can take back to your team to help flush out and work through any current misunderstandings of expectations in different facets of your work together.

Speaker

Whitley Red

Whitley Red

Scrum Master, Werner Enterprises

DevOps for .Net 5 web app CI/CD using GitHub Actions or Azure Dev Ops

There are many GIT solutions available, but for Microsoft developers, the top two choices are Azure DevOps and GitHub. Both Azure DevOps and GitHub have the ability to set up CI and CD to ensure that your solutions build and deploy correctly.

According to Donovan Brown's well-established definition, DevOps itself is the idea that one team does all the things - unifying the people, the processes, and the products. In this talk, we'll look at how you can empower your team to leverage DevOps in your day-to-day solutions.

We'll start by setting up a new Web App for each environment at Azure, then right-click and publish from our developer app. We'll then walk through setting up the app to have pipelines at Azure DevOps that build and deploy the solution into our Azure Web App.

We'll look at the differences between ADO and GHA, and how you can leverage your flavor of choice to integrate with your Azure account, either via a service connection (ADO) or a publish profile (GHA). We'll also look at things like using Secrets and configuration to ensure that everything works the way we would expect when the pipeline completes. Of course, by nature we'll be looking at some YAML throughout the talk.

Along the way, we will also talk briefly about the ideas of Rugged and Secure DevOps, but those topics in-depth are worthy of their own talk, and are outside of the scope of this talk.

Additionally, this talk does NOT leverage containers, but is using traditional .Net deployment approaches to hosting and delivering highly available solutions.

Speaker

Brian Gorman

Brian Gorman

Senior Training Architect, Opsgility

Docker and Kubernetes for Software Developers

Do you need to containerize and deploy to Kubernetes but don't know where to get started? This workshop is for you. In this full-day workshop, the attendees will start with a code base still in development mode and slowly break it down in pieces. They will learn how to package those pieces in containers. And finally, they will learn how to deploy them in a Kubernetes cluster. This workshop is a mix of hands-on and theory and teaches the basics of cloud native development to software developers.

Speaker

Joel Lord

Joel Lord

Developer Advocate, Red Hat

Finding Bigfoot with Redis + RediSearch

Bigfoot has been a staple of American folklore since the 19th century. Many are convinced that Bigfoot is real. Others suggest he’s merely a cultural phenomenon. And some just want to believe. There is even a group, the Bigfoot Field Researchers Organization, that tracks Bigfoot sightings and makes the reports available online. And they have thousands of reports.

I want to explore this delightful data but, unfortunately, it’s been made for the convenience of humans and not computers. While this makes it easy for me to read, searching for reports can be a bit of a challenge. Some of the data is tidy and computer friendly—like the latitude and longitude. Other bits are really for us humans—like the eyewitness accounts. So, how can I find the Bigfoot sightings that interest me most with data structured like this?

Well, I’ll show you! In this talk, I’ll load these Bigfoot sightings into Redis and use RediSearch to index them, making it easy to query both the computer friendly bits and the human friendly bits. I’ll also show you how to search on fields, find keywords within text, find nearby Bigfoot sightings using geolocation data, and run queries that aggregate these searches.

When we’re done, you’ll know how to quickly search, query, and aggregate data in Redis using RediSearch. You can use this newfound power for boring old corporate data, but I’m going to use it to find Bigfoot!

Speaker

Guy Royse

Guy Royse

Developer Advocate, Redis Labs

From Imperative to Functional Programming

Functional programming requires a new way of thinking compared to the imperative styles that many languages have offered. Although the shift may be daunting, besides providing parallelization potential, functional programming tends to reduce the overall size of an application’s code base by expressing logic more compactly and generates thought patterns that apply to frontend and backend code alike. In this presentation, I will discuss my journey from being an imperative style developer to having a preference toward functional programming, sharing all the lessons I learned and lightbulb moments I had along the way.

Game of Scrum: Planning and Designing in and around Agile Processes

Scrum, the most popular agile framework, takes its metaphor from the game rugby, arguing that self-organizing teams can move the ball down the field by working together as a cohesive unit, creating tactics as they go. This is contrasted to a relay race metaphor of traditional waterfall development. But often, this metaphor is imagined too narrowly, and disregards the game planning, coaching, drills, film review, team selection, training, and even equipment management necessary to make a successful rugby side.\n\nUsing a little history of scrum and agile, and our experience as a developer and a designer in multiple agile and non-agile environments, we will extend the metaphor to try to forge an understanding between the needs of a planning function, like design, and an execution function, like development, in the context of agile and scrum. We’ll talk about why developers “cry waterfall” every time someone tries to plan something, and why designers curse agile’s unholy name every time a new story is added. We hope you’ll come away with a better idea of how to integrate planning and design into a holistic development strategy.

Speakers

Mollie Cox

Mollie Cox

Director of Product Design, DMSi
Adam Erickson

Adam Erickson

Sr. Architect, DMSi

Getting Started with Julia

Looks like Python, feels like Lisp, runs like Fortran. Julia is a language for high performance technical computing.

This session will include an introduction to the Julia language and some demos showing off some of its capabilities.

Julia is a general purpose dynamic programming language designed for high-performance numerical computation. Although relatively new, Julia is quickly becoming a serious contender in the data science arena currently dominated by languages like R and Python.

Julia feels like a scripting language, but offers performance approaching that of C or Fortran thanks to just-in-time (JIT) compilation using LLVM. Notable features include multiple dispatch, optional typing (including user-defined types), built-in vectorization, parallelism and distributed computing support, and Lisp-like macros and metaprogramming facilities.

Speaker

David Body

David Body

President, Big Creek Software, LLC

Git Demystified!

Git is a lot simpler than it looks.

Everything in a Git repository is based on just three fundamental types of objects: blobs, trees, and commits. Once you understand what these are and how they relate to each other, the apparent complexity of Git melts away revealing a simple, elegant system that is powerful because it is simple.

In this talk, we'll look under the covers of Git to see what is actually in a git repository on disk and what happens when you enter git commands like git commit. You'll come away with a better understanding of how Git really works and greater confidence in using Git.

Note: This is not an introduction to Git or a "how to" tutorial. You'll get more out of this talk if you have at least a little familiarity with Git, even (or perhaps especially) if you're struggling to get Git.

Speaker

David Body

David Body

President, Big Creek Software, LLC

Going Schema-less: How to migrate a relational database to a NoSQL database

There can be a lot great benefits of developing with a NoSQL database over a relational database. In this presentation, you will learn about those benefits and also the potential pitfalls. There will be demonstrations where we take relationally developed data, restructure into a NoSQL database (Cosmos DB in particular), and develop an application to work with that data.

Speaker

Chad Green

Chad Green

Director of IT Architecture, Glennis SOlutions

Hack your first box!

This would be an hour-long talk with step-by-step instructions on how to enumerate, exploit, and privilege escalate to root/admin. This would use an "easy" VulnHub machine or a custom VM, and would be distributed before the class begins.

Attendees can bring their own kali box to follow along, or watch the screen as I explain how enumeraiton and exploitation works.

Speaker

Mark Bayley

Mark Bayley

Director of Cybersecurity, University of Kansas Health System

Hacking OAuth: Pitfalls and Remedies

Abstract

OAuth 2.0 is the most widely used standard for secure authorization on the Internet for modern Web and Mobile apps. There are a lot of pitfalls that can lead to an insecure app.

Description

In this talk Micah gives a brief overview of OAuth and its mechanics. Then he leads you through a number of risks and remedies to best secure your applications. This isn’t just theory, but the practical application of certain risks and how to configure OAuth and write your code to mitigate those risks.

Speaker

Micah Silverman

Micah Silverman

Lead Developer Advocate, Split

HardKnock Life Of Startups

How I took an Idea to company, which revenued +100k in its first eight months.

This talk will be on our infrastructure, client accusation, coding practices, and the soft skills of managing a young startup.

Speaker

George Parker

George Parker

CTO, Strength Coach Pro

How to be a Java Automated Testing Superstar

Automated testing in a crucial step in modern software development. A quality automated test suite enables rapid development and deployment practices like CI/CD by providing a stable quality check before an application is delivered to the world.

But how do you write a quality automated test suite in Java? In this presentation we will look at the practices and principles for writing reliable, accurate, and portable tests, and how they can be implemented using modern automated testing frameworks and libraries including; JUnit 5, Mockito, Test Containers, and others. With this knowledge you can become an automated testing superstar and help your team get to production faster!

Speaker

Billy Korando

Billy Korando

Java Developer Advocate, Oracle

I Feel the Need for Web Page Speed

We demand high performance web applications. To build them we need every single piece of information to help us find actionable ways of speeding up our applications. In this session learn how to use the performance API together with common browser performance tooling to determine down to the method level how long our pages take to perform operations. We’ll also touch briefly on instrumenting up popular frameworks such as React & Angular, running performance checks on mobile browsers, and free open source tools that can help you diagnose and monitor performance.

Speaker

Bill Dinger

Bill Dinger

Managing Director of Technology, VMLY&R

Implementing Kaizen to Improve Legacy Products

We've all worked on the dreaded legacy product. Maybe the applications developers are no longer part of the company, or possibly it was developed by a team offshore. What are the steps to take it from a whole broken code base that stresses out developers, to something that people don't fear working on. This course provides a step by step process to revitalize legacy applications and make them more managable.

Kaizen is the Japanese word for improvement, as was introduced to the development world as part of the LEAN development model. But from it's humble introduction and implementation as part of the Toyota Production System to it current use in modern software development, it has proven it's effects on improving software code bases and the lives of developers.

Speaker

James McKee

James McKee

Global Developer Security Program Manager, Trimble

Intro to Node.js

Node.js is known for its performance and scalability. While node is used by most fortune 500 companies, is it the right tool for you? In this intro, we will discuss the benefits of node, common tools and supporting frameworks, and common problems to watch out for.

Speaker

Benjamin Ferguson

Benjamin Ferguson

Senior Programmer/Analyst, Duncan Aviation

Intro to React Native with Expo

Intro into building cross platform native mobile apps using Java Script. What is React Native? Benefits VS disadvantages analysis. How it works on mobile Devices. What is Expo? How Expo works with React Native. Why choose Expo.

Speaker

Yair Segal

Yair Segal

CEO/ Chief architect, Peach Software Inc

Introduction to Cloud and Cloud Native Computing

Cloud Computing is ubiquitous these days. It seems to be as common as the air that we breathe in, without which there would be no running computer systems. But what exactly is Cloud Computing? What about Cloud Native Computing? Are these terms referring to the same thing? If not, what are the differences? This lively talk will go over the fundamentals of Cloud Computing, and then move on to explain what Cloud Native really means. We will also venture into the console of a major Cloud Provider, and look around to see some key features that it has. We will then examine a basic Cloud Native Java application to understand how containers fit into the picture. For someone who is new to Cloud Computing, s/he would be able to start to understand the differences and similarities between Cloud and Cloud Native Computing.

Speaker

Mary Grygleski

Mary Grygleski

Developer Advocate, IBM

Just what can the browser do?

With Angular, React, Vue, and more frameworks coming out each day it can be tough to figure which one you should use. But what if we didn't use any of them? You might be surprised to find out how much you can do with just the tools the browser gives you. It may not look as pretty as React or be as verbose as Angular, but all of these frameworks had to start somewhere. Join us as we build yet another conference app complete with data binding, notifications, geolocation, and much more! All with just plain old Javascript, CSS, and HTML.

Speaker

Devin Kelly-Collins

Devin Kelly-Collins

Senior Software Engineer, Artisan Technology Group

Leaving nothing to chance – Using lean software engineering practices to create predictable outcomes

Whether you are a small software company or a large enterprise, your ability to be successful is directly related to your development teams’ ability to rapidly respond to change. The responsibility of our software development teams is to enable this business agility. Our ability to do this will play a significant role in the success of our organization.

What most customers want from us is predictable outcomes, the ability to respond quickly and effectively to opportunities (something we call sustainable business agility), and improved visibility to enable informed decision making.

Solving this challenge has been a focus at Don’t Panic Labs for over 10 years. What we have ended up with is a hybrid approach to designing and building software that combines modern lean processes with disciplined software engineering and design. In this talk, I will walk through how we have integrated these lean processes and engineering activities to create the predictable, successful outcomes that enable us to manage the complexity of modern software system development and provide the agility our customers need.

Speaker

Chad Michel

Chad Michel

Software Architect, Don't Panic Labs

Lessons learned from Boeing and the 737 Max

The disaster of the 737 Max crashes were a tragic loss of life, but the consequences didn't end there. There are several lessons to be learned from Boeing's failure. We will discuss what happened and why, but most importantly what we can do to prevent similar situations in our software and work place.

Speaker

Benjamin Ferguson

Benjamin Ferguson

Senior Programmer/Analyst, Duncan Aviation

Making Kubernetes How We Build Things

It's day 2. The corporate k8s cluster is humming. Everything works perfectly in a local environment, but how do you connect the wires? Your first few steps in Kubernetes may feel like walking through uncharted territory. Yet, several tools can make you just as productive as you were in your comfortable local setup. With only a few changes in your configuration, you can automatically rebuild clusters when a file changes and even debug software running in containers. Add this to some visualization tools and some templating software, and you'll be back on track very quickly. In this talk, you’ll learn how to use some open source tooling available around the Kubernetes ecosystem to become more productive and optimize for developer joy.

Speaker

Rob Richardson

Rob Richardson

@rob_rich

Middle Distance Security

This talk will argue that DevOps methodologies can be applied to traditional application security practices, if developers and operations teams are enabled to make security a part of their everyday work. We must meet security at the sweet spot between running a marathon and sprinting towards a software deployment. So put on your running shoes; it’s time for Dev{Sec}Ops!

Speaker

Steven Carlson

Steven Carlson

Senior DevOps Engineer, Spreetail

Migrating to Multi-Stage YAML Pipelines in Azure DevOps

Multi-Stage YAML pipelines is the latest way to accomplish continuous integration and continuous delivery in Azure DevOps. Pipelines as code offers a number of advantages including changes going through the same version control practices as application code. The pipeline also lives with the code so any pipeline changes needed for a branch of code is independent of the pipeline in other branches until it is merged. I will show you how to convert existing UI based pipelines to YAML, create a pipeline from scratch, and utilize templates to create more reusable pipelines and provide security and compliance with approvals.

Speaker

Mike Douglas

Mike Douglas

Director of Delivery Engineering, Lunavi

Musings on developer maturity and growth

It has never been a better time to be in this industry but ensuring consistent, successful outcomes increasingly requires a devotion to personal growth and software engineering literacy. In this talk, I will share some of my observations on the various levels of developer “maturity” as well as the attributes at each level that have distinguished those people who have been the most impactful.

Speaker

Doug Durham

Doug Durham

CEO, Don't Panic Labs

Mystery Machine Learning: Classifying Text with Recurrent Neural Networks, Keras, and Scoob and the Gang

Jinkies! Spoiler Alert! If you’ve seen Scooby-Doo, you know who the monster always is—Old Man Withers, the guy who runs the amusement park. Amusement park operators like Old Man Withers have caused Mystery, Inc. all sorts of problems over the years. Problems that could be avoided with a properly trained recurrent neural network. With RNNs, Scoob and the Gang could have built a model to classify everyone’s speech. This would show them that Old Man Withers and Redbeard’s Ghost sounded a lot alike!

We can help Mystery, Inc. with this problem by building a recurrent neural network to do just that. You know we got a mystery to solve, and we’re going to solve it by building our model using lines from Scooby-Doo, Keras, and TensorFlow. Once we have our model, we’ll host it on RedisAI so we can quickly build an application to make use of it. Well, we’ve got some work to do now.

I will also explain what neural networks are in general, what recurrent neural networks are in particular, and discuss some practical use of this technology. When we’re done, you’ll know how to build RNNs with Keras, use them to classify text, and integrate them into your application. But more importantly, you're going to have yourself a Scooby snack! That’s a fact!

Speaker

Guy Royse

Guy Royse

Developer Advocate, Redis Labs

Node.js, ML, K8s and Unethical Face Recognition

How nice would it be to be able to remember everyone’s name? What if you could just walk into a room and know everyone’s Twitter handle? What if you could give them a score to decide if you should have a conversation with them or not? Kubernetes is a great tool that is being used more and more for deploying applications, and it can also be used in the context of machine learning. In this talk, the speaker will demonstrate how to use NodeJs, a touch of machine learning and a sprinkle of Kubernetes to recognize people in a crowd. This talk is about the various technologies that were used for this demo inspired by the Black Mirror show. It’s about the tech... and also why you shouldn't build it.

Speaker

Joel Lord

Joel Lord

Developer Advocate, Red Hat

Object Oriented Principles as demonstrated coding Highcharts

How can you reduce the time from idea to deployment? One way to to use Object Oriented Principles. By extending classes, you can gain the coding that is common to all classes of the same type and only need to code what is needed for your use of the class. Also, it allows for organization in your coding so you can concentrate on one aspect of the project at a time.

To demonstrate these principles, I will take you through an example of using Typescript to define a Highchart. First without using OOP. Then how OOP helped to reduce the confusion of creating a chart and also to guide the programmer in what is necessary to develop a new chart.

Speaker

Kirk Payne

Kirk Payne

Senior Programmer/Analyst, Duncan Aviation

OKRs and Agile: Meeting Organizational Goal Using OKRs & Agile Mindset

Organizations that adopt agile often fail to become agile organizations. So, while teams (typically IT teams) see some benefits from embracing agile practices and mindset, they are often hampered by managers or customers that constantly change priorities and commit teams to unrealistic delivery dates and unachievable delivery goals.

In this talk, you will learn how the largest companies in the world use Organizational Goals and Objectives (OKRs) to focus employees and achieve success. You will discover how to use OKRs to propel agile transformation/adoption, and see why an agile mindset and agile practices are critical elements of creating and executing on OKRs.

Speakers

Keil Wilson

Keil Wilson

Agile Coach, Nelnet

Open Discussion: Driving Team Performance, Virtually

Miss the days of walking past someone’s desk to have those “drive-by” conversations? With this year of change, as leaders, we have had to evolve in how we operate in teams.

How do you know when a team member might be struggling? How do you keep connected with people at the level you used to when you had chance meetings in the hallway? Many companies have had a remote workforce, but this year has been different. How do you keep your team motivated amidst all the distractions of home? How do you keep aligned with your people?

This session will facilitate discussions on how agile virtual leadership can be leveraged to drive performance. We want attendees to come away from this session feeling empowered with numerous ideas and strategies to better support or lead their teams in a virtual working environment.

Speakers

Cheryl Nelson

Cheryl Nelson

Design Studio Program Lead, UNL - Raikes School
Jeremy Suing

Jeremy Suing

Design Studio Program Lead, UNL - Raikes School

Packaging your world with NuGet

Whether you are creating an open source library or building enterprise app core components, you need to get that functionality into other projects. But developing these resources is usually easier than consuming them. How about a worry free way to distribute and reference those resources in your project that will let you stay up to date, but allow you to avoid problems that may introduce breaking changes or new bugs? NuGet packages to the rescue! We'll also take a look at where you can find NuGet (packages aren't just for code any more) and how to create, distribute, and maintain your very own package. Then, you’ll be ready to share your package with your team, your enterprise, or even… The world!

Speaker

Duane Newman

Duane Newman

Co-Founder, Alien Arc Technologies, LLC

Permit to Cloud - Land with confidence in Azure

An application is an idea that has code, data and infrastructure, and choosing whether to build a conveyor belt or to put up guard rails along the path is important in maintaining velocity to the cloud. In this session, we explore the tools available in Azure for creating and enforcing governance policy, standards and infrastructure, including Azure resource template technologies and Bicep, Azure blueprints, as well as DevOps processes including GitHub Actions that you can use to ensure your cloud journey is predictable, secure and compliant. We’ll see how the tools work and share best practices for maturing your cloud journey.

Playwright with Pytest

Playwright is Microsoft's open source Test Automation Framework. It has bindings in Javascript, Python, C# and Java. In this presentation we will go through what makes Playwright super exciting. We will briefly explain how the PyTest framework works along with the super easy installation of Playwright.

Jumping into the important parts we will show how Playwright interacts with the webpage and how we can build better UI automated tests. We will jump into a few examples. Highlights will be talking about how Playwright handles locating items on the page and the basic api for Playwright. Then we will talk about some of the more advanced features of Playwright.

Speaker

Andrew Lethcoe

Andrew Lethcoe

Software Developer, Fiserv

Presentations, Storytelling, and How Not to Suck at it

Learn from UX Associate Ash Banaszek on how to give impactful and interesting technical talks. Ash is consistently rated highly by conference-goers as an informative and entertaining speaker, and is a decorated Toastmaster winning awards at Area and Division levels for humorous, impromptu, tall tales, and international speaking categories. In this talk, Ash will share her tips on organizing presentations, increasing engagement, when to add humor, how to fold a story into your tech talk, and using images effectively. Want to be a better presenter? After this talk you may not be a keynoter, but you definitely will "not suck at it."

Speaker

Ash Banaszek

Ash Banaszek

UX Associate, Union Pacific Railroad

Real-time bed occupancy stats in fighting the pandemic

we are interested in presenting our solution build to tackle - Real-time bed occupancy stats in fighting the pandemic for public health entities. We would like to talk about how we have adopted event driven data pipelines to adopt to legacy system with minimal to no interruption to the current data pipeline implementations.

Speaker

Naren Parimi

Naren Parimi

CTO, KPI Ninja INC

Real-Time Revolution: SignalR In Action

Does your application render a page and then just leave it? Do you deal with issues of the local state being out of date? Do you wish the server could just tell all the browsers that something has changed?

If you answered yes to any of those questions, it's time to join the real-time revolution! SignalR is a library designed to help .NET developers build performant, real-time cross-platform applications (not just web apps!).

In this demo-filled talk, you'll learn about what SignalR is, how it fits into a modern application ecosystem, and how you can take advantage of it in your current or future projects.

Speaker

Kevin Griffin

Kevin Griffin

Swift Kick

Rewrite Git History to Supercharge your Code Reviews

Dev1: "Hey, can someone go approve my pull request?" Dev2: (30 seconds later) "Sure, done."

In many organizations, peer review has begun being seen as an impediment to getting code deployed. The changes being reviewed are often way too large or difficult to follow, so reviews just get rubber stamped.

In this talk, we'll demonstrate several ways to get the most out of code reviews by looking at ways to make code reviews much more valuable. The majority of the our time together will be spent learning ways to make your pull requests tell a cohesive story about the code that's being implemented by using functionality in Git to rewrite the commit history. We won't just talk about it, though. We'll spend our time in a repository creating Pull Requests and using Git functionality to make them highly reviewable.

Speaker

Nathan Adams

Nathan Adams

Software Developer, United Fire Group

Rise of the State Machines

Come with me if you want to live... without confusing state management! State machines enforce a simple set of rules for your application state - a single state is allowed at any given time and only certain transitions can be made between states. These explicit rules lead to more predictable code and fewer bugs. In this talk, we'll discover what state machines are and learn how they can be incorporated into modern applications. We'll also see how using state machines can help communicate meaning and encode business logic across teams (and beyond just developers). You'll leave with an understanding of how to effectively create and use state machines for your own applications while keeping the business logic clean and declarative. Terminate complexity with state machines! 👍

Speaker

Mat Warger

Mat Warger

Senior Consultant, Keyhole Software

Rock-Solid Components with TypeScript and GraphQL

Most recent javascript frameworks bring a solid component model to modern web development, but how can you guarantee that your components work correctly? In this session, you learn how the features of Typescript can be leveraged to bring clarity and dependability when constructing components with React or other modern frontend framework. Using TypeScript can help to catch errors early in the development life-cycle. GraphQL and its type system can ensure confidence in your components while fetching remote data. This comprehensive approach ensures that your components behave as you expect, and allows you to eliminate run-time errors. Learn how using types can keep your users happy!

Speaker

Mat Warger

Mat Warger

Senior Consultant, Keyhole Software

Software Craftsmanship for New Developers

As a new developer, knowing language syntax is important; but just as important is understanding what software craftsmanship is. In this session Chad will talk about what the software craftsmanship movement is all about and why it is important. Chad will also explain important craftsmanship terms like code smells, DRY, and SOLID. Even if you have been developing for a while, this session will be useful to brush up on how not to be a developer but how to be a professional developer.

Speaker

Chad Green

Chad Green

Director of IT Architecture, Glennis SOlutions

Tech vs. Business:Turn the Agile Rivalry into a Productive Relationship

Whose priorities come first? Tech? Or Business? Is this a touchy subject? Maybe by the end of reading the title you've already got your tech or business rival in mind. Why can't we all just get along?? As a Scrum Master in my duties to both support the Product Owner, and stand up for developers and the Tech department, I've found myself playing referee a time or two.

In this interactive session, we'll peel away some of the layers behind the tech/business relationship in agile organizations, which can be frought with issues, or beautifully symbiotic. We'll talk about some common grievances (such as tech debt never gets prioritized), some common solutions (such as the 80/20 rule), and discuss attendees experiences.

Speaker

Whitley Red

Whitley Red

Scrum Master, Werner Enterprises

Test Automation Case Studies

Test automation lies at the heart of Agile software development. Having automated tests often improves code quality, increases confidence that code works as anticipated, and also ensures that end users can quickly receive a product that suits their needs. In this presentation, we will be diving into the basics of UI test automation with Geb and Spock, discussing some of the benefits of writing test cases for enterprise applications, and reflecting on what happens when tests aren't automated.

The Command Line - A Humble Journey

Have you used the command line lately? Ever given much thought how it came to be?

I'm not surpised - I haven't given it much thought either. But after learning more about the journey the CLI has taken to get us to where we are today, it gives me new appreciation, and understanding, of how the CLI works. Many of the things we do today are rooted in the past, and the CLI is no different. Sit back, relax, and enjoy the origin story of our old friend, the Command Line.

Speaker

Kelly Andrews

Kelly Andrews

Senior Developer Advocate, Vonage

The GUI is a prison: Automate your infrastructure with Ansible

Configuring your infrastructure through the GUI or shell is a buggy, time consuming, hard to audit and error prone exercise. In this session learn how to use Ansible to configure your servers, switches, docker containers, cloud services and everything in between with code. Learn practical tips, tricks, and demo code to get you started right away on both windows & linux and learn why you'll never want to use the GUI again.

Speaker

Bill Dinger

Bill Dinger

Managing Director of Technology, VMLY&R

The Road From Craftsmanship to Professionalism

Individuals work in teams to provide value.

In agile we have practices to help teams, in Lean we we have practices to increase value. Both Agile and Lean talk about individuals, but can't really figure out what to do with them.

Individual professionals on our teams must have the right environment in which they can form a healthy team and really dedicate time to providing customer value.

Jim Benson has worked around the world in software development, international governance, engineering, architecture, construction, health care, law enforcement, and a host of other verticles. His software company started Agile with a pre-press copy of Kent Beck's XP Explained, in 1997. He is an inventor of Kanban, Personal Kanban, and Lean Coffee. He's used Agile and Lean practices in many verticals and situations.

He's seen the promise of them and the failings.

In this keynote, Jim Benson will return to his native Nebraska and talk about that journey and provide real, tangible ways to create a real, professional environment for your development or IT team...one that thinks about the individuals, the teams, and the value.

Speaker

Jim Benson

Jim Benson

CEO, Modus Cooperandi

To Java 17 and Beyond!

The next version of Java, 17, will be releasing soon and will mark a major point of change in the Java community as many organizations migrate to the latest Java runtime. So what has changed in Java if you are still primarily writing in Java 11? Or even Java 8?

In this presentation we will look at some of the key changes that have been added to Java post-8. The large changes; the Module System and Records, quality of life improvements; var, text blocks, pattern matching, and the many performance and runtime improvements. We will finish the presentation with a brief look ahead to some of the changes that will be coming to Java in the near future and why Java’s future is bright.

Speaker

Billy Korando

Billy Korando

Java Developer Advocate, Oracle

Transitioning to .NET MAUI

Xamarin has provided ears of amazing mobile support, .NET MAUI adds a whole new suite of features and improves the developer experience greatly. Transitioning from Xamarin to MAUI is easy to accomplish, but can be met with pitfalls and complexity that could cause troubles later.

This session explores the transition/migration process from Xamarin -> MAUI with an emphasis on discussing the "Required" and "Optional" portions of migration. It is often the optional migration requirements that result in the most wasted time and future maintenance issues.

We will review various types of migrations, efficiencies that can be realized and action plans for developers to fully leverage all that MAUI has to offer without experiencing unnecessary large re-writers.

Speaker

Mitchel Sellers

Mitchel Sellers

CEO, IowaComputerGurus, Inc.

Unit-Testing .NET With Ease

Do you want to skip all the setup ceremony and get straight to the actual testing when writing unit tests for your .NET code? Leveraging dependency injection and IoC makes it a breeze to build solutions that are modular and testable, but building out those dependency chains in our unit tests can leave them cluttered and overly complex. It's time to learn to embrace the magic of IoC, DI, and mocking to lower the friction of writing and maintaining unit tests. Taking cues from the open-source library Ease, you can see how to tap into the life-cycle of unit testing frameworks and integrate it with an IoC container to give you a fresh start for each test. Throw in a little mocking and a flexible pattern for managing setup and now you are testing in high gear! A great side-effect of using Ease, or a similar methodology, is that tests become more resilient against changes in the dependencies that are not a direct concern of the test, so you end up breaking fewer tests and changing less test code. What are you waiting for? Stop the ceremony, and start testing!

Speaker

Duane Newman

Duane Newman

Co-Founder, Alien Arc Technologies, LLC

Using Source Generators for Fun (and Maybe Profit)

One of the features added in C# 9 is called "source generators", enabling a developer to create new code at compile time. This can be used for a myriad of cases, such as optimization, automating repetitive code, and dynamic API creation. In this session, I'll cover how source generators work and demonstrate a number of implementations.

Speaker

Jason Bock

Jason Bock

Developer Advocate, Rocket Mortgage

What type of superhero do you want on your dev team?

After you've worked in Software Engineering for some time, you start to recognize different types of developers: The planner who second guesses every method name, the gold plater who won't stop fixing edge cases, and the speedy dev who wants to win the race that no one else is a part of, just to name a few. A similar statement can also be said for some of the more popular superheroes in comics, TV, and movies. And just like those superheroes, developers have strenghts (superpowers), areas they struggle (weaknesses), and often work in teams.

As a developer who has lead many different teams, and who has an encyclopedic knowledge of superheroes in pop culture, I believe there are a lot of shared principles that we can utilize to make the highest functioning teams. This first comes from classifying developers into archetypes (don't worry, I understand developers don't fall in a single category) and then figuring out how to distribute them amongst teams. These teams should not be full of individuals with the same powers because the weaknesses will be obvious to the villains (bugs, new features, and any other projects that need to be "vanquished").

Speaker

Aaron Deming

Aaron Deming

Applications Development Manager, Buildertrend

What's New In EFCore5 (and coming in EFCore6)

In this session, we'll dive into many of the new features available in EFCore5 that can help to enhance your solutions.

All samples assume a code-first approach.

We'll look at practical examples of Many-To-Many auto navigations, Table-Per-Type inheritance mapping, Filtered Includes, Split Queries, Simple Logging, and Flexible Entity Mapping. We'll then talk about a couple other changes that happened with EFCore5.

The talk will finish up with a discussion of new stuff potentially coming with EFCore6/.Net 6.

Speaker

Brian Gorman

Brian Gorman

Senior Training Architect, Opsgility

What's up with UX?

UX is an expanding and evolving field. You'll see UX titles like Generalist, Strategist, Researcher, Designer, or Architect. Who are these people? What do they do? And why is any of this needed anyway? In this talk, Ash will introduce you to the field of user experience, why it exists, what roles there are, and how to get a better experience out of your products.

Speaker

Ash Banaszek

Ash Banaszek

UX Associate, Union Pacific Railroad

Where's my Stuff? Exploring data options in Azure

Data is the currency of tomorrow, and with the explosion of IoT, edge devices, cloud computing and cheap storage it's never been more important to define and build around a solid data architecture. The tools of yesterday brought us to where we are, but the relational engine is not your only choice. In this session we look at storage options, including Relational, NoSQL and Document databases including SQL Azure, Cosmos DB and Azure Storage, and show pros and cons of each. We walk thru converting a real application from using SQL Server to using storage options in the cloud, including SQL Database, table storage and Cosmos DB. We see how to leverage storage patterns to make the most out of our investment in the cloud.

Writing Maintainable Code

You write great code: it's elegant, easy to understand, formatted well, and it works! It's perfect, right? But then that dummy comes along (it might even be you!) a week, month or year later to make a change to your nearly devine code and they have no idea what you were trying to do and make a complete mess of things with their changes. Your code may have worked, it may have made sense TO YOU, but if the next person can't modify it without making a mess, then your code wasn't maintainable. Maintainability is just about the most important quality of good code - second only to doing what's it's supposed to do. It's a difficult thing to describe, and even more difficult to achieve.

In this session, we'll attempt to identify what makes code maintainable, and more importantly, we'll examine some best practices that will help you write more maintainable code. You're co-workers (and future self) will thank you.

Speaker

Adam Barney

Adam Barney

Staff Software Engineer, Quicken Loans