Filter based on category or technology!
We pay a team of hackers to intentionally try to compromise our service every few months! You’ll be surprised how often they succeed. This session is about how the VSTS team at Microsoft approaches security when developing and operating the VSTS service. Some of the stories I have are inspiring, and some will be horrifying!
The magic of artificial intelligence and machine learning are often the stuff of science fiction, however, the reality of using AI and ML in business and consumer apps and services is already here—and easier to integrate than you’d ever imagine. Learn how to create, train, and integrate Custom Vision models into your own apps and services.
Over the course of your development career, you may find yourself, despite your best efforts, doing product management. In today's start-up culture, it's almost impossible to ignore. Maybe it's innocent questions from managers on how to implement a feature, or maybe it's two-hour arguments on how best to prioritize a backlog. Eventually, like me, you may have had an epiphany: perhaps it's time to stop running on instinct and figure out how to do this thing properly. Drawing from my experience in a start-up and in a more established company, I'll talk about how I stumbled through product management, what I'm doing about it now, and how it has changed my approach to software development in general.
Does your .NET application really need full power of Entity Framework or (shudder) nHibernate? Let's take a look at the popular micro ORM Dapper. Dapper is a popular micro Object Relational Mapper (ORM) for .NET. In this session we will take a deep dive into Dapper and understand why it's so much faster other heavier ORMs like Entity Framework. We will go beyond the basics of loading and saving data and look at some advanced scenarios. We will also make some comparisons to Entity Framework to understand what features and conveniences we give up when using a micro ORM.
Using artificial intelligence (AI) to solve real work problems is no longer science fiction. AI is something that is becoming more common in our daily lives, and it has the potential to enhance the way people use technology in their daily activities. The University of Manitoba is just one such enterprise that is already looking into how AI can improve the student experience and aid our staff in doing their day to day tasks.
But where do we start?
In this session, we’ll start with a primer on the types of AI available today that can be used to build modern applications the enhance the user experience for our clients. Then, we’ll take a deep dive by following up with a post-mortem on IST’s own chatbot initiative to explore how the University of Manitoba could use chatbots to provide a robust scalable solution for helping students.
We all want to have someone else review our code to make sure it's written well. Wouldn't it be even better if we can have that review process done automatically? In this session, you'll see how you can use static analysis tools (like Code Analysis/FxCop and SonarQube) to find all kinds of implementation issues before they show up in a release. You'll also see how you can create your own analyzers to hunt down problematics areas in code.
Whether you realize it or not, we are currently entering the era of artificial intelligence. AI technologies will radically transform our economy, our society, and our lives. As a result, the software industry is preparing for a major transition as well. However, most developers do not yet possess the skills necessary to remain relevant in our new data-driven economy.
In this session, we will learn about modern artificial intelligence. We'll learn why it’s important and how it will impact you, your career, and our future. We’ll also learn how a series of modern technologies including The Internet of Things, Big Data, and machine learning are combining to create fully autonomous intelligent systems.
Looking to modernize your current product offering, but confused about which cloud service to choose? Between Azure Service Fabric, Azure Container Service (AKS), and App Services (and more), the choices can be overwhelming. As an architect, how you do you know which service is the right one to use? In this session, we will explore use cases to demonstrate when to use Azure Service Fabric, Azure Container Service (AKS) and Azure App Services. You will walk away with a better understanding of how to assess your current architecture and product roadmap, enabling you to make those decisions going forward.
Browsers now universally support Web Assembly which opens the door to new languages and coding paradigms for building client side web applications. In this talk, we will introduce Blazor, a framework for building client side web apps using .NET. That's right, .NET (and Razor) running natively in the browser! No, this isn't Silverlight, this is infinitely more awesome than Silverlight.
The web's biggest strength is that it's universal: build a web site, and anyone with a browser and connection can access it. Desktop apps, however, have long been off-limits to web developers; but times change. Today, more and more apps are built with web technologies, and the benefits are many. In this session, you'll learn how to use the tools and languages you already know to build rich, fully-featured desktop apps, and conquer a new galaxy of apps!
Writing efficient, performant distributed systems can be a complicated endeavor. Actor programming has been around for quite some time, but only in recent history has actor frameworks started to appear on the .NET horizon. In this session, we'll talk about what actors are, and how .NET developers can use them in their applications, both in in-process and distributed scenarios.
By now, nearly everyone has heard of PowerApps and Flow. In fact, many of us have seen these fantastic solution building tools Microsoft created for Office365 in action. While many believe the tools were built for SharePoint they were in fact created to integrate with nearly any system. In this session we will create a PowerApps and Flow based solution from concept to deployment. The solution will utilize PowerApps for data gathering and then integrate two completely separate technologies using Flow. In the end you will learn a great deal about utilizing these two great technologies to make awesome solutions for your users with minimal development and deployment time.
According to CEO Aaron Shapiro, the next big breakthrough in design and technology will be the creation of products, services, and experiences that eliminate the needless choices from our lives and make ones on our behalf, freeing us up for the ones we really care about: “Anticipatory design”. Rather than traditional UI/UX, where the tendency is to provide options in a participatory manner to determine a result, here you remove all choices from the user, and use predictive modeling to give an outcome to liberate them from so-called “decision fatigue".
“Flow not friction,” “convenience not choice,” and “efficiency not freedom” are the mantras of anticipatory design.
In this talk, we’ll explore some implementations of anticipatory design, discuss areas where it is done well, and issues with the overall movement.
Miyamoto Musahi said ""You can only fight the way you practice"" - The goal of the Code Kata is to practice and master technique in an intentional way so that when you are ready to code you have the tools in your tool kit. By intentionally practicing in a repetitive manner the learner develops the ability to execute those techniques in a natural, reflex-like manner. They will become automatic, like the muscle memory you gained ""riding a bike"" Join me as I discuss how doing Code Kata has revolutionized the way I learn and how it can help you level up in your current language or learn a new one, why it's so successful, and how to get the most from your practice. No one should be trying to learn to code when that deployment goes bad or when the production app goes down.
Your organization has made the move to Azure, but you are concerned that spending has spiralled out of control. It has been a challenge to keep up with the various offerings and understand how to maximize your budget in the cloud. It seems that each Azure service has a different pricing model, and you are at a loss on how you can make the most of cloud services without breaking the bank. Join Lori in this session to learn tips and tricks which will enable you to do more with less in Azure.
If you’ve ever experimented with the navigation and resource timing APIs in the browser, it can be a daunting task to understand the performance timings they provide. What’s the difference between connectStart and fetchStart? Where does SSL time figure in? What the heck does domInteractive mean, and how is that different from domComplete? What order do these timings even occur in?
You know you have to have a great experience when you develop your apps, right? The greatest experience for your users centers around their data. That's why developing a great set of Web APIs is so important. Using ASP.NET Core Web API is a modern cross-platform framework for the modern web. ASP.NET Core Web API can be run on Windows and Linux using all the modern web servers. The secret to it all is knowing how to architect your Web APIs for the best experience. Using the Hexagonal Architecture or the Ports and Adapter Pattern allows your APIs specifically to work better due to: - Allowing a clear decoupling of the API endpoints, Data Access (Synthetic or Production) and finally the Data Domain classes. - The API Endpoints (Controllers) have no knowledge or responsibility of Data Domain and behind it Data Access - Because of the decoupling and separation of responsibilities testing can be done easily and without issues. - Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints. By using the Hex Architecture not only does the development story become easier but your end users get a much more stable API set to consume. The talk will explain and get you started on using these concepts with your ASP.NET Core 2.0 Web API solutions.
Building an awesome product in React is fairly easy, but how do you ensure your awesome product will withstand test of time? How can you ensure that as your business needs change your product will not collapse under its own weight? By teaching your code how to dodge bullets? This session will jumpstart your testing engine and teach you how to make your React application dodge bullets by using Jest to test your React application. We will begin by adding a single test and build from there. By the end of this session you will be armed with the knowledge on how to create tests given various scenerios, learn how use mocks and spys to avoid crossing broundries, learn how to use snapshot testing to ensure your UI stays solid, as well as how to automate the running of your tests.
Fonts! Guess those are a big thing now. You're likely familiar with at least getting custom typefaces up and running. You probably even know some neat tricks beyond the basics, but do you know how to make your fonts fast? I mean, really fast? Fast is important. Fonts are part of the critical request chain. If you're not paying attention to your fonts beyond merely slapping up a Google Fonts link tag, you might be missing some big opportunities to speed things up. Stuff like preloading fonts, using font-display to render fallback text faster, more creative sub-setting choices, and electing to avoid non-essential typefaces specifically for users on limited data plans. If fast is your thing, zip into this session to allay your font fears, and learn to tune up your typefaces for maximum speed!
When we think of CSS and Accessibility, what comes to mind? Is it adding alt attributes to image tags? How about color contrast? Is :focus given that much thought since browser's style these by default? Often, focus outlines are turned off in CSS to meet non-inclusive design standards, but this causes problems for keyboard users. How can we make the web a more inclusive place while maintaining design intent?. As we build more and more things on the web, we must do our part in building awesome, accessible user experiences. Except native default browser styling of the :focus pseudo class is rather blah, don't you think? There has to be a better way to add some pizzazz to elements when users navigate without a mouse. In this talk, I will demo numerous ways to provide custom focus styles despite known limitations in the web platform. For users with disabilities, it's imperative that visual design finds a way to meet in the middle.
Creating large, monolithic SPAs is all the rage, not all solutions need a single page application. I found that improving parts of my web projects with islands of functionality was better in many cases, but the complexity of Angular and my hatred of .jsx made me yearn for a modern framework that is simple and straightforward. That's where VueJS came in and saved the day. In this talk I'll build a simple page using VueJS and then talk about using it is larger projects without having to use bundling and transpilers if you don't want to.
Have you ever wondered how to get out of a bad merge? Have you ever gotten stuck trying to push your changes? Git is a wonderful and empowering tool, but it's not your father's version control system. Bring your Git questions for this no-slides demo of Git command line and GUI tools. We'll harvest your curiosities, add in some common concerns, and run through these scenarios together. Have an open-source project you're stuck on? Bring the GitHub URL, and not only will we discuss it, I'll submit a pull request with the changes we build.
Learn how easy it is to build a natural and rich conversational chatbot using DialogFlow. Then enrich the experience by connecting your bot to Azure using Azure Functions and F#. And finally, see how simple it is to distribute your new chatbot to 14 different platforms including Google Assistant, Amazon Alexa, Slack, Facebook, etc.
When you think of low vision, what comes to mind? A user that is near sighted? How about far sighted? Maybe partially blind? These are all qualifying cases of poor vision, but low vision is more complicated than the prescription of glasses or contacts. According to the World Health Organization, they categorize low vision based on specific levels of visual acuity and field of vision (W3.org, 2016). With that in mind, we as developers can look at different categories of low vision including color vision, visual acuity, contrast sensitivity, etc and make an effort to bake in things like zoom, non-conflicting colors, and re-wrapping of columns in to our code. My talk will cover what vision accessibility is, different categories of low vision, what the needs of the users are, and what we as developers can do to achieve a great user experience for low vision users.
Unit tests help us prove code is correct and protect us during modifications. The issue with unit tests is it's up to the developer to come up with every input value and edge case. This is where Property Based Testing comes in to fill the holes and truly battle test our code into correctness.
Introduction To Twilio Do you want to add messaging to your applications ? Do you want to create a two factor authentication system? If you answered yes to these questions then Twilio is your answer. In this session you will learn: How to send text messages from your application How to make automated phone calls from your application Concepts for designing a two factor authentication system. Twilio is a simple to use yet robust solution for adding messaging to your applications. Attend this session to master the power of Twilio !
You know you have to have a great experience when you develop your mobile applications, right? The greatest experience you can give your users centers around their data. There are ways to improve your mobile applications, and Chris Woodruff will teach you how to learn and understand the language of HTTP for better Data Experience. See why you should know the language of HTTP before developing your REST APIs and the mobile apps that consume them. You will be on the way to becoming an HTTP expert when you leave the room after this informative session.
This is NOT a session about MS DevOps tools. This is the story of how the VSTS team transformed from shipping an on-premise server product every couple of years, to shipping a cloud service multiple times a day. In the process, almost everything about how this team of 800 people work has changed. We had to figure out how to do agile at scale, how to transform into a microservice cloud architecture, complete restructure of teams and roles, threw out a suite of 10’s of thousands of tests and started over, went from almost 0 telemetry, to 8+TB/day and figuring out to do anything meaningful with all that data. Many mistakes were made along the way, and lessons learned that I’ll be sharing.
You've all heard the myth that microservices are the way to build applications, kicking monoliths to the curb. But are microservices all they are cracked up to be or are they turning one problem into microproblems? In this talk we'll explore what make a microservice, how they help and how they hinder. Without talking about any specific technologies we'll try to answer the question: Do I need to use microservices in my project? Don't try this talk at home, we're professionals.
The large hadron collider produces in excess of 300Gb/s of sensor data - nothing to sneeze at. Keeping around that sort of data is a serious problem. Even the largest hard drive that Radio Shack has to offer would be full in less than 20 seconds, and you know they have the best hard drives. We can address this problem by summarizing and projecting the data as it comes in: analyzing and processing the stream to build aggregates. Understanding processing streams of data in near real-time unlocks analytics and business processes that would have been stunningly complex a few years ago. Stream processing can give you that edge over your competition be they bakers, retailers or card sharks. In this talk, we'll explore tools and methods of handling astronomical amounts of data efficiently paying special attention to the tooling available out of the box in Azure.
Docker and rkt have made it really easy to package and ship applications but running them at scale, remains a challenge. Also, not all organizations have the bandwidth to containerize their workloads. Nomad, a single binary cluster scheduler, can be used to build a multi region, self-healing production environment that runs a diverse set of workloads including non-containerized applications. Nomad is a powerful and feature-rich scheduler; we will see how it allows native execution of a diverse set of applications without the requirement to package them in a Docker image. We will also look at how we can integrate Nomad and Vault to provide dynamically generated TLS certificates and secrets to our application, how Consul and Consul Template allows us to provide configuration management and feature flagging, and how operationally simple it is to perform zero downtime updates with Blue / Green and Canary deployments. This talk will discuss the theory, and also showcase a live demo of running an application on Nomad, highlighting how simple it is to leverage the power of Nomad, Consul, and Vault to orchestrate your applications.
Throw away your mouse. After taking part in this presentation you won't need it anymore. Ok, well don't actually throw it away. You will still need it a bit. Whether working in Exchange, Active Directory or even SharePoint, everyone can agree there is a lot of clicking needed to get things done. In this session we will discuss the things many of us do every day that really could done a lot easier and more efficiently with PowerShell. Administration tasks and configuration are a couple of things that we often do with the index finger of our hand on that mouse button. We'll discuss concepts including code reuse (good) and variable hard coding (BAD!!) within PowerShell. I will show you how easy it is to step away from that and use scripts to assist you in being much more efficient and the envy of all your colleagues!
As more operations choices are added to your data center, whether through company acquisitions, a growing development team, or general technical debt, managing infrastructure complexity becomes a nightmare. Yet the end goal is still the same - safely deploy your application to your infrastructure. We need to tame our data centers by managing change across systems, enforcing policies, and by establishing a workflow for both developers and operations engineers to build in a collaborative environment. This talk will discuss the problems faced in managing a modern cloud infrastructure, and how a set of innovative open source tools like Terraform can be used to tame the rising complexity curve. Terraform builds on years of research on graph theory to model the relationships between infrastructure resources so operators can safely manage and change infrastructure resources across bare metal, IaaS, PaaS, and SaaS. Terraform models and potentially prevents that simple change with unforeseen consequences so operators don't have to. Join me as I take you on a journey of using Terraform as we take control of our cloud infrastructure. This goal of this demo driven talk is to showcase how Terraform can help build multi-tier application infrastructure supporting multiple cloud platforms and services.
In this fast-paced, code-heavy session, attendees will learn real-world techniques for migrating apps and services from legacy (and less-secure) password-based authentication to artificial intelligence-based scenarios using face and speaker recognition using Microsoft Cognitive Services.
Does your career as a software developer cause you stress? What are you currently doing to manage the negative health effects of this stress? Software developers are uniquely predisposed to certain stress-related mental-health issues. The key problem is that we evolved to survive in a wilderness context. However, these same survival adaptations are now in direct conflict with our modern high-tech world.
In this session, we will learn about the behavioral neuroscience of mindfulness practices. We’ll discuss practices like meditation, biofeedback, cognitive reappraisal, organized skepticism, and egoless programming. In addition, we will learn how we, as software developers, can use these practices to reduce stress, improve our mental health, and increase our focus. There will be NO new-age nonsense, mystical mumbo-jumbo, or quantum flapdoodle in this session… only research-based science… real science… in plain English.
SQL Server stored procedures seem to have a bad reputation. This reputation is not deserved, and this session will demonstrate techniques for unleashing the real power of stored procedures. In this session you will learn the following techniques: High Speed Data Loading, Adapting Stored Procedure calls to .NET objects, and Building Complex Search Screens using Stored Procedures. By attending this session you will learn the true power of stored procedures.
What is the role of an architect in a software project? This question has plagued many a software organization (and even those who do the job), and provided loads of entertainment. In this presentation, we aim to explore the intersection of software architect with the worlds of architecture, psychology, business, and even music. By the end, though, you'll have a clear idea of what an architect is, does, and needs.
In late 2017, Twitch released “Extensions”, for the first time allowing web developers to build on-site interactive interfaces for live stream viewers.
In this talk, Brian will overview how his small indie games studio used a set of modern web technologies to construct their dream project: a real-time interactive web interface that lets audience members interact with live-streamers playing their game.
We’ll look at how this extension was built using React, CSS Animations, Cloud Functions, ES6, Webpack, NPM and Firebase, while exploring the unique challenges of designing interactive interfaces meant for video overlays.
Bonus: time and connection permitting, you’ll have a chance to help (or hurt) Brian as he live streams a game of Clone Drone in the Danger Zone by launching your own laser-sword-wielding robots via the React interface.
Did you know that Web Extensions aren't just for changing web page backgrounds and adding goofy icons? No, no, it's true! You can even u>se them in the enterprise to solve all the things!
Need to add functionality to an application you don't own? No problem. Want to integrate something with your custom enterprise application? We got you. Tired of that legacy application constantly dragging down your solutions? Consider it done.
In this session, we'll explore the world of web extension (a.k.a. browser extensions) and how they can be the solution to all your web-based enterprise problems. We'll discuss the pros, cons, and the some of the realities you could be faced with when you build your own extension for enterprise.
Do you know what accessibility is? How about inclusive design? Have you ever heard of WCAG, POUR or ARIA? In this introduction to [a11y], you'll learn abut assistive devices & technologies, accessibility standards & tools, and some quick and easy next steps for making your sites and applications more accessible to all users.
Open source tools. We all use them. Whether an entire framework, a focused toolkit, or a simple custom component from GitHub, npm, or NuGet, the opportunity to improve our development speed while learning new things from open source projects is enticing. But what does "open source" truly mean? What are our rights and limitations as open source consumers to use, modify, and redistribute these tools in a professional environment? The answer depends upon the OSS author's own decisions regarding project licensing. Come investigate the core principles of open source development and consumption while comparing and contrasting some of the more popular licenses in use today. Learn to make better decisions for your organization by becoming informed of how best to leverage the open source works of others and also how to properly license your own.
Bootstrap 4 is here and it's a great upgrade to the platform. Luckily this time it's not a complete rewrite. In this session, Shawn Wildermuth will show you what is new and changed and convince you that upgrading from Bootstrap 3 to 4 isn't a big deal.