Schedule
The schedule grid is available for download as a PDF file.
The entire detailed schedule (including session abstracts) is available in the following table which supports paging, sorting, and full-text searches.
NOTE: the number in parentheses following the room name represents the seating capacity of that room. When planning your day, we recommend selecting both a PRIMARY and a SECONDARY session for each time-slot in the event your first choice reaches max. capacity.
Room | Session | Speaker | Title | Abstract | Level |
---|---|---|---|---|---|
Belasco (20) | 09:15 - 10:15 | Nathan Westfall | Getting started with Xamarin Essentials | Enhance your Xamarin Forms app with Xamarin Essentials! Adding Xamarin Essentials to your app quickly gives you access to "easy-to-use" cross platform APIs. No longer do you have to build interfaces and access the device APIs directly through dependency injection. Quickly access device information, current location, text-to-speech and more! | Introductory and overview |
Belasco (20) | 10:30 - 11:30 | Olivier De Meulder | Scrum, Sprint, Swarm | Like many software development teams, my team at The New York Times, uses scrum as our main process. To plan our sprints, we would go through the backlog, pick stories and assign a story to each of our six engineers, who would then work hard to get their story done. Because of unforeseen roadblocks, the stories would often get pushed to the next sprint or we would work together on a story to finish it before the end of the sprint. The problem with this process was that by the time we realized we needed to work together, it was often too late in the sprint. Recently, we started working together, or swarming, for our entire sprints and only taking on a small number of stories at a time. Swarming is not a new concept; Many agile teams often swarm on a story to finish it before moving on to a new story. We took the definition of swarming and made it or own: We don’t just swarm to finish what has already been started, we swarm as soon as we start something new. And we’ve become more productive and collaborative as a result. | Intermediate |
Belasco (20) | 12:45 - 13:45 | Ryan Lynch | Observability for the Frontend | You read through logs, you pore over stack traces...but what is really going on inside the browser as users move through your application? Observability provides an answer to this question, and poses new ones we didn't know to ask. In this session we'll start with an instrumented application, complete with features and bugs. We'll take on the role of new users and new developers, working together to understand and improve the application using insights gained from tracing and other observability tools. Come with any level of experience in observability, and walk away with an understanding of how these tools can be applied to frontend development problems. | Intermediate |
Belasco (20) | 14:00 - 15: 00 | Oren Novotny | DevOps for Desktop Applications | Client applications have unique requirements for DevOps, this session will show you how to use Azure to deploy MSIX based applications in an efficient and secure way. We will cover branching strategies, versioning, packaging and automatic deployment using Visual Studio App Center and Azure Pipelines. | Introductory and overview |
Belasco (20) | 15:15 - 16:15 | Isaac Levin | Application Insights: The Tool You Never Knew You Needed | Understanding how our applications function in the wild is essential for developers when issues arise. With the power of knowledge, we can enable ourselves to provide the best experience to our fellow developers, and our stakeholders. One of the solutions that supplies this power is Application Insights. Application Insights is a service provided by Microsoft allowing you to monitor your application live, detect performance anomalies, and observe this data with powerful analytics. Together we will see how easy it is to add Application Insights to our applications, whether we have access to the code-base or not. Once instrumented, we will dive deeper into the capabilities of Application Insights and show how to leverage all the rich data collected from our application. Finally, as developers the last thing we want to do is troubleshoot an issue in Production, with everyone watching and the stakes are high. Watch as we monitor a live application that is throwing exceptions and how Application Insights can be used to help us solve the problem faster. When we are done, attendees will be empowered with the knowledge to leverage Application Insights to be more productive with their work. | Introductory and overview |
Broadway (30) | 09:15 - 10:15 | Joe Karlsson | IoT with JS (?!?!) - A Gentle Introduction to IoT | Have you ever wanted to get started on your own Internet of Things (IoT) project, but didn’t know how to start? Well, now it’s easier than ever to jump in and start creating your own IoT device using JavaScript. In this talk, we will be getting our hands dirty the Raspberry Pi and Node.js. Together, we will be writing a program to visualize sound levels on the web in real time. With Node on a Raspberry Pi, we will listen to a sound sensor and then send that data to a webpage so we can visualize the data live! Sounds cool right? You will leave this talk with an understanding of: Connecting sensors to a Raspberry Pi and reading the inputs with Node. | Introductory and overview |
Broadway (30) | 10:30 - 11:30 | Eileen McFarland | EmoReply: How to Make a Chrome Extension with Feelings | “Great!” “Got it, thanks!” “Awesome, thanks!” Above are three examples of Gmail’s SmartReply feature, which promises to save users time by suggesting replies. Here’s a problem: they’re all happy. What if you want to let your inner angst-ridden teenager out? The chrome extension EmoReply is here for you. Using machine learning, EmoReply suggests angsty autoreplies that replace SmartReply’s exclamation marks with tear marks. The talk will walk audience members through EmoReply’s architecture, which includes doc2vec on the back-end. During the talk, audience members will learn how to set up a basic machine learning model using gensim and doc2vec. Next, audience members will learn how to approach writing a chrome extension, including tips about common pitfalls they should avoid. Finally, the talk will conclude by highlighting spin-offs of EmoReply, such as EnronReply and Overheard-in-New-York-Reply. | Introductory and overview |
Broadway (30) | 12:45 - 13:45 | André Barnes | After you commit | With everything being automated and repeatable these days DevOps is becoming more and more of a necessity for the the everyday developer to be knowledgeable of. These days everything is being automated and stuffed into a repository. Come and explore building CI and CD pipelines in Azure DevOps with an emphasis on .NET core apps. In this talk we will discuss CI CD and dive into building some pipelines that handle testing, database migrations and security within Azure. | Introductory and overview |
Broadway (30) | 14:00 - 15: 00 | Chuck Lafferty | Leading a DevOps Transformation | There are so many DevOps misconceptions. DevOps is way more than containers and Jenkins. In this talk you will learn DevOps is not a person, role, or team. It's what an entire organization does. It's like Agile evolved. It's never an easy road to CI/CD but you need to start somewhere. We will deep dive into what DevOps is, how you can architect your software for daily delivery and quality. We will discuss ideas and practices from other industry leaders on how they applied DevOps principles into their software. Finally give you tips on how to move your software team towards a DevOps mindset, no matter the organization. | Introductory and overview |
Broadway (30) | 15:15 - 16:15 | Steve Ognibene | gRPC with .NET Core in Production | Namely has been using gRPC with .NET microservices in production for nearly two years. In this 200-level talk, Steve will introduce gRPC, contrast protocol buffers with JSON, and cover how Namely manages our protorepo. Steve will show how Namely scaffolds clients and servers in many different languages with our open source docker-protoc container, and how we instrument our .NET services using gRPC pipelines/interceptors. You will see how we use gRPC Gateway to allow our gRPC services to send and receive data using JSON for non-gRPC enabled clients (such as JS frontend code). We'll even talk about the benefits of using the new managed gRPC implementation in .NET Core 3.0. You'll come away from this talk with an understanding of what gRPC is, and some best practices for implementing it that work well with C# and other languages. This talk should be useful for any developer with some experience programming APIs who wants to learn about gRPC. | Intermediate |
Central Park East (81) | 09:15 - 10:15 | Jay Gordon | Taking Your First Steps In Containers | Many times the biggest ask for users trying to learn about containers is getting easy “getting started” information. In this session attendees can get a getting started entry into building a Node.js “Hello World” and bring it to production with only a few steps. Many times the biggest ask for users trying to learn about containers is getting easy “getting started” information. I recently presented at a conference where I showed attendees how to deploy a web application with Docker and Azure. A person who identified as a “Junior Web Developer” confided in me with, “I am so happy to see someone present this information in an easy method with the commands!” This confirmed that there’s still a big need to help users understand their first steps in taking the code they produce from their laptop and repositories up to the cloud. In this session attendees can get a getting started entry into building a Node.js “Hello World” and bring it to production with only a few steps. This session will provide the following steps to the attendee: Cloning git repo with “Code” Building local Docker image, preview image Creating Azure Container Registry, Authentication Build and push to remote registry Deploy container to Azure Web App for Containers (PaaS) Attendees will be provided with demo code and instructions on how to deploy to production instructions (not necessary, only for further education). | Introductory and overview |
Central Park East (81) | 10:30 - 11:30 | Christina Low | Accessibility in Tech & Twitter A11y: A Browser Extension to Describe Images | In my experience over the summer in my Human Computer Interaction REU program at Carnegie Mellon University, I learned a lot regarding the intersection between psychology and computer science, specifically in regards to how as technology is advancing, the need for making software accessible is often overlooked and increasingly needed. In this session, I will present and discuss the project I collaborated to make: Twitter A11y: A Browser Extension to Describe Images. Below is the abstract from our poster: "Twitter is integral to many people’s lives for news, entertainment, and communication. While people increasingly post images to Twitter, a large majority of images remain inaccessible to people with vision impairments due to a lack of image descriptions (i.e. alternative text). We present Twitter A11y (pronounced ally), a browser extension to make images accessible through a set of strategies tailored to the platform. For example, screenshots of text that exceed the Twitter character limit are common, so we detect textual images, and automatically add alternative text using optical character recognition.Tweet images apart from screenshots and link previews receive descriptions from crowd workers. Based on an evaluation of the timelines of 50 self-identified blind Twitter users, Twitter A11y increases automatic alt text coverage from 2.6% to 25.6%, before crowdsourcing the remaining images." | Introductory and overview |
Central Park East (81) | 11:45 - 12:30 | TopTal | Gabriel Bianconi | Sponsor Lunchtime Session: Natural Language Processing: History, Theory, and Applications | Machine learning algorithms work with numbers, but text makes up a substantial source of information. How can we bridge these domains to extract new insights? Machine learning algorithms work with numbers, but text makes up a substantial source of information. How can we bridge these domains to extract new insights? This talk will cover the principles of natural language processing (NLP), focusing especially on foundational ideas such as word vectors and language models. Following a historical overview of different approaches used to solve these tasks, the audience will gain a strong intuition for the theory and motivation behind the algorithms. We’ll then discuss NLP applications leveraging these methods, as well as a useful tactics for dealing with practical challenges. | |
Central Park East (81) | 14:00 - 15:00 | Phil Wells | Automating the New York Times Crossword | The New York Times digital crossword has more subscribers than the population of Iceland. The team responsible for this media mainstay add new features all the time. They release new games, like Spelling Bee and Letter Boxed. They introduce new features, like leaderboards and vertical streaks. They add engaging bonuses like milestone animations to the crossword. How does a team doing so much, with a product so renowned, ensure that they're building in quality with every new release? Join Phil Wells, a software engineer in test for the Games team, as he discusses that very topic. Phil addresses the negative feelings some teams might feel with delivering anything but a perfect product. He'll talk about the software quality practices his team uses to squash those feelings. He'll explain some of the tools they use to ensure that everyone feels confident and happy with their software delivery. Test practitioners will leave knowing that their job is a process of continual shame elimination. And they'll have a few new tricks to help them get the job done. | Intermediate |
Central Park East (81) | 15:15 - 16:15 | Mitchel Sellers | Practical Unit Testing Patterns With .NET Core | Reaching 100% Code Coverage is often a mythical number, however, when you dive deep into an application you might discover that patterns of the technology limit your ability to achieve good code coverage. This sessions explores this topic and introduces attendees to tips and tricks that can be used to help reduce the amount of code that needs to be written while at the same time allowing project Code Coverage to be reported accuratly with the ultimate goal of helping to implement higher quality code. After the session attendees will leave with a greater understanding of Unit Testing principles, methods to manage coverage percentages, and areas of .NET Core that inhibit unit testing and how to work around those limitations. | Advanced |
Central Park West (201) | 10:30 - 11:30 | Jim Wooley | Entity Framework performance monitoring and tuning | Object Relational Mapping technologies, including the Entity Framework can drastically simplify the programming model against databases, but when done carelessly, performance can suffer. In this session, we'll explore some real-life strategies that have solved performance issues in production applications that I have encountered at a variety of customers. We'll discuss the pros and cons of working without stored procs and cover strategies for monitoring and tuning your entity queries. | Intermediate |
Central Park West (201) | 11:45 - 12:30 | Twilio | Layla Porter | Sponsor Lunchtime Session: The Twilio Photobooth App | Kind regards,If you've been by the Twilio booth, you may have seen the MMS Photobooth app running. You didn't have to install anything! Your mobile phone did all the work to get your selfie printed! But how does it all work? In this session, I will talk you through two of Twilio's serverless products, Studio and Functions. I will show you how to create the Photobooth app with a few API calls to Zapier and Cloudinary, then connect these with Twilio Studio and a real phone number ready to receive incoming MMS messages with your selfies! | |
Central Park West (201) | 12:45 - 13:45 | Bhakthi Liyanage | Building AI Powered Biometric Security Systems with Azure AI | For almost all the organizations on this planet, data is one of their main assets and the security of data is one of the primary concerns. Organizations constantly look out for advanced security mechanisms to safeguard business data. Despite of the cutting-edge security precautions, we have witnessed major data breaches across the board in the past few years. These data breaches have exposed vital data of millions of customers and businesses are constantly looking for better alternatives to traditional security models. Biometrics identifies and authenticates individuals based on their physical or behavioral characteristics and are typically used for security and access control across businesses and government organizations. This session will demonstrate the architecture and high level development components of an advance AI based biometric security solution that leverages services available on Azure platform. | Advanced |
Central Park West (201) | 14:00 - 15:00 | Mitchel Sellers | Practical ASP.NET Core CI/CD with Azure DevOps in under 60 Minutes | A proper Continuous Integration (CI) and Continuous Delivery (CD) setup can save thousands of hours a year and improve the quality of releases and reduce support costs. With all of the benefits organizations are often scared away with a belief that the process is complicated or requires extensive learning. Azure DevOps makes the process easier, but it does introduce a number of terms & process that might be new. In just under 60 minutes this session walks through the design, implementation, and validating of a CI/CD pipeline to build, test, package, release, and deploy an ASP.NET Core application. Providing all of the tools & experience needed to implement for any application. | Intermediate |
Central Park West (201) | 15:15 - 16:15 | Mofizur Rahman | Managing Kubernetes with Istio | Developers are moving away from large monolithic apps in favor of small, focused microservices that speed up implementation and improve resiliency. Microservices and containers changed application design and deployment patterns, but along with them brought challenges like service discovery, routing, failure handling, security and visibility to microservices. “Service mesh” architecture was born to handle these features. Applications are getting decoupled internally as microservices, and the responsibility of maintaining coupling between these microservices is passed to the service mesh.Istio, a joint collaboration between IBM, Google and Lyft provides an easy way to create a service mesh that will manage many of these complex tasks automatically, without the need to modify the microservices themselves. In this talk we will see how istio can be used to manage traffic, gather metrics and enforce policies in a demo application running microservices. We will learn why kubernetes need “service mesh” and how does Istio improve managing Kubernetes workload. | Intermediate |
Gershwin (14) | 09:15 - 10:15 | Mitchel Sellers | Transitioning to .NET Core: It doesn't have to be painful | As more organizations are looking to transition to .NET Core from existing technologies it is important to understand the processes necessary to make the transition. Although a seemingly daunting task, it is something that can be managed with a bit of planning. This session will dive into the pre-requisite work, as well as a process that can be followed to make the transition as smooth a possible. and will discuss real-world successes and pitfalls of the transition with a goal of making your transition smooth and painless. | Introductory and overview |
Gershwin (14) | 10:30 - 11:30 | Quintessence Anx | Unquantified Serendipity: Diversity in Development | Learning how to write software, architect infrastructure, and automate deployments is cognitively taxing. So much so, we probably spend a great deal of energy learning how to learn, learning how to retain, learning how to apply, learning how to be efficient, that learning how to be with each other gets lost in the mess. Straight to the point: Computer programmer. Software developer. Production Engineer. When you read these terms, a picture probably starts to form in your mind’s eye - a sort of default for what a person behind these titles looks like. Maybe also how they sound - what language do you expect them to speak? How do they speak it? Most likely, when you read those titles, you visualize a white male. He speaks English fluently with a local accent. If you pull up the photo behind an anonymized résumé, you might be surprised to find a Muslim woman wearing a hijab. Or perhaps you see someone who doesn’t speak fluent English, speaking instead with their native Mexican accent. A lot of the imagery that’s been produced for software developers intentionally or inadvertently reinforces this vibe - the notion that the default developer is a white male, even when history and globalization show that that’s probably not the case. Yet because this is the view when women and other minorities join our ranks, they are given advice that encourages them to behave socially and linguistically like white men. In this talk, I’ll explore how we can solve problems together as a diverse group, quite literally just by sharing space. I’ll discuss ways that we can be better allies to each other by fostering understanding, and highlight the positive impact of normalizing the appearance of minorities in the field. | Introductory and overview |
Gershwin (14) | 12:45 - 13:45 | Jyotsna Gupta | Building cross-platform browser add-ons using Web Extension API | Browser Add-ons can extend and modify the functionality of a browser. They help us to personalize the browser as per our need. I’ll be walking through some of the existing add-ons to outline the potential of add-ons. Participants will learn how easily they can develop a Firefox/Chrome add-on or port Firefox add-on to other browsers(Chrome, Opera, Edge,etc.) by having basic knowledge of JavaScript using WebExtensions API. | |
Gershwin (14) | 14:00 - 15:00 | Bobby Johnson | Identity 101: How username/password got so complicated | Taking your first step beyond the default username and password based authentication offered by a full stack web application framework can be overwhelming. Social logins, Identity Providers, OAuth 2.0, LDAP, SAML, OpenId Connect; all can be confusing. What does it all mean? How did we get here? By the end of this session, you will have a good understanding of each of these ideas, how they work and when it is appropriate to use them. | Introductory and overview |
Majestic (18) | 09:15 - 10:15 | Bob Crowley | Keeping Configuration Secrets Out Of Source Code | Keeping secrets safe and out of source code has always been challenging. De-coupling sensitive information like connection strings, certificates and passwords keeps these secrets out of source control where it is all to easy to expose them unintentionally. This session focuses mostly on .Net Core Configuration and also provides an overview of how to leverage Azure App Service Settings, KeyVault and Managed Identities for Azure Resources to help alleviate this long-standing problem. Additionally we will see how to consume configuration even when you, the developer, don't have access to production secrets. Demonstrated are three application scenarios - A non-Azure-hosted app, An Azure-hosted app and local debugging. Time permitting, we will also see some techniques for managing secrets in full-framework applications that typically rely on web.config files. This presentation gives you the basic knowledge to keep secrets out of source code while still assuring correct production configuration. | Intermediate |
Majestic (18) | 10:30 - 11:30 | Justin Dearing | An Introduction to Always Encrypted | This will be an introduction to the Always Encryption feature introduced in SQL Server 2016 . Always Encrypted provides encryption in transit as well as encryption at rest for specific columns in your database. There will be a survey overview of both the operations and development side of Always Encrypted. The main focuses will be porting considerations, certificate management, integrating Always Encrypted into a Continuous Integration and Continuous Deployment (CI/CD chain) and using Azure Keyvault for increased certificate security. | Intermediate |
Majestic (18) | 12:45 - 13:45 | Nathan Westfall | Scale your API quickly using Message Queues on AWS | APIs are easy enough to build, but making sure they can scale without breaking the bank can be difficult. While there are ways to auto-scale your API through containers/VMs with load balancers, it might be better to use a message queue. In this session, you'll learn how to build an API that sends data to a message queue for processing rather just connecting straight to a database. | Intermediate |
Majestic (18) | 14:00 - 15: 00 | Greg Hurlman | PowerApps for professional developers | PowerApps is a platform for low/no-code app development, but there is plenty of opportunity for pro developers to extend PowerApps even further! We'll walk through creating and exposing your custom web API inside PowerApps, and how to create entirely custom UI components that can then be used by PowerApps makers in their apps! Join a member of the PowerApps product team as we walk through using custom data connectors and the PowerApps component framework, how to build and debug, and how to deploy your component so your makers can get their hands on them. | Intermediate |
Majestic (18) | 15:15 - 16:15 | Praveen S Rawat | Scale your app through the Microsoft Azure Marketplace | The Microsoft Azure Marketplace is the premier destination for all your software needs - certified and optimized to run on Azure. I will touch upon the following topics. Value proposition Azure marketplace vs AppSource Technical requirements App trials, Test Drive Various Channels such as Azure, Teams, Dynamics Process Best Practices for success Make Money! | Introductory and overview |
Marquis (18) | 09:15 - 10:15 | John Miner | How to audit and prevent unwanted user actions. | Many corporations are composed of small divisions located in countries throughout the world. While you might be the lead DBA for your corporation, there are several other employees who have the keys to the kingdom. This presentation will review techniques on how to prevent and/or audit data and schema changes. Coverage: 1 – Granting correct user access is vital. 2 – DML triggers to keep a DATA audit trail. 3 – DDL triggers to keep a SCHEMA audit trail. 4 – Preventing unwanted DATA modifications. 5 – Preventing unwanted SCHEMA changes. 6 – Preventing table TRUNCATIONS. 7 – LOGIN triggers to control who, what, and when. 8 – Change data capture (CDC) an alternative to triggers. 9 - Which of these techniques apply to an Azure SQL database? | Intermediate |
Marquis (18) | 10:30 - 11:30 | Brian Dunnington | Look mom! No code! | Developer's love writing code, but code means bugs. What if you could develop your next service with no code at all? | Introductory and overview |
Marquis (18) | 12:45 - 13:45 | Van Van Lowe | Why state matters or Intro to Redux pattern in Angular using NGRX | In this talk we will discuss why state management is important in an angular application. The we will discuss the Redux pattern. We will then talk about how it is implemented in angular with the NGRX. We will show redux fundamentals and basics for getting started. | Intermediate |
Marquis (18) | 14:00 - 15: 00 | Rahat Chowdhury | Hip Hop, Code, and Mental Health | My journey from being depressed and unemployed to using code and music to pull myself out and becoming a software engineer. Learn how I deal with social anxiety and finding a way to network and daily imposter syndrome at my first development position. | Introductory and overview |
Marquis (18) | 15:15 - 16:15 | Luis Quintanilla | Introduction to Spark.NET | Apache Spark is an open-source, distributed, general-purpose analytics engine. For years, it has been a staple in the Big Data ecosystem for batch and real-time processing on large datasets. Sparks provides a rich set of APIs that are optimized to overcome the limitations of other distributed programming models like MapReduce. Although native support for the platform is limited to the JVM set of languages, other languages typically used for data processing and analytics like Python and R have plugged into Spark's Interop layer to make use of its functionality. Around the time of the Build 2019 conference, Microsoft announced Spark.NET. Spark.NET provides bindings written for the Spark Interop layer that allow you to work with components like Spark SQL and Spark Streaming inside your .NET applications. Because Spark.NET is .NET Standard 2.0 compliant, it can run operating systems like Windows and Linux. In this session, you'll learn about Spark, its main components for processing large datasets and how to get started integrating Spark into your .NET applications with the help of Spark.NET. | Introductory and overview |
Music Box (46) | 09:15 - 10:15 | Jim Wooley | Getting pushy with SignalR and Reactive Extensions | As our systems increasingly demand more real-time updates, we need better ways of working with these live streams of information. Traditional pull models fail to provide the real-time responsiveness and scale needs that modern systems expect. Moving to a push model allows us to scale easier and react to new data as it becomes available. SignalR facilitates push notifications over HTTP to a variety of clients. The Reactive Extensions were designed to allow for asynchronous LINQ over push based collections. In this talk, you’ll see how the synergy of these two technologies merge to make otherwise difficult tasks, a push over. | Introductory and overview |
Music Box (46) | 10:30 - 11:30 | Rogue Fong | Building Audio-Reactive Environments for AR/VR | In this session you will learn the basics of sound, how to understand waveforms and audio formats, how this applies to music, and how to take meaningful information from a song. From there, you will learn how to create a headset-based XR project using Unity and C#, how audio works in Unity, and how to apply that song information to objects in Unity. You will ultimately walk away with knowing how to build a fun, reactive environment in XR, and with the ability to make your own projects subtly or explicitly audio reactive. | Intermediate |
Music Box (46) | 12:45 - 13:45 | Bobby Johnson | Securing Vue.js with OpenID Connect and OAuth | Vue is a lightweight, fast and awesome library for building user interfaces. Its learning curve is gentle and its API is not complex to understand. OAuth and OpenID Connect are standards-based protocols for identity and access management in applications. In this presentation, we will take an existing Vue application and implement authentication with OIDC, discover several idiomatic ways to integrate authentication, user profile consumption and conditional formatting with Vue as well as consuming a secure backend with OAuth. | Intermediate |
Music Box (46) | 14:00 - 15: 00 | Quintessence Anx | Sensory Friendly Monitoring: Keeping the Noise Down | The ability to monitor infrastructure has been exploding with new tools on the market and new integrations, so the tools can speak to one another, leading to even more tools, and to a hypothetically very loud monitoring environment with various members of the engineering team finding themselves muting channels, individual alerts, or even alert sources so they can focus long enough to complete other tasks. There has to be a better way - a way to configure comprehensive alerts that send out notifications with the appropriate level of urgency to the appropriate persons at the appropriate time. And in fact there is: during this talk I’ll be walking through different alert patterns and discussing: what we need to know, who needs to know it, as well as how soon and how often do they need to know. | Introductory and overview |
Music Box (46) | 15:15 - 16:15 | Jyotsna Gupta | RESTful API Development using Go | This talk will give an overview of RESTful API development in Go. The talk will cover securing API end points, storage using Redis/MongoDB, and writing unit tests for HTTP handlers. This talk also goes through some best practices for API development in Go. Few suggestions for deployment. Outline: - -Introduction to REST -Why Go? -HTTP Methods: GET, POST, PATCH & DELETE - Creating a simple endpoint- using standard library and middleware - Securing endpoints -Data storage using Redis & MongoDB -Writing unit test for HTTP handlers -Best practices | Intermediate |
New Amsterdam (18) | 09:15 - 10:15 | Brian Jablonsky | Blazor - C# in the Browser | Blazor is a web framework for building client side UI with C# and .NET. In this presentation, we'll take a look at what WebAssembly is, how Blazor uses WebAssembly to execute .NET code in your browser, and how to write your web frontend code using C#/Razor and HTML. We'll also take a look at Blazor's history, how to utilize client-side and server-side rendering, how to interop with traditional JavaScript in the browser, and take a look at Blazor's roadmap for the future. | Introductory and overview |
New Amsterdam (18) | 10:30 - 11:30 | Christopher Agocs | Concurrency Examples in Go | The Go programming language provides some powerful concurrency primitives, such as Goroutines and Channels. It can be non-obvious how to best leverage these. We'll live-code a few short but powerful examples that demonstrate some good concurrency practices in Go. | Advanced |
New Amsterdam (18) | 12:45 - 13:45 | Christopher Agocs | Devops at Sea | It's 2019. Servers are livestock, not pets. We use containers and orchestration tools. But what if your servers are only available over slow, unreliable satellite connections? I'll cover some coping strategies we've developed for managing hardware on ships in the middle of the ocean. | Intermediate |
New Amsterdam (18) | 14:00 - 15: 00 | Van Van Lowe | Adventures in Azure Function: Beyond HTTP Triggers | Most of the time when we talk about azure functions it is as an API, however there is much more you can do with Azure Functions. In this session about other way of using Azure Function such as with workflows, schedule process and much more. We will focus on binds and triggers with some real-world examples. | Intermediate |
New Amsterdam (18) | 15:15 - 16:15 | Jared Rhodes | Build accessible apps with Cognitive Services | In this presentation, we will look over how cognition can create easier to use and more accessible applications. Cognition allows developers to build applications that can see, hear, understand, and even think. These capabilities can be used to make applications more accessible to those with accessibility needs. After this session, developers will be able to create more accessible and usable applications without a PHD in Artificial Intelligence. | |
Radio City (48) | 09:15 - 10:15 | Kendall Miller | How not to be the best app no one uses: Effective Onboarding for fun & profit | You've made a brilliant application - perhaps a new startup or a new major initiative within your enterprise. For it to be successful you need to get people from interested to effective before they lose interest. Without effective onboarding built into your app users will not stick with it long enough to discover the great features you've built. In this talk we'll dig into what it takes to design and optimize an effective onboarding process and equip you with a strategy for making incremental investments that can be fit into your development project. | Intermediate |
Radio City (48) | 10:30 - 11:30 | Jared Rhodes | Run the world from the palm of your hand | In this session, we will look at how mobile devices can be used to interface with headless devices through wireless technology. With the strong adoption of Internet of Things devices, or devices without a direct interface, a common form of interaction is widely used. That interaction is through the computer most people carry with them every day, a mobile phone. After this presentation, attendees will have a strong understanding of how to use mobile devices in their Internet of Things story. | Introductory and overview |
Radio City (48) | 11:45 - 12:30 | Tyk | Sedky Abou-Shamalah | Sponsor Lunch Session: Not in my job description!: How Security has become an integral part of the Software Development Lifecycle | Software development is hard enough. A developer's focus should be on their industry domain. They don't and shouldn't spend time worrying about authenticating systems and APIs. I'll take you through an introduction of building and securing a full stack app using best practices, touching on OIDC, OAuth 2.0, Api Gateways, and more. | |
Radio City (48) | 12:45 - 13:45 | Andrew Cook | Microservices of Microsoft Learn | We will dive into the many microservices which together make Microsoft Learn an online interactive learning platform. Microsoft Learn is built upon Azure in .NET using multiple services including Web Apps, Azure Functions, Traffic Managers, Service Bus, Event Grid, and Cosmos Db. Each of the services incorporates CI/CD which allows for independent development and deployment to increase the speed at which new features and changes can be completed. | Intermediate |
Radio City (48) | 14:00 - 15:00 | Layla Porter | TDD and the Terminator - An introduction to Test Driven Development | Getting started with Test Driven Development (TDD) can be very challenging. It requires a different mindset and approach to writing and developing code. However, once in that mindset, it is very difficult not to write tests first. But why bother writing tests first? In this session, we will go through the reasons for writing tests before coding, look at architecture and design principles, such as SOLID and see how it all comes together to create a more testable and maintainable application. I will show you how to get started writing tests first with practical examples on how to reprogram a T800 series Terminator so you can start using TDD in your own applications (or killer robots from the future). Hasta La Vista badly-written code! | Intermediate |
Radio City (48) | 15:15 - 16:15 | Bhakthi Liyanage | Regulatory and Compliance Risk Management using Artificial Intelligent Solutions | One of the biggest challenges faced by analysts or strategists who are a part of the investment research team in a stock brokerage or investment bank is, the regulatory and legal compliance of the equity research reports published by the firm. This session will focus on demonstrating how an intelligent document classification system was developed using NLP and AI, and how the system leveraged doc2vec, word2vec and other word embedding techniques for creating distributed semantic representations that provides the context based insights of the documents. This session also will demonstrate how semantics were used to develop deep learning network for sentence classification that flags and identify questionable entities and language of interest of documents in an automated manner. | Intermediate |
Winter Garden (46) | 09:15 - 10:15 | remko de knikker | Mission Critical: Create a CI/CD Pipeline from Source to Kubernetes | There is a lot of talk around Agile, Cloud, Microservices, Docker and Kubernetes architectures, but the critical element for running modern applications is the Continuous Integration and Continuous Deployment (CI/CD) Pipeline. This session will walk developers hands-on through creating, running and managing a CI/CD Pipeline. In addition, there will be a brief overview of the standard open source technologies in DevOps. | Intermediate |
Winter Garden (46) | 10:30 - 11:30 | John Miner | Effective Data Warehouse Storage Patterns | Many companies start off with a simple data mart for reporting. As the company grows, users become dependent on the data mart for monitoring and making decisions on Key Performance Indicators (KPI). Unexpected information growth in your data mart may lead to a performance impacted reporting system. In short, your users will be lining up at your cube for their daily reports. How do you reduce the size of your data mart and speed up data retrieval? This presentation will review the following techniques to fix your woes. Coverage: 1 – What is horizontal partitioning? 2 – Database sharding for daily information. 3 – Working with files and file groups. 3 – Partitioned views for performance. 4 – Table and Index partitions. 5 – Row Data Compression. 6 – Page Data Compression. 7 – Programming a sliding window | Intermediate |
Winter Garden (46) | 12:45 - 13:45 | Mesut Celik | Distributed Caching Patterns in Kubernetes | As Monolith to Microservices migration almost became mainstream, developers have to think about how their caching strategies will evolve in cloud-native world. In this talk, Mesut will go through hazelcast caching options in cloud-native microservices. First part will be Hazelcast Caching Patterns in Kubernetes Environment. Next part will cover how to apply Hazelcast Caching Patterns into Microservices. As last part, Mesut will go through how to deploy Hazelcast into Kubernetes and handle Day 2 Operations. | Intermediate |
Winter Garden (46) | 14:00 - 15: 00 | Bob Crowley | Postman Delivers! A Deep Dive into API Testing | 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 save time, reduce errors and share your work. You learn how to : - unclutter your collections with environments - create dynamic requests with the powerful scripting environment - chain requests (never run a separate utility to generate auth tokens again!) - data drive an entire suite of tests with just a few clicks. - backup and share your work - automate the whole shebang from the command line, optionally with reports - much more... Ditch the click/wait/verify/repeat cycle! Concepts presented here apply to API testing in general, whether you use another tool or test with code only. Save time and gain confidence in your software. | |
Winter Garden (46) | 15:15 - 16:15 | Martin Kess | A COOL NEW DATA STRUCTURE YOU DIDN'T KNOW COUNTED AS A DATA STRUCTURE (or Let's Build Wiz Khalifa A Bank) | Logs are an incredibly powerful and under appreciated data structure - not just for diagnostics, but for transferring state between the various parts of your distributed system. In this talk we'll walk through building an increasingly complex distributed banking system, using logs as a backing mechanism to transfer and store state. We'll talk about growing the system over time, we'll talk about integrations, we'll talk about global transactions and we'll have a good time. | Intermediate |
Central Park East (81) | 12:45 - 13:45 | Justin Dearing | Building an in-process Search Engine with Lucene.NET. | We often think of search in terms of enterprise search. A strategic project with its own contract sold to our clients at the C-Suite level and implemented by a team over a period of months. However, sometimes a project or client needs something in a very narrow scope implemented in a sprint as part of one tactical project. However, even at such a small scope, there are a lot of considerations to make to deliver a search solution that works. This session will present case studies for two such narrowly scoped search implementations using Lucene.NET. The first will be a case study of the HR portal search implementation. The second will be an open source Azure Function Service that indexes github repos and allows full text search of the metadata. Agenda: * An overview of full text search. * Comparison of Search solutions (Lucene, Lucene.net, Solr, Elastic Search, Azure Search etc. * Why I chose this approach * Alternate approaches, and when they make more sense * Demo and code deep dive * Applying these lessons to large enterprise search projects. | Intermediate |
Comments on this entry are closed.