Wed 10:00 AM: Salon E
In this session, we will show you how you can use standard DevOps practices such as infrastructure as code, continuous integration & continuous deployment, automated release and more in conjunction with Kubernetes (AKS) and Helm. For those who don’t know, Helm is a tool that streamlines installing and managing Kubernetes applications; it’s like homebrew for Kubernetes, but it’s also so much more.
By the end of this session, you will understand how key DevOps practices tie right into container orchestration with Kubernetes and Helm.
You will have more confidence and tools in your toolbox when it comes to Kubernetes.
You will have a deeper understanding of what Helm is, how it came to be, and how it correlates to Kubernetes.
After providing a brief, high-level overview of DevOps and Kubernetes/Helm, we will dive into a live demo showcasing how to get started with Kubernetes by deploying a Go app through a full CI/CD pipeline using a pre-configured Helm chart.
Wed 10:00 AM: Rosewood Room
New features are constantly being added to Microsofts flagship language, C#, and the pace of this change is increasing. In the past couple of years, we welcomed C# 6 and C# 7, the last languages release of their size. Microsoft is now releasing updates to the language in point releases, since C# is no longer tightly coupled to Visual Studio. In 2017 and 2018, Microsoft shipped C# versions 7.0, 7.1, 7.2, and 7.3 without any sign of slowing.
Normally, sessions about new language features only happen well before the release of the new language, leaving you with time to forget everything you've learned by the time you're actually able to adopt the new language! In this fast-paced session, Brendan will show you the recent, practical improvements added to C# that you can take back with you and immediately start using to clean up and improve your own code. This is definitely a session you won't want to miss!
Wed 10:00 AM: Ironwood Room
In this session we will walk through the considerations and thought process for planning and building a serverless microservice using Microsoft Azure Functions. Serverless functions are a great way to quickly build an event driven backend in the cloud that can support the majority of web use cases and provide a potential cost savings for hosting. Attendees will learn about the planning that goes into building a microservice like this and the decisions they need to make for their own implementations and what tools can help them solve problems.
Wed 10:00 AM: Sagewood Room
You’ve heard the buzz – target every mobile platform from a single C#/XAML codebase. Sounds too good to be true? The story is actually even better - let’s unpack the promise of Xamarin.Forms. The reach goes beyond just mobile platforms of iOS, Android & Windows – did you know your Xamarin.Forms apps could target MacOS, Smart Watches, Smart TVs, Refrigerators & Hololens? And it’s not just futuristic devices or platforms, you could take Xamarin.Forms goodness back to WPF & even Web! This isn’t utopia, but an absolute reality today. Let’s dive into each platform and unearth the magic behind the cross-platform development democratization for .NET developers.
Wed 11:10 AM: Rosewood Room
.NET Core promises to remove the shackles from Windows and Visual Studio. What does the development process look like and can you really use a Linux desktop as your daily development driver? Can you really go to production on Linux with your applications?
This talk explores .NET Core and ASP.NET Core from a different angle. What if we start in Linux and stay in Linux? It will explore the daily development life when you are going to be completely outside Visual Studio. This means getting to know the dotnet command line interface a little better. Then we'll explore how you can deploy your applications on Linux, including containers and deployment to the cloud.
This session is perfect for .NET veterans who are brand new to .NET Core and want to see what the brave new world looks and feels like. It’s okay if you’re unfamiliar with Linux, but are interested in having options available to you. And if you're curious what it's like to work in other tools such as Visual Studio Code and Rider, this session is for you.
Wed 11:10 AM: Ironwood Room
As software developers, our goal is to typically write software that meets the needs of our clients, whether they be internal or external clients. Often times, when we miss the mark, it is due to a communication breakdown between the developer team and the client team on what the actual requirements are.
Communication breakdowns generally occur between people with different communication styles. So how do we bridge that gap and get the information we need from people who communicate differently than we do?
This talk will be an exploration of communication styles and how we can recognize our own communication style as well as easily determine the communication style of others. With this information we can communicate with someone in the style in which they best receive information. When we communicate with others in their learning style, we break down barriers and are more able to accurately get to the pain points that they need a solution for. Once the communication barriers are down, it becomes easier to get the requirements that we are looking for.
Wed 11:10 AM: Sagewood Room
Web API is the RESTful API framework for ASP.NET, now simply part of the MVC framework in .NET Core. With service layers becoming an increasingly important part of all kinds of different applications, getting better at implementing this layer of an application is becoming a critically important skill.
Join me while I walk you through some of the coolest, most practical and useful things I've learned while developing services using Web API and ASP.NET. We'll look at some useful patters, amazing Nuget packages that save you lots of time and effort, tips, and even some anti-patterns that hold you back. Everyone should walk away with at least a few new things they can use to develop a better service layer in ASP.NET.
Wed 1:00 PM: Rosewood Room
Teams go through an entire project without knowing if their applications work or compile anywhere other than a developer's machine. It's often thought that creating a Continuous build and release process is really difficult to do. By creating a robust Release Pipeline, you can reduce your team's cycle time and increase your ability to have a healthy codebase.
We will use Team Services to create a continuous integration build and release process that will help you go from coding in Visual Studio 2017 to running your code in Azure in just a few simple actions. Your release pipeline with compile your code, run unit tests, create multiple Azure environments, run functional tests and load tests, and ensure that you have working and deployable software throughout your entire project.
You will learn about the build and release system in Team Services, deploying infrastructure to Azure, and how to create a reliable process that will help you build quality into your software development process.
Wed 1:00 PM: Ironwood Room
We will discuss D3.js, CrossFilter.js, DC.js and jQuery DataTables. These are very robust community supported libraries. Use them in your client application to add interactive visualizations and data analysis tools.
Wed 1:00 PM: Sagewood Room
Wed 2:10 PM: Salon E
A general introductory talk on containers and their building blocks. We will discuss the docker platform, the included suite of tools, general command line operation to manage containers, how to build & store images and improve security. Introductory topics around orchestration using Swarm and Kubernetes will also be included.
Wed 2:10 PM: Rosewood Room
Wed 2:10 PM: Ironwood Room
There's no such thing as a write-once application. The world is constantly changing, and our code needs to change with it. We'll think in small pieces and take a look at some principles and techniques that will keep our code manageable and understandable. Think about the developer who will come after you. Now, imagine that he's a homicidal maniac who knows where you live.
Wed 2:10 PM: Sagewood Room
Azure Application Insights helps you to detect issues, diagnoses crashes and track your application usage in your application, both web, and mobile.
Let’s see how you can get alerts on performance and availability issues, monitor our applications usage and performance, get telemetry for our application without needing to redeploy the applications, search traces, and exceptions logs to figure out what is wrong. Oh, did I mention we can monitor Android, iOS, Windows Mobile applications as well as ASP.NET applications?
We’ll also take a look at how we can analyze request load, server performance counters and response times across dependencies. Get multi-dimensional analyzes over standard metrics or define your own. Diagnose exceptions, mobile application crashes, and failed requests, correlating with events and traces.
Wed 3:30 PM: Salon E
Serverless isn't about no servers, but less server concerns. Learn how to use Azure's serverless platform to build event-driven code that scales instantly using Azure Functions, connect disparate data sources and cloud-based resources and orchestrate complex workflows with Logic Apps, and architect applications that leverage a pub/sub platform with guaranteed sub-second latency that costs less than a dollar to process millions of transactions. Finally, monitor advanced telemetry, diagnose problems and build custom analytics with Application Insights.
Wed 3:30 PM: Rosewood Room
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.
Wed 3:30 PM: Ironwood Room
ASP.NET Core 2.1 is a cross-platform web framework that can be deployed to Windows, macOS, Linux or even to Containers! It is the perfect framework to develop the Web APIs which drive the hottest web and mobile apps. The key is to have the right architecture in place to support the many benefits that ASP.NET Core provides.
In this session, we will discuss how using the Hexagonal Architecture (or the Ports and Adapter Pattern) allows your APIs to work more efficiently by allowing a clear decoupling of the API architecture. We will also discuss Data Access (Synthetic or Production) and Data Domain implications and the API endpoints (Controllers) that have no knowledge of the Data Domain. Finally, we’ll discuss how different Data Access technologies can easily be switched out without impacting the Domain or API Endpoints and how this impacts testing.
By using the Hex Architecture, your development story becomes easier, and your end user gets a much more stable API set to consume. We will discuss these concepts and get you started on using these tools with your ASP.NET Core 2.0 Web API projects.
Wed 3:30 PM: Sagewood Room
If you ask for a definition of DevOps, you are likely to get many different answers. Is DevOps someone's job title? Is it just Developers and Operations team sitting together? Is it automation? Is it yet another buzzword? In this session, we'll get a common understanding of DevOps and cover common mistakes that teams run into as they implement DevOps in their organization.
DevOps encompasses a broad range of mindsets, practices, and tools that build upon organizational agility to take software delivery to the next level of maturity. Applied correctly, these are truly transformative: they accelerate and amplify feedback loops, shorten cycle times, optimize resources, enable quality and consistency, and foster collaboration and creativity throughout your organization.
Some of the challenges that DevOps aims to fix include:
• Limited human and/or technical resources for testing
• Manual, ad-hoc, or inconsistent deployments
• Resolving production issues may be slow and/or highly disruptive
• Deployments are large and take a substantial periods of time to deliver
• High infrastructure costs and/or budget constraints
• Challenges in testing
• Lack of collaboration between organizations such as business, IT, and Development
You will learn about DevOps concepts and the path that an organization should take to implement DevOps practices. We will cover the ways that a company can start transforming their culture and defining the processes that enable DevOps. This session will teach you about the tools that you can use to get started on your DevOps path, including Visual Studio, Team Services, and cloud computing with Azure.
Wed 4:40 PM: Salon E
ASP.NET developers have been using SignalR to build real-time web applications since 2013. Now, with ASP.NET Core 2.1, we’re bringing SignalR over to ASP.NET Core so you can build real-time web applications with all the benefits of ASP.NET Core like better performance and cross-platform support. Come learn about the new design and how to take advantage of the infinite scale of the Azure cloud that gives you a much more flexible platform on which to build the future of real-time .NET server applications.
Wed 4:40 PM: Rosewood Room
Wed 4:40 PM: Ironwood Room
As developers, we know the power of telemetry. Telemetry events and logs provide diagnostic insights of our applications and infrastructure in a detailed, expressive and concise manner. In this talk we’ll navigate which metrics and tooling help us as web application developers, and how these various insights can be leverage across the office. By sharing application-oriented metrics, we can help the business side understand development and application struggles and gain their own insights to power business decisions-- all from those numbers that we already love to see.
Wed 4:40 PM: Sagewood Room
Unit testing has become an accepted part of our lives as .NET programmers. To help focus our tests to only the code we want to validate, Mocking Frameworks are a powerful tool in our toolbox. Like many tools, if you have an understanding of how the tool works under the hood, you can bend it to your will (and also know where it'll break if you bend too much).
In this session, you'll learn about the two main types of mocking frameworks: constrained frameworks (like RhinoMocks and Moq) and unconstrained frameworks (such as Typemock Isolator and Telerik JustMock). I'll dig into how the two actually do their magic and we'll discuss the pros, cons, and limits of both. We'll look at examples of how to use the frameworks in your tests, mocking out dependencies from your own code and even third-party logic.
You'll get the most out of this session if you're comfortable reading C# code and have a general understanding of class inheritance in .NET, along with some experience writing and running unit tests. Prior experience using mocking frameworks is not necessary.
Thu 10:00 AM: Salon E
There's a lot of talk about the .NET Core framework, but what about the .NET Framework for Windows? With the recent releases of .NET and the Windows 10 Updates, there are lots of improvements that you can use in your existing applications. Join us as we learn about the new features for Windows Forms, and ASP.NET developers in Visual Studio 2017 and Windows.
Thu 10:00 AM: Rosewood Room
That said, not all of us love working in a weakly-typed dynamic language.
Fable is a free and open-source tool that can solve not only these pains but further fulfill the desire to write full-stack web and mobile applications in a single language while sharing code across platforms.
Thu 10:00 AM: Ironwood Room
So you are a Mobile developer? Looking for sanity amidst a plethora of platforms, frameworks and tooling options? Wondering if Visual Studio is the right IDE for you? Let me convince you why .. let’s talk:
• Visual Studio for Windows & Mac
• Easy getting started experience
• Mobile to Cloud end-to-end tooling
• Emulator/Simulator choices
• Live deployments and device testing
• DevOps with Visual Studio App Center
• Polished UI through Extensions
Visual Studio is the epitome of Microsoft's 'Mobile First, Cloud First' mantra. With rich tooling for mobile developers across Windows and Mac, Visual Studio is paving the way for true cross-platform mobile development from a single rich IDE.
Thu 10:00 AM: Sagewood Room
Thu 11:10 AM: Rosewood Room
Chat bots are turning up everywhere. Helpdesks, ordering a pizza, ChatOps, everywhere you look there's chat bots being created. How do you create your own successful chat bot?
In this session Geert will explain how to build your own bots using .Net, C#, Azure and the Microsoft Bot Framework. During the session we will cover all areas involved in building a successful production ready bot. Starting from the initial idea to getting a prototype working as fast as possible to actually running it in production on channels such as skype, facebook or telegram.
After this session you'll be fully ready to build your own bot that will conquer the world (if Sarah Connor doesn't stop it)
Thu 11:10 AM: Ironwood Room
In this presentation, we will look at the how users interface with machines without the use of touch. These different types of interaction have their benefits and pitfalls. To showcase the power of these user interactions we will explore: Voice commands with mobile applications, Speech Recognition, and Computer Vision. After this presentation, attendees will have the knowledge to create applications that can utilize voice, video, and machine learning.
Thu 11:10 AM: Sagewood Room
View Components were a new feature released as part of .NET Core MVC. They are a great way to create reuseable bits of code that are accessible in your MVC applications. I will walk you through code to create a View Component in an external library and consume it using the Tag Helper syntax in an MVC application
Thu 1:00 PM: Rosewood Room
A Blockchain is a digitized, decentralized, and encrypted database for recording transactions. It becomes one of the technologies that got a lot of attentions this year. People even said that the Blockchain will become “the New Internet”. As software developers, we need to understand Blockchain, try Blockchain, and be ready for the disruption introduced by the Blockchain. I have been learning and trying Blockchain for a while. I founded a Blockchain club at my company. I created Blockchain Applications at Hackathons. Today, I am going to give a brief introduction of Blockchain and show everybody how to programming the Blockchain with .NET Core.
Thu 1:00 PM: Ironwood Room
Thu 1:00 PM: Sagewood Room
What happens when the code for your Entity Framework LINQ queries looks good, but your app is very slow? Are you looking in the right place? Don’t be afraid to start looking at your database. Knowing how to investigate and debug what your LINQ queries are doing in SQL Server is as important as the actual LINQ query in your .NET solutions. We will be looking at database server configurations, using MSSQL database profiling tools and understanding Query Execution Plans to get the most out of Entity Framework. In the end, learning to be an Entity Framework detective will make your project sound and snappy.
Thu 2:10 PM: Salon E
In all its previous hype-cycles, Artificial Intelligence (AI) repeatedly fell far short of its promises. Computers were underpowered and consuming AI was too complicated, leaving its benefits unapproachable to all but a small group of experts. But now advances in Machine Learning coupled with the scale of the Azure Cloud bring us Microsoft Cognitive Services, a collection of purpose-built capabilities based on AI and Machine Learning that make it possible for developers of all backgrounds to easily enrich their own projects with these powerful capabilities.
In this talk we’ll explore the universe of Microsoft’s Cognitive Services and understand how to use them in your own software projects. We’ll explore services for Facial Recognition, object detection, Natural Language Processing (NLP), as well as Topic Extraction and Sentiment Analysis. We’ll apply these services to various media types from still images to video to text to discover how easy it can be to bring the power of AI and Machine Learning into your own software systems.
Thu 2:10 PM: Rosewood Room
For any non-trivial application created today, software engineers must not only deliver on application features but also include associated unit tests to improve efficiency, to reduce risk when making code changes, and to improve quality by identifying bugs as early as possible. One may think having unit tests to increase code coverage is the goal but that is missing the mark. Software engineers should be focused on delivering unit tests that have meaningful value to support current and future software development. In this session, you will learn several unit test styles, how identify weaknesses in unit tests, and how increase the value of the unit tests you create.
Thu 2:10 PM: Ironwood Room
An application’s viewing support dictates feel, workflow and user acceptance. Join us to discuss how leveraging web browsers can add significant value to your solution and see how companies are optimizing their viewers to be the baseline for all types of workflow, regardless of the industry. Use this session as a source of ideas to add significant value to your application and increase your competitive advantage or internal efficiency.
Thu 2:10 PM: Sagewood Room
Bots are a powerful new application platform. This talk will introduce the basics of the Microsoft Bot Framework and show 5 different ways to create a bot in just minutes!
Thu 3:30 PM: Salon E
The next evolution in cloud computing is a smarter application not in the cloud. As the cloud has continued to evolve, the applications that utilize it have had more and more capabilities of the cloud. This presentation will show how to push logic and machine learning from the cloud to an edge application. Afterward, creating edge applications which utilize the intelligence of the cloud should become effortless.
Thu 3:30 PM: Rosewood Room
Thu 3:30 PM: Ironwood Room
Whether you're an independent developer that needs assistance reviewing your code, or a member of a large team that wants to keep code consistency among the team, static analyzer tools can help identify and optionally fix issues in your code. Many platforms have their own version to help based on the language, including Roslyn, JsLint, CssLint, SonarQube. FxCop, StyleCop, etc. We'll take a look at some of these tools and explore how they can help identify issues in your code and improve maintainability and decrease errors before you deploy to production. We'll also look at the ability to build your own tool to enforce rules in your specific domain.
Thu 3:30 PM: Sagewood Room
This talk introduces the concepts of distributed version control, using git.
- Getting to know the repository
- Staging and committing
- Pushing and pulling
- Solving conflicts
Thu 4:40 PM: Salon E
Lambda expressions can be confusing the first time you walk up to them. But once you get to know them, you’ll see that they are a great addition to your toolbox. Used properly, they can add elegance and simplicity to your code. And some .NET constructs (such as LINQ and Task) lend themselves to lambda expressions. We’ll take a look at how lambda expressions work and see them in action.
Thu 4:40 PM: Rosewood Room
The browser’s capibilities have snuck up on us over the years, and it’s turned into a full blown operating system! "But wait," I hear you protest, "it’s not like the browser can talk to stuff I have plugged in to my USB ports!". Ah! But it can!
The new WebUSB spec has arrived, and is already supported in at least one browser today. The previous hacks of connecting browsers to robots and other hardware will soon be a thing of the past. WebUSB as a first class API citizen opens up some great opportunities to create new and delightful experiences with robotics.
I’ll introduce you to the WebUSB API, its history, and compare it to previous ’hacks’ to demonstrate why this is such a big deal for you, as a web developer. There will be real hardware shown on stage ready to inspire you to think outside of the box of what browsers are really meant to be used for.
Thu 4:40 PM: Ironwood Room
ReactJS is a powerful library that makes it easy to build, reason about, and organize HTML user interfaces. The library is very fast and efficient, but you can encounter issues at scale if you don't know what to look out for. In this session, we'll build a simple single page ReactJS app and explore how to use tools and libraries to measure and then optimize performance.
Thu 4:40 PM: Sagewood Room
Kubernetes, Docker Swarm and Mesos are amazing container orchestration platforms. These tools provide a proven platform for container management and resource density. They are also complex distributed applications. We all know that just adding more bits to our stack doesn’t necessarily solve our problems. We’ll cover how to get started with containers in production via manual management and simplified container orchestrations tools, like Azure Container Instances.
Fri 8:30 AM: Salon E
Remember the scene from The Matrix where Neo goes "I know ... Kung Fu". Consider this your "I know ... Kung Fu" moment but for Serverless. These days some of the best solutions are Serverless - code executing in the cloud, reading and writing data to datastores in the cloud, without having to worry about minuate like the data schema and scaling issues. This talk goes beyond the Serverless hype and discusses some use cases and practical implementations for truly going Serverless using Azure Functions, CosmosDB and C#.
Fri 8:30 AM: Rosewood Room
React has caught a lot of criticism for the full mixing of HTML and JS, but it is a large portion of the rising tide of the JS landscape today - and many more websites are componentizing all the parts of the front end. Why are we leaving our CSS behind in giant stylesheets? CSS deserves the improved scope and modular building that we incorporate into today's HTML and JS. The goal of this talk is to approach the pros and cons of several different styles of handling CSS in a modular way, and reveal myths about performance that hold many back, while acknowledging the limitations of all the approaches. While focused on React examples, the core takeaways about modular CSS are not dependent on React, and apply to most component-based UI.
Fri 8:30 AM: Ironwood Room
Promises. For so long, the sales pitch was "Promises save us from callbacks!" But how? And why? Other than keeping us from having to scroll horizontally, how are Promises solving things?
This session will start with explaining exactly what a Promise is, and how it deals with the shortcomings of callbacks. We'll look at how Promises allow us to do things that aren't really possible with callback code and thus how they really are a game changer. Next, we'll look at how we can use our newfound understanding of Promises to better exploit the power of the new async and await keywords that make asynchronous code look and feel more like synchronous code. We'll see how a deep understanding of what Promises are, and how to work with them are still extremely important when writing code using async and await.
Fri 9:40 AM: Salon E
A general introductory talk on containers and their building blocks. We will discuss the docker platform, the included suite of tools, general command line operation to manage containers, how to build & store images and improve security. Introductory topics around orchestration using Swarm and Kubernetes will also be included.
Fri 9:40 AM: Rosewood Room
To believe the hype today, “Chatbots are the new mobile app” (if you don’t have one, you’re probably some sort of throwback to a bygone age). We’ve all been told that the confluence of the explosion of the number of chat messaging platforms, the increasing amount of attention users give to messaging experiences (at the expense of other experiences), huge improvements in NLP (Natural Language Processing), and the increased efficacy of Artificial Intelligence are all combining to make chatbots “the next frontier in user engagement”. And yet, if all that is true, why is Facebook pulling back on its promotion of Facebook Messenger Chatbots as their own data shows up to 70% of current Facebook chatbots are considered a “failure” by Facebook users?
In this talk, we’ll try to separate the hype from reality about the current (and future) state of chatbots. Through this process, we’ll identify a series of important design considerations that can form the foundation of any successful chatbot project and explore the patterns and techniques that can help you develop a truly useful conversational experience for your users. Using node.js, the Microsoft Bot Framework, and Microsoft Cognitive Services as an example platform, we’ll explore a detailed implementation built using all the principles that can help make your chatbot successful.
Fri 9:40 AM: Ironwood Room
Have you seen people talking about programming live streams? Are you interested to learn more about them? Then this session from Brendan is for you! In 2015, Brendan started up a programming live stream called DevChatter (https://www.twitch.tv/DevChatter/), but he put it on hold until February of 2018 when he started it up again and has been streaming regularly since.
In this session, Brendan talks about what he has learned so far and wishes he knew when he started about live streaming. Whether you want to live stream or are just interested in it, you will learn about getting started on Twitch using OBS, the hardware and setup needed, and how to keep an audience entertained on a live stream!
This is one session that you won't want to miss!
Fri 9:40 AM: Sagewood Room
Fri 10:50 AM: Rosewood Room
It's an exciting time to be a C# developer! C# is now an open source project with a new modern compiler which makes it easier and quicker than ever before to evolve the language. In this session, we'll review recently released features, demonstrate what's scheduled for the next release, and explore the concepts under consideration for future major milestones.
Fri 10:50 AM: Ironwood Room
Fri 10:50 AM: Sagewood Room
In the circles of web development, “Mobile First”, developing for mobile clients before considering desktop clients, has become an accepted approach to delivering solutions. It is the recognition that many application users are using their mobile device as the primary tool for utilizing software. In some scenarios, the mobile web experience falls short of the user experience expected. As a result, there is a large demand for native mobile applications.
With combining the features of Xamarin and Azure, software providers can deliver cross platform, globally scalable, and secure native mobile applications for the most popular mobile platforms. Utilizing existing skills, developers can significantly reduce time to market and capitalize on the growing trend of mobile devices as a primary tool to use software and consume data.
In this talk, we will explore how Xamarin can be used to leverage your existing skills to deliver fully native mobile applications for the most popular mobile platforms. In addition, we will add Azure Mobile Apps to our solution to provide the backend data store for data synchronization, user authentication, and support push notifications.
Fri 12:40 PM: Rosewood Room
No one questions that data is vital to your company or organization. The future wellbeing of your business could depend on the clues hidden inside the vast data stores in your data center. Some days, looking at the data opens your eyes to possibilities, yet another day the data is opaque and hard to parse. Often the only difference between these two results is the way the information is visualized and presented to your eyes.
Choosing the correct visual representation of the data becomes vital. Do it wrong and the data is merely wrapped in pretty graphics; do it right and the information emerges in clear and meaningful patterns.
This fast paced and entertaining session starts by looking at how your brain and optical system perceive data. Walt explores the overall visualization concepts that make data easier to grasp, and the best way to show data so that the information is clear and understandable.
Fri 12:40 PM: Ironwood Room
Struggling to get your website to load in less than 5 seconds on a mobile phone? You’re not alone! At Comcast we’ve built many responsive sites and work hard at optimizing for performance. Using the latest PRPL pattern and Progressive Web API’s, we provide a compelling alternative to native apps. This talk will cover why performance of your site is so important and dive into the Chrome performance tools to explain exactly how a browser loads a site and what causes things to slow down. We’ll cover what a PWA is and why service workers are a bear.
Fri 12:40 PM: Sagewood Room
ASP.NET Core comes with its own built-in dependency injection (DI) framework. DI allows you to write better, more loosely-coupled code, and now with it built right into your favorite web development framework, you don't have to do anything extra to be able to use this important design pattern in your code.
Already have your own favorite DI framework? No worries, you can use that too. I'll show you how to integrate a few popular DI frameworks into the highly-extensible ASP.NET framework. I'll show you how to do it all and show you examples in this session.
Fri 1:50 PM: Salon E
NoSQL is not about saying "no" to SQL but "yes" to new possibilities. Learn what key/value, column store, document, and graph databases have to offer compared to traditional relational database models. See hands-on how to create your own databases in seconds that are geo-replicated, highly available and offer guaranteed rates of throughput without purchasing expensive servers or configuring virtual machines by taking advantage of the serverless Azure CosmosDB. Discover for yourself why NoSQL is being widely adopted and used in petabyte sized production databases that need to visualize data fast.
Fri 1:50 PM: Rosewood Room
A peek into the future of web development, what the heck is Web Assembly and why should developers care!. With the introduction of Microsoft experimental web UI framework Blazor its now possible to harness your C#/.Net Skills to build full blown Web Assembly applications. Come learn and discuss the future of web development.
Fri 1:50 PM: Ironwood Room
Docker is a tool that can package an application and its dependencies in a virtual container to run on any computer. It helps enable flexibility and portability on where the application can run. ASP.NET Core is an open source, cross platform, performant, and scalable web application framework. The modularity and lightweight nature of .NET Core makes it perfect for containers. Today, I am going to give a brief introduction of Docker and show everybody how to run an ASP.NET Core 2.0 Application in Docker containers.
Fri 1:50 PM: Sagewood Room
Visual Studio is a consistently great tool for developing applications on the Windows platform. In this talk we will discuss the productivity improvements added to Visual Studio 2017 that make it even better.
Along with the improvements to Visual Studio, C# was also improved. We will also talk about the new language features introduced in C# 7. Starting in December of 2015, C# 7 was developed in the open with involvement from the community. We will talk about the results of that process.
Fri 3:00 PM: Salon E
Learn how the Visual Studio Team Services (VSTS) team at Microsoft has changed their approach to building software and services by adopting an Agile culture and mindset. Paul Hacker takes you on a journey of contrasting the “old way” with the “new way”, and shares key changes that contributed to the transformation including thoughts on teams, roles, sprints, planning, and learning.
Fri 3:00 PM: Rosewood Room
Heard of Angular but aren't sure what it is? Want to get a ground-floor look as this powerful and broad-ranging framework? In this talk we'll cover everything from the ground up. We'll code a basic application, covering all the parts and features of Angular, including the Command Line Interface, TypeScript, the structure of an Angular application, and how you can piece together components to build a single-page application.
Fri 3:00 PM: Ironwood Room
"Oh no! I just typed something into git and now my work is gone! Ahh!"
Don't panic. Contrary to popular belief, git is one of the most non-destructive version control systems available. When used right, git
never loses any data, and even when misused, chances are very high you can still recover.
This talk will present turn-by-turn directions on how to recover from a wide array of common git mistakes, and also provide some workflows
to minimize them.
Examples include, but are not limited to:
* Changing spelling errors in commit messages.
* Split commits into multiple commits with logical separation.
* Combining multiple commits into one.
* Resetting the base commit when you accidentally branch off of the wrong branch.
* Recovering from merge conflicts.
As well as more advanced topics, such as:
* Extracting parts (e.g. sub-directory) of a repository as a new repository.
* Merging multiple repositories into one while retaining version history.
* Removing confidential data accidentally committed.
Fri 3:00 PM: Sagewood Room
Working in an agile mindset – especially when favoring specific approaches – can go wrong in about 100 ways. In this talk, I describe some lessons as a technical lead working on agile teams, holding it together with duct tape and a little help from my friends.