Session List

Session List2019-10-02T20:07:53+00:00

A .NET Data Access Layer You're Proud of (Without Entity Framework)

Presented by: Jonathan "J." Tower

If you're a .NET developer, it almost goes without saying that you use Entity Framework as part of the data access code on your software projects. Sometimes, EF is just right for the job, but other times you want something more simple, with better control of the generated SQL queries, and more...

Tags: .NETFormat: General SessionLevel: Intermediate

A Guide To CSS Layouts

Presented by: Jemima Abu

This talk aims to cover the best layouts to use according to their designated purposes. ...

Format: General SessionLevel: Intermediate

A Series of Unfortunate Events - What Happens When Your App is Hacked.

Presented by: Joe Kuemerle

Many of us know about the various security checklists and how we should write more secure code. In this session we will move beyond top 10 lists and dive into the world of how attackers compromise systems and how they use those compromises to exploit both individuals and companies. ...

Tags: SecurityFormat: General SessionLevel: Intermediate

Adding Search Capabilities to your Applications with Elastic Search

Presented by: Rod Paddock

User: We need to add the capabilities of Google Search to our application. Developer: When do you need this? User: Next week would be Greaatttt! Developer: OH! ...

Tags: .NET, Cloud, Big DataFormat: General SessionLevel: Intermediate

Android Developers Guide to Machine Learning.

Presented by: Godfrey Nolan

In this session we'll walk through various ways of adding machine learning models to your Android app. First we'll be looking at how to use TensorFlow and Firebase MLKit to train a model. And just to keep everything agnostic we'll also be looking at non-Google deep learning platforms like PyTorch...

Tags: Mobile, PythonFormat: General SessionLevel: Intermediate

Android: A peak under the hood

Presented by: Brad Hollander

Over the years, Android has become one of the most widely used operating systems in the world. Boasting 2.5 billion active devices, it can be found running on practically any hardware, from high-end flagship phones to smartwatches and IOT devices. Despite this massive popularity, the inner workings...

Tags: MobileFormat: General SessionLevel: Intermediate

Angular and The Case for RxJS

Presented by: Sandi Barr

When choosing Angular to build a front end app, it can seem like RxJS is just one more thing to learn, and there’s no easy transition coming from another framework. But RxJS is efficient and expressive! We declare relationships between entities, describing the what not the how. The basic sequence...

Tags: Functional Programming, JavascriptFormat: General SessionLevel: Intermediate

Antifragile Teams

Presented by: Charlie Sweet

Software development is an activity that’s fraught with complexity, ambiguity, and therefore risk. Many organizations attempt to mitigate that risk through stringent processes, but there is a better way. ...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

API Design for ETL - Lessons from Nearly 100 Data Integrations in the Wild

Presented by: Dan Mosora

In the API Economy, users increasingly want to analyze and connect more of their business data, from small startup shops to multinational corporations. Thinking about making data available through an API? There are innumerable ways to slice the problem. How do you implement pagination? What data...

Tags: Cloud, Big DataFormat: General SessionLevel: Intermediate

Application Security, Basic, Intermediate, Advanced

Presented by: Bill Sempf

Bill will be joining us to teach a dynamic course to help us think like an attacker and give us all the coding tips we need to stop them cold in their tracks. Even the most experienced developers are sure to pick up some new tips and tricks. This hands-on half-day workshop will have something for...

Tags: Security, TestingFormat: PreCompilerLevel: Intermediate

Assembly Language: The (Sega) Genesis of Programming

Presented by: Joe Sewell

Have you ever wondered how many popular video games of the 70s, 80s, and 90s managed to look, sound, and play so well, despite running on very limited hardware? One reason is that many of these games were written in assembly languages. Unlike compiled or interpreted languages, in assembly the...

Tags: HardwareFormat: General SessionLevel: Intermediate

Automate Your Build/Release Pipelines with Azure DevOps

Presented by: Mickey Gousset

Most people's start into the DevOps culture is through automation, specifically around their build/release pipelines. Whether you are wanting to deliver once a month or multiple times a day, automating those pipelines will make your team and organization more productive, as well as move you down...

Tags: .NET, CloudFormat: PreCompilerLevel: Intermediate

Automating Your Automation: The Care and Feeding of Jenkins

Presented by: Jeff McKenzie

If you're like 70% of continuous integration and delivery users out there, you're using Jenkins, the powerful and popular automation server. But how do you know you're doing it right? Are you getting the most out of the strategies you've chosen? In this session you'll learn how best to manage your...

Tags: OtherFormat: General SessionLevel: Intermediate

Beware of dark clouds on the horizon

Presented by: Andrew May

There are many benefits to be gained in moving your infrastructure to the cloud, but many more ways in which it can go horribly wrong. ...

Tags: CloudFormat: General SessionLevel: Intermediate

Bringing Order to Chaos

Presented by: Scott Connerly

So, you find yourself coding in a code base that has some warts. OK, let's be honest, its a steaming pile of gum and toothpicks you're afraid to touch lest it might fall apart. How do you get from there to ... anywhere, let alone viable, architecturally useful, and stable? In this talk, we'll...

Tags: Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate

Building a DevSecOps Pipeline

Presented by: Gene Gotimer

The release date is a week away. Development is complete. The code works, and everything looks good. Marketing is ready with the media blitz. Our customers are waiting to get their hands on the new features and are sure to give us good feedback. The only step left is to get the security group to...

Tags: Other, SecurityFormat: PreCompilerLevel: Intermediate

Building a Full CRUD Application in Excel with VBA and SQL Integration

Presented by: Derek Mulhausen

In this talk, we will build a full application from scratch in Excel to store customer discounts in Excel. We will start with recording a macro to quickly prototype some of our actions and then dig into the underlying code to polish the formatting and produce a product that can be put into...

Tags: Design (UI/UX/CSS), Functional ProgrammingFormat: PreCompilerLevel: Intermediate

Building a super performant GossipGirl.com in Gatsby in under 50 Minutes

Presented by: Jennifer Wadella

Hey, Upper East Siders, Gossip Girl here bringing you the scoop on rapidly building static websites in React. I don’t know about you, but my site is in a major need of an overhaul, so we’re going to rebuild it in under 50 minutes using GatsbyJS. We’ll make SEO look hot and blow some minds with...

Tags: JavascriptFormat: General SessionLevel: Intermediate

Building an educational game with .NET Core and Unity3D (Workshop)

Presented by: Johnny Hooyberghs

If you are waiting for a deep dive into .NET Core, the Microsoft Compiler Platform and Unity3D this workshop is for you! No high-level tech demos, but a real-life application that is used in schools. Building an educational game, with robots fighting to the death, from scratch, will be a blast. This...

Tags: .NET, Design (UI/UX/CSS)Format: PreCompilerLevel: Intermediate

Building resilient mobile apps with NoSQL

Presented by: Rob Hedgpeth

Murphy’s Laws state “things will go wrong in any given situation, if you give them a chance”. Unfortunately, mobile developers know this all to well when it comes to network reliability. In the face of such instability and increasing customer expectations, how can developers deliver immersive,...

Tags: MobileFormat: General SessionLevel: Intermediate

Burn It Down and Start Again: Principles of Modern JavaScript

Presented by: Joe Morgan

Heard about the latest JavaScript syntax? Seems like a day doesn’t pass without a language update. And with all the focus on syntax changes, it’s easy to miss the subtle principles driving JavaScript. Modern JavaScript doesn’t just have new tools, it’s composed differently. Don’t use a...

Tags: JavascriptFormat: General SessionLevel: Intermediate

By Our Powers Combined: Observability for Developers

Presented by: Aaron Aldrich

The world of maintaining applications is shifting. Our Systems Administrators aren't monitoring our application servers, it's the SREs determining SLIs and SLOs for our Micro-Services and making sure our Cloud-Distributed systems are Observable in near-real time. It's enough for buzzword burnout....

Tags: Cloud, Other, TestingFormat: General SessionLevel: Intermediate

Coaching & Communicating with Diverse Teams

Presented by: Kiera Prioleau

Don’t worry; this isn’t the standard lecture on what diversity means and why it matters. Research shows that diverse teams are more innovative, productive, and just darn interesting. Diversity encompasses more than gender and race, which creates challenges for development team members and...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Coaching Katas - In Search of The Answer to the Agile Kobayashi Maru

Presented by: Faye Thompson, Charles Husemann

These virtues are formed in man by his doing the actions. ...

Tags: Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Codemash VoiceHack 2020

Presented by: Jeff Blankenburg

This is a pre-compiler for learning how to build voice applications using Alexa. We will cover things like intents, sample utterances, handlers, and voice design principles. You'll learn how to use AWS Lambda functions, talk to APIs, and even how to make some money. ...

Format: PreCompilerLevel: Intermediate

Conducting Humane Code Reviews

Presented by: Adrienne Tacke

Code reviews are a must in a proper development workflow, but what happens when performing or receiving one becomes as fun as getting a root canal? Instead of contributing meaningful suggestions, developers often use these reviews as an opportunity to rehash old arguments or show their...

Format: General SessionLevel: Intermediate

Context is King: Finding Service Boundaries

Presented by: Derek Comartin

Are you having trouble defining service boundaries? We know there are benefits in splitting up a complex system, such as more focused models and modular deployments. ...

Tags: CloudFormat: General SessionLevel: Intermediate

DDoS Attacks: Threat Landscape & Defensive Countermeasures

Presented by: Chris Holland

October 2016’s attack on Dyn's DNS infrastructure was a gloomy wake-up call to the online community at-large, depriving us access to some of the online destinations and applications we use every day, thereby confronting us with the stark reality of an old and ever-growing threat with which the...

Tags: Other, SecurityFormat: General SessionLevel: Intermediate

Decision Making in the Face of Uncertainty

Presented by: Gary Short

Decision making in the face of uncertainty is one of the hardest things to do. In this pre-compiler session, we'll borrow methods from machine learning, statistics, trading and computer science to compose a methodology which will allow you to make the best decision possible given the evidence you...

Tags: Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Development magic: Producing more development time out of thin air.

Presented by: Jonathan Batteas

It's easy to get stuck in the, “if it ain’t broke, don’t fix it,” mindset with your software development process when real money is on the line, and deadlines loom. But taking the time to implement small changes to your pipeline, and foster a team attitude that's always looking for a...

Format: General SessionLevel: Intermediate

DevOps as a Force Multiplier for Agile

Presented by: Nate Berent-Spillson

So your development team uses Agile, but you keep running into process constraints because the rest of the organization is wedded to the status quo? In retros, you’re constantly coming up against inefficient, manual operations? Every step of building a software product eats away at your...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Effective DevOps with Knative & Istio

Presented by: Siva Kumar

Are you trying to deploy Istio to your Kubernetes clusters? Need to know more about serverless workloads on Knative? Are you looking to integrate DevOps practices like traffic splitting, versioning, chaos engineering into your deployment practices? We will discuss how to effectively adopt DevOps...

Format: General SessionLevel: Intermediate

Ensure Your Users Experience - A Trip Around User Validation Tools

Presented by: Rick Clymer, Aaron Glass

In today’s fast feedback world, getting our product in front of users often is incredibly important. But how do we know our product is ready to go in front of our users. Sure, we have 1,000’s of unit and integration tests on each of our microservices, but what happens when we put them all...

Tags: Javascript, Python, TestingFormat: PreCompilerLevel: Intermediate

Environment Configuration for JavaScript Apps

Presented by: David Truxall

For traditional server-side web apps, environment-specific configuration is handled in a variety of ways, including environment variables, configuration files or password stores. But a front-end web app running in a framework like React or Vue can’t really use these same techniques since they...

Format: General SessionLevel: Intermediate

Fast, Reliable, Powerful IoT Projects Built on Elixir With Nerves

Presented by: Joel Byler

Elixir was built to deliver low-latency, distributed and fault-tolerant systems, this is great for large enterprise applications but can also be leveraged to build impressive IoT applications on small single board linux machines like (but not limited to) a Raspberry Pi. Nerves was built to give...

Tags: Functional Programming, HardwareFormat: General SessionLevel: Intermediate

Feature Flags for Better DevOps

Presented by: Mickey Gousset

Feature Flags provide a set of patterns that can help your team deliver new functionality to users rapidly and safely. In this session, Mickey will cover the what of feature flags—also know as feature toggles. You'll then learn some uses cases for feature flags like separating code deployments...

Format: General SessionLevel: Intermediate

Get Progressive with it

Presented by: Matthew LaForest

Responsive web design! Mobile first! Hybrid apps! We are continuously bombarded with new ideas about the best way to develop a new application. For a small team, effectively delivering across many platforms can be a problem, but delivering a hybrid app frequently falls into an uncanny valley trap. ...

Tags: Design (UI/UX/CSS), Javascript, Mobile, OtherFormat: PreCompilerLevel: Intermediate

GIT: From beginner to Fearless

Presented by: Brian Gorman

This training is an introduction to GIT for source control. We'll take a look at getting started with GIT on our own machines, as well as working with GIT at public/private repositories on GitHub and/or BitBucket. Tools we'll use include BASH and VSCode ...

Format: PreCompilerLevel: Intermediate

Going crazy with CQRS

Presented by: Seth Kraut

CQRS stands for Command Query Responsibility Segregation, which doesn’t clarify that much. CQRS is a high performance, event oriented flavor of Domain Driven Design. CQRS challenges our normal conception of design. By separating read and write logic, this architecture unlocks unique possibilities....

Tags: .NET, JavaFormat: General SessionLevel: Intermediate

Hadoop Essentials

Presented by: Eric Richardson

Big Data and Cloud platforms have their origins in Hadoop. Learn the fundamentals of HDFS, Map Reduce and Yarn the three core components of Apache Hadoop. You will start a sandbox cluster, interact with HDFS, learn how HDFS saves data and why it does it that way. MapReduce is an important...

Tags: Big DataFormat: PreCompilerLevel: Intermediate

Hands On Threat Modeling Workshop

Presented by: Robert Hurlbut

Threat modeling is a way of thinking about what could go wrong and how to prevent it. Instinctively, we all think this way in regards to our own personal security and safety. When it comes to building software, some software shops either skip the important step of threat modeling in secure software...

Tags: Security, Soft Skills/BusinessFormat: PreCompilerLevel: Intermediate

Hands-on Infrastructure as Code

Presented by: Andrew May

Learn the benefits of Infrastructure as Code (IaC) in this workshop where you'll provision resources in AWS using both CloudFormation and Terraform. Learn the joy of creating Infrastructure in a repeatable manner with a single command line replacing a hundred clicks in the web console.

Tags: Cloud, OtherFormat: PreCompilerLevel: Intermediate

Have More Fun in Minecraft, With Redstone!

Presented by: Nathan Arthur

Have you ever wanted to build your own redstone machines in Minecraft? Come build cool redstone doors, traps, weapons, and farms with Benjamin (age 9) and Liam (age 7). But we won't just build them - we'll learn how they work - so you can build your own inventions at home! ...

Tags: HardwareFormat: KidzMash SessionzLevel: Intermediate

Hey, You Got Your TDD in my SQL DB!

Presented by: Jeff McKenzie

When should we test our data? From an application development perspective, a unit test against a database isn't a unit test at all. Which makes sense -- connected systems introduce overhead and dependency, both of which reduce stability and decrease productivity during test-driven development (TDD)....

Tags: TestingFormat: General SessionLevel: Intermediate

Hiring, Firing and Inspiring an Exceptional Team

Presented by: Seth Petry-Johnson

Management gets a bad rap in technical circles, and for good reason: many managers are terrible, and it shows! ...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Hold Up, Wait a Minute, Let Me Put Some Async In It

Presented by: Matthew Jones

The introduction of async/await to C# has irrevocably changed how .NET developers created their applications. But what about older applications? How can they get the async goodness? ...

Tags: .NETFormat: General SessionLevel: Intermediate

Horizontal Scaling of Graph Databases

Presented by: Ryan Hendrickson

A very real problem is choosing what data to prioritize when storing it in a graph database. Most graph databases, including Neo4J, the number 1 graph database according to db-engines.com, do not scale horizontally. This leaves the size of the database constrained to how much disk space and ram is...

Tags: Cloud, Big DataFormat: General SessionLevel: Intermediate

How Exploding Birthday Cakes and Other CRAZY Projects Come to Life

Presented by: Barry Tarlton

Have an amazingly crazy idea for an Arduino or RaspberryPi project, but can't find a tutorial to help bring it to life? Do even the Googles seem unable to help you get started on the road less traveled? This session will prepare you to go beyond the average maker tutorials found online and help...

Tags: HardwareFormat: General SessionLevel: Intermediate

Human Readable JavaScript: Using ES2015+ to Craft Better Code

Presented by: Laurie Barth

Love JavaScript? Awesome! Hate JavaScript? That's ok! In the past, JavaScript hasn’t always been easy to read; lots of dollar signs and slick one-liners do not a sustainable, high-longevity language make. ...

Tags: JavascriptFormat: General SessionLevel: Intermediate

iOS Application Security Testing

Presented by: Hans Weisheimer

This hands-on session is aimed at mobile app developers, QA testers, aspiring security testers, and other suspicious persons. ...

Tags: Mobile, Security, TestingFormat: PreCompilerLevel: Intermediate

Java 9, 10 & 11 Workshop

Presented by: Christopher Judd

With the quick moving 6-month Java train releases, you like many Java developers and organizations may have remained on Java 8 waiting for the next Long-Term-Support (LTS) release. Well, Java 11 is here so it is time to begin the adoption and upgrading. Java 9 was a HUGE release with many impactful...

Tags: JavaFormat: PreCompilerLevel: Intermediate

Kafka: Build, Deploy, and Monitor Your First Real-World Application

Presented by: Justin Pihony

Companies nowadays are finding it critical to be able to gather and analyze massive amounts of disparately-sourced data, quickly and reliably. By diving into the fundamentals of Apache Kafka, you will learn how it can be more than a superior, distributed messaging system, but also a platform to...

Tags: Big Data, Functional ProgrammingFormat: PreCompilerLevel: Intermediate

Make More 💰 Money with Less 🛠 Effort: 🧪 Experimentation Before Implementation

Presented by: Scott Showalter

Developing apps is time consuming, with little guarantee of success. The Web, App Store, Google Play and beyond are littered with apps making low or no revenue because they don't solve problems people actually care about. Before you build your “killer” ap, how can you truly know beyond the...

Tags: Design (UI/UX/CSS), Mobile, Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate

Making Reality Virtual: Simulating Experiences with VR Prototyping

Presented by: Scott Showalter

Take the Red Pill, and let's dive into the mind-bending Matrix that is Virtual Reality prototyping. Not just for gaming (though that's cool too), a new dimension of experience simulation is now open to designers of software as well as physical products, to observe customer interaction and gather...

Format: PreCompilerLevel: Intermediate

May the Turtle be With You

Presented by: Adrienne Tacke

Did you know you can draw and create simple games with Python's built-in Turtle module? No? Well you're in luck! ...

Tags: PythonFormat: KidzMash SessionzLevel: Intermediate

Micro Frontends: Breaking up the Frontend Monolith

Presented by: Kito Mann

Over the past several years we have embraced microservices as a way to “break up the monolith” and reduce complexity, allowing teams to focus on specific areas of functionality, while providing more flexible scaling and better fault isolation. However, for most of us, the front-end has remained...

Tags: Java, JavascriptFormat: PreCompilerLevel: Intermediate

Mock It 'til You Make It

Presented by: Gabriela Dombrowski

Let's automate the tedious task of building mocked query resolvers so that you never have to manually set up mocks for loading, error, no data, or default value states ever again! We'll learn how to use GraphQL and Apollo in a React application to build providers that will dynamically auto mock all...

Format: General SessionLevel: Intermediate

Open Source XAML Takes You Places!

Presented by: Sam Basu

XAML started life as a simple thin UI markup layer, but has had a surprisingly eventful history over years – from phenomenal rise to teetering on life support. Today, XAML powers a lot of app platforms and seems poised for success going forward. And almost all of XAML application stacks are now...

Format: General SessionLevel: Intermediate

Owning Your Experience: Talking about Mental Health In the Workplace

Presented by: Arthur Doler

Your thoughts and your emotions affect your work, no matter how much you pretend that you can leave them at the door of your workplace. It's easy to deny your own experience the importance it deserves, especially if it's only inside your own head. But boxing it all away because you have "work to do"...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Postman Delivers! A Deep Dive into API Testing.

Presented by: Bob Crowley

Whether you are a tester or a developer of HTTP API’s, chances are you are already using Postman to some degree. Chances are also that you are missing out on some of the advanced goodness. Using only features of the free version, this session introduces you to effective use of these features to...

Tags: TestingFormat: General SessionLevel: Intermediate

Quantity vs. Quality: Is less (code) really more?

Presented by: Anne Cahalan

We all strive to write clean, concise, reusable code. Everyone's had a moment of looking at a 500-line file or a 50-line method and thinking, "This is just too much code!" There can be real joy in breaking a giant mess into small, tidy bits. But when does the quest for brevity lead us into a swamp...

Format: General SessionLevel: Intermediate

React State: Redux & Context & Hooks, Oh My!

Presented by: Michael Moran

In the age of ephemeral javascript frameworks, ReactJS has lasted 5 years and only grown in popularity as its evolved. Despite its popularity, there is one burning question for anyone working with React: "How should I handle state?". We have many options at our disposal including React component...

Tags: JavascriptFormat: General SessionLevel: Intermediate

Reactive Extensions Without Marbles

Presented by: Eric Smith

ReactiveX is an exciting technology that's rapidly becoming pervasive, with implementations in Java, Swift, JavaScript and more. It has use cases from asynchronous calls to UI development, but unfortunately most tutorials and ...

Format: PreCompilerLevel: Intermediate

REST in Peace: Killing REST and adopting RPC.

Presented by: Steven Swenson

REST has been the de facto architecture for web APIs for 15 years, and its deficiencies are starting to become quite apparent. It is difficult to document, poor standardization, and lacks common tooling. For developers, this results in extra work when creating or consuming an API. The time has come...

Format: General SessionLevel: Intermediate

Say No To Accidental Architecture! Code Your Design Systems Instead

Presented by: Burton Smith

Are you still rockin' a single "styles.css" file in or project or have styles scattered throughout your project? Do you find yourself fighting to override styles or throw the "!important" property around a lot? Does your project have 20 different kinds of buttons and you don't know why or even where...

Tags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

Securing Your API Endpoints - A Practical Authentication Guide

Presented by: Seth Petry-Johnson

It's never been easier to expose services over HTTP. It's also never been easier to inadvertently expose security holes via those same services. ...

Tags: .NET, Javascript, SecurityFormat: General SessionLevel: Intermediate

Sell Yourself With a Software Quality Portfolio

Presented by: Aaron Glass

Finding new job opportunities can be stressful and intimidating. Talking about yourself might not be in your domain. Questions of uncertainty may arise. How do I make myself more marketable? How do I separate myself from the rest of the pack? How do I keep myself fresh? ...

Tags: TestingFormat: General SessionLevel: Intermediate

Server Side Swift Saves CodeMash: Breaking free of the phone

Presented by: Anne Cahalan

CodeMash is a whirlwind of great workshops, talks, and experiences. If only you could capture these insights and save them forever... ...

Tags: Mobile, OtherFormat: PreCompilerLevel: Intermediate

Tech Debt Be Gone! Time to Refactor JavaScript

Presented by: Joe Morgan, Laurie Barth

It’s been a battle, but the code is finally working. It’s time to clean it up, but not so fast, something else is on fire and the code has to be pushed as it is. Whenever there is time to refactor something else comes up. Of course, this doesn’t just happen once. A quick change here. A little...

Tags: JavascriptFormat: PreCompilerLevel: Intermediate

Technical debt must die - Communicating code to business stakeholders

Presented by: Matt Eland

Our software sucks. We're up to our necks in bugs and technical debt, yet we often seem to hit roadblocks explaining things in ways that bring about meaningful change. In this session you'll learn to gather, analyze, and interpret data in order to create effective presentations to communicate...

Tags: Soft Skills/BusinessFormat: General SessionLevel: Intermediate

TerseScript: JavaScript with 6 characters or less

Presented by: Mike Hand

Let's explore the unique properties of JavaScript and learn how to write ANYTHING using only brackets, parentheses, plus, and bang. When you go back to using your full keyboard, you'll do it with a better understanding of JavaScript and some of it's, um, "features." Some of these hacks should NOT be...

Tags: JavascriptFormat: General SessionLevel: Intermediate

Test-driven development: save your time, save your sanity, write great code fast

Presented by: Paul Roub

For the skeptical: Both new and more-seasoned devs -- especially solo practitioners -- can have a lot of misconceptions about TDD. Mostly of the "it's extra work, it's extra code, I can't ship tests, why would I test something simple and obvious" variety. But magic happens when the light bulb...

Tags: Other, TestingFormat: General SessionLevel: Intermediate

Testing your UI Components

Presented by: Avindra Fernando

When our clients give us kudos for releasing high quality applications, it makes us happy. To achieve great levels of quality, we need to thoroughly test our applications. But we know that some forms of testing can be expensive and tedious at times. Unit and integration tests help overcome some of...

Tags: Design (UI/UX/CSS), Javascript, TestingFormat: General SessionLevel: Intermediate

The Agile Designer: Aligning Dual-track UX and Development to Balance the Tactical and Strategic, Mi

Presented by: Jenna Chamra

Product teams everywhere are embracing Agile. It’s no wonder why: Agile creates better transparency, alignment and speed to market. The problem is, Agile was originally created for software developers. Design teams which try to adopt Agile often find themselves falling into “Faux-gile” or...

Tags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

The Demystifying Docker and Kubernetes DOJO

Presented by: Barry Tarlton, Michael Frayer

Want to be able to able to go from code to containers and then to a fully resilient, cluster managed environment like Kubernetes? Then this session is for you! This session will start with your code (or ours if you don't want to bring your own) and take you through the steps of packaging it as a...

Tags: CloudFormat: PreCompilerLevel: Intermediate

The UX of Configuration Files

Presented by: Eemeli Aro

Developers are people too, and should be your primary concern when designing an interface for them to configure your tools and libraries. In other words, there are better options than JSON available, but they each come with associated costs and limitations. How well do JSON5, YAML and TOML play with...

Tags: Design (UI/UX/CSS), JavascriptFormat: General SessionLevel: Intermediate

Thirst-quenching Streams for the Reactive Mind

Presented by: Mary Grygleski

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is...

Tags: Functional Programming, Java, OtherFormat: General SessionLevel: Intermediate

Twelve Spins on User Experience

Presented by: Keith Instone

What is “user experience,” really? Sure, it’s that feeling people get when they interact with your software, but the term UX is being used for more than that, in confusing ways. ...

Tags: Design (UI/UX/CSS), Soft Skills/BusinessFormat: General SessionLevel: Intermediate

Understanding the identity business, and how to get out of it

Presented by: Jeff Putz

Knowing who is using your software is super fundamental. It's less important than ever to have to manage those identities yourself, but you can't escape understanding the protocols and players. Let's talk about how things like OAuth2 actually work, and then decide if you can get out of the business...

Tags: Cloud, Other, SecurityFormat: General SessionLevel: Intermediate

Usability Starts With Accessibility

Presented by: Patrick McSweeny

For many web developers, accessibility is an afterthought, if they even think about it at all. What they fail to realize is that planning for accessibility from the beginning can actually enhance the design process rather than hindering it, with the end result being more usable by everyone. This...

Tags: Design (UI/UX/CSS)Format: General SessionLevel: Intermediate

User Interviews: More than Just a Conversation

Presented by: Ash Banaszek

Anyone who can carry a conversation can interview users, right? Not so. Gaining insight into user requirements, needs, and frustrations is a nuanced process. Without the proper training, even well-meaning researchers can lead, bias, and manipulate users into getting the answers researchers...

Format: General SessionLevel: Intermediate

Using Python to Develop a Discord Bot

Presented by: Raphael Gotfryd

Discord is the best way to communicate with your gamer friends. But what if I told you that you could create games with it? Well, you can in the form of a Discord bot. In this session we will go over many details about the Discord bot, and have a code along where you can make your own bot game for...

Tags: PythonFormat: KidzMash DivezLevel: Intermediate

Vertical Slice Architecture

Presented by: Jimmy Bogard

Moving from a layered architecture to a vertical slice architecture can be a bit daunting. We remove abstractions, complex structures, and focus building on the axis of change, then what's next? What new structures, patterns, and policies will need to be introduced in this style of architecture? How...

Format: General SessionLevel: Intermediate

Vue 3.0 Better, Faster & Stronger

Presented by: Dan Vega

Vue has just released (at the time of this presentation in 2020) it's long-awaited v3 and there are a ton of new features to get excited about. In this presentation we are going to cover some of the highlights with code examples of what's included in VueJS 3.0: ...

Tags: JavascriptFormat: General SessionLevel: Intermediate

Watch How The Giants Fall: Learning from Bug Bounty Results

Presented by: John Melton

Security is hard. We all miss things. Attackers find things. ...

Format: General SessionLevel: Intermediate

Well.. that's ONNX-pected

Presented by: Ron Dagdag

The world of machine learning frameworks is complex. What if we can use the lightest framework for inferencing on edge devices? That’s the idea behind ONNX format. Attend this session and find out how to train models using the framework of your choice, save or convert models into ONNX, and deploy...

Tags: .NET, Cloud, Big Data, Javascript, Other, PythonFormat: General SessionLevel: Intermediate

What Time Is It Anyway?

Presented by: Tyler Jennings

Handling date and time in our applications can be a complex task with many nuances. How should we handle date time? Should we store local time zone or UTC? Should we store dates and times separately? Should we use Unix time? These are all valid questions and there isn't always a...

Format: General SessionLevel: Intermediate

What's New in Xamarin Forms 4.0

Presented by: Jason Awbrey

Xamarin Forms has evolved significantly since it's debug almost 5 years ago. The recently released v4 includes many awesome new features. In this session we'll look at the latest and greatest, including Shell, Visual Design, CollectionView and CarosuelView. We'll demonstrate hands-on examples of...

Tags: .NET, MobileFormat: General SessionLevel: Intermediate