Solving problems that have more than one possible solution is something every developer will be asked to do over the course of his or her career. Figuring out the best way to utilize the capacity of a device or machine, finding the shortest path between two points, or determining the best way to schedule people or events are all problems where mathematical optimization techniques can be used to quickly and efficiently find solutions. In this introduction to mathematical optimization designed specifically for software developers, we will explore some of the foundational techniques for solving these types of problems, and add several of these methods to your toolbox so that you can put them to work for your customers. Since this is a session for developers, we'll keep it in terms that work best for us. That is, we'll go heavy on the code and lighter on the math.
Adding personalized experiences is often a critical part of creating an application, and the key to personalization is being able to identify your users. However, properly managing user identities can be difficult, and getting it wrong can cost you users due to usability problems, or worse, can expose your users to harm if their identity information is not properly protected. Azure Active Directory B2C provides you the ability to integrate a ready-made identity platform into your application, with options for integration with social identity providers, application-local accounts, customized workflows, and a user interface that can integrate into your app's layout and design. In this talk you will learn how you can integrate Azure Active Directory B2C into a variety of applications, and several of the ways you can customize the experience to best support both your users' and your application's needs.
One of the consequences of the increased ability to store massive amounts of data provided by cloud solutions like Azure is growing interest and tooling around the processing of this data. Azure Machine Learning is one such tool, offering easy access to the once-arcane science of Machine Learning. This talk will provide an overview of Azure Machine Learning tools, featuring a walk-through that will show how you can use the Azure ML Studio tooling to create and train an ML model. Once it has been trained on existing data, you will see how it is possible to operationalize this model, publishing it as a REST endpoint that can be called by other applications in order to make predictions as new data becomes available.
Most modern applications need security. Enter OpenID Connect and OAuth 2.0. These two security protocols are designed to meet most modern application security needs. Adding the concept of an authorization server is the recommended architecture. But writing such a “security token service” that implements these protocols from scratch is not an easy task. This talk introduces the new and changed approaches to secure your applications and APIs.
Design patterns are now universally accepted and have significantly improved the way we design software. However, they had relatively little impact on how we implement it. Except rare exceptions like the 'using' or 'lock' keywords, most patterns must still be implemented by hand, resulting in large quantities of boilerplate code that must be validated by peer review. However, development tools could do a better job by automatically implementing some parts of the pattern, and automatically validating hand-written code against pattern rules. This talk shows how to remove this redundant code with aspect-oriented programming (AOP) and PostSharp, the reference AOP framework for .NET.
We are trying to build applications that run right in a dozen browsers, look good on thousands of different devices, load fast enough for impatient commuters in the subway, and are still accessible enough that blind people can use them. That's why Website Test Automation is a critical part of enabling Continuous Integration. Selenium is an open source API for automating website testing. It supports all major browsers and runs on various platforms in many languages. Selenium is used for test automation by companies such as Google, ThoughtWorks, Mozilla, Accenture, Groupon, LinkedIn and IBM. This presentation will explain what Selenium is (for those who don’t know), where Selenium sits in the Continuous Integration feedback loop and how to scale tests written with Selenium using the Selenium Grid. We’ll create tests using scale them across different browsers using node.js and Visual Studio Code.
Azure service bus can be used to handle dynamic demand and handle on premises workloads in the cloud. In this talk we will explore the following: 1. Creating a generic service bus implementation to sit on top of exiting APIs. 2. Dynamically expanding service bus consumers to handle dynamic load. 3. Exposing on premises services utilizing the Azure service bus.
We’ve all been there - you dive into a project and immediately become overwhelmed by the complexity of the code. What about when you’re the one who wrote the code in the first place? How did you let things get like this? How could this have been avoided? What about a spray you could apply to clean the mess in the code? You’re in luck, now there is! In this talk we’ll explore the four simple rules first proposed by Kent Beck and how they can be applied to keep your code base maintainable. While they don’t (yet) come in a spray form, they’re almost as easy to apply.
Recently Microsoft Open Sourced .NET and brought ASP.NET, their web framework, to Linux and the Mac. Join us as we explore how to develop for the web using ASP.NET Core which gives you a blazing fast and modular platform for creating server applications. We’ll take a look at the ASP.NET base container and how to get started using it in your development environment. We'll then containerize a web application using Docker and send it to the Azure cloud.
In many development shops code is written using the slash and burn approach where technical debt is accumulated and developers become burned out. In this talk I will share some of the ways that my team has discovered to not only improve the quality of our code but speed up the development and most importantly create a great work life balance for the team. This talk is technology agnostic and focuses on the cultural practices that you can use to make truly sustainable code.
While working a full time job, you come up with a great idea for a software product that you are sure will be a hit. Do you quit your job with a nice steady paycheck and start developing the product? Do you have what it takes to run your own business? What skills other than software development are even more important to the product’s success. This presentation will help you to answer these questions as well as covering some of the following: 1. Does your product have a chance of succeeding? 2. When is your product is ready to be released? 3. Should you get dedicated hardware or use a cloud service? 4. One way to save thousands of dollars in hardware and software costs 5. Where you should be focusing your energy and some approaches to free you to do this 6. Some of the lessons I have learned in bringing StrategicRM to market If you feel that entrepreneurial bug coming on, don’t quit your job yet. Wait until after you have seen this presentation. Learn from my mistakes rather than by making your own.
Leveraging the Angular-CLI, Jeremy demonstrates hands on why Angular 2 and TypeScript are effective tools for building modern single page web applications. Learn how easily it is to get a new application started, understand the template binding syntax, discover how dependency injection works, and explore re-usable components, directives, and behaviors in this in-depth, hands-on talk.
We will discuss and review multiple d3.js charts to present your data in a consumer-centered manner. D3.js is a data presentation and visualization library. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
There are currently no mixed reality best practices for design because designing for Mixed reality devices like the HoloLens requires a massive shift in thinking. On the one hand, basing new interfaces on older ones is a recipe for disaster or worse – boredom. On the other hand, what’s the alternative? In this talk we’ll look at the goal of good design, the role of user expectation, and how Sci Fi movies feed into both of these. In this talk, you’ll learn how Sci Fi and Fantasy UX fits into tomorrow’s optimal design workflow. Even though Sci Fi interfaces often end up cheating in order to create something plausible for the screen -- about which we’ll be looking at many examples – Sci Fi movies provide us with opportunities to examine, review and even test innovative interfaces before using them in our own products.
Learn how to leverage Docker Compose for local application development as well as cloud deployment. The Docker Compose format is becoming the lingua franca of containerized applications. We'll take a look at how to use the tool to define, develop, and deploy your multi-container applications to a variety of cloud platforms.
Docker is emerging as one the greatest ways to develop applications. Not only that, but it's saving large enterprises tens of thousands of dollars, by increasing utilization to unheard of percentages. If you are not aware of containers and the benefits they bring, or if you love containers and want to live inside one, then this talk is for you.
You have the app. You have the data. What if your app could put the power of analytics everywhere decisions are made and allow your customers to gain insights? Modern apps with data visualizations built-in have the power to inform decisions in context—for any user and on any device. Join us to discover how you can embed data analytics in any app and on one device powered by Azure and Power BI Embedded. Learn how to: - Create compelling interactive reports - Embed easily for faster time to value - Deploy quickly and manage with ease
Visual Studio is already a powerful IDE. But when you add extensions, third-party tools, and templates to the mix , you have a development environment that can be tailored to your exact needs. This session shows you how to find, install, and use the most helpful extensions for Visual Studio. Learn how extensions like Spell Checker, Comment Remover, CodeMaid, and Productivity Power Tools can automate and speed up the way you code. Then discover how to build your own extensions, and share them with other developers in the Visual Studio Gallery. You'll also see how to use standalone external tools to augment the Visual Studio workflow, and create custom templates that include just the files and settings you need for your project types.
In the beginner-oriented session we were able to get a simple Xamarin app up and running on several device platforms. In this session we will add some additional polish to help differentiate our app, and we will cover the additional steps needed to get our app into the App Stores.
With the cross-platform version of .Net, Microsoft has had to rewrite many of the core components that we have come to depend on. If you include data in your applications, chances are you have used Entity Framework in the past. In this session, you'll learn how to get started using EF Core and how to handle the changes in this version.
Come find out resources, tips, and tricks on getting started with IoT. Looking to find out more about different boards and their capabilities or which programming language to use? This quick overview will touch on a variety of information for beginning with IoT.
With Xamarin it is very quick and easy to get your mobile app ideas built and into the hands of users. In this session you will be introduced to the platform and shown the steps to develop a basic application that targets iOS, Android and Windows devices.
Getting your foot in the door is always difficult, but after that first job, the big questions are how do I get to the next level? I will explain some of the paths to consider before moving forward and also some common experiences I have had to go from a college grad to Director of Engineering for a global software company. Some of the suggestions may surprise you.
Catching ghosts with a Raspberry Pi “Who ya gonna call... when you caught a ghost with your IoT ghost trap?” This session will demo how to use a Raspberry Pi and C# app to communicate to a 3d printed ghost trap.
In this talk, I'll show you how I built the Atlanta Code Camp with ASP.NET Core, Angular 2, Entity Framework, and Azure!
If you are developing and deploying web applications and you're managing servers or VMs, then you should ask yourself "why?" Microsoft's Visual Studio Team Services now gives you great tools for source control, project management, hosted build servers and release management. Azure App Services allows you to spin up scalable, easily managed web applications without ever worrying about managing the underlying OS or hardware. Microsoft MVP, Pluralsight author, and Code Career Academy Chief Instructor, Jeff Ammons will walk you through setting up a complete Team Services project with source control, hosted build and release management then deploying it to an Azure web app. Reduce your development time by taking away all the fiddly server, TFS, VM and OS management!
Want to make your own APIs? Learn how to get started with ASP.NET’s Web API framework, and test your HTTP requests directly with Postman. Don’t know why you should spend time building an API? Come to this talk!
In this session, we will learn about the core features of Microsoft Azure Service Fabric, Microservices, Stateless and statefull Microservices, partitions, actors and walkthrough an end to end example.
Calling all .Net developers… Microsoft has, over the last few years, been open sourcing various products and frameworks. Recently we’ve been hearing more and more that Microsoft products are built to run across platforms and on different operating systems. ASP.NET Core is the flagship framework for this transition and it was recently announced that SQL Server will soon run on Linux! In this talk you’ll get a brief overview of what it takes to setup a Linux environment for developing .Net outside of Windows. We’ll explore Linux, it’s file system, bash, and many of the utilities you’ll need to get started. By the end of the session we’ll have a fully functioning development environment and a running Asp.Net Core app that you can start using when you get back to work.
In this session, we will learn about the rich set of capabilities of SQL Server 2016 and the new & improved features relating to Performance, Productivity and Security. We will understand how the life of a SQL Developer and Database Administrator will be transformed with features like Query Store, Live Query Statistics, Comparing Execution Plans, Built-in JSON Support, Temporal Database, Stretch Database and other nice T-SQL enhancements. We will also take a look at the new security features – Always Encrypted, Row Level Security and Dynamic Data Masking. This will be a content rich session with plenty of demonstrations.
A no nonsense talk about what it takes to be an mobile app developer. Whether you want to get a job as a mobile developer or set sail under your own flag freelancing. We will discuss some best practices and tips for having fun and making a profit.
I will share how we develop and host a popular publishing platform in the cloud with a limited budget and technology team. We'll cover architecture, including a variety of services at Amazon Web Services such as elastic load balancing, S3, Elastic Beanstalk, and RDS in the context of a real site. We'll cover how we control costs with Spot and bustable instances and scale up with distributed caching. Finally we'll discuss continuous deployment strategies for Windows and Linux-based cloud applications in the context of a distributed team using an agile process.
Photon Board running a Node.js application to collect weather data and send to Azure IoT Hub. Power BI or Web App use the data to generate real-time graphs with IoT Hub, Queues, Stream Analytics, and more Azure IoT offerings.
Test Driven Development specifies that you write a failing unit test before you write any code. Some people say this is impossible. I'll demonstrate that it's not only possible, but will change how you write code for the better. Test Driven Development allows you to code with confidence, reduce the number of bugs in your code and build well designed software and more! Come learn how to apply the 3 laws of TDD to code with confidence.
Raspberry Pi running Windows 10 IoT Core and UWP app with light sensor that will turn on LED in the dark. Power BI uses the data to generate real-time charts with Azure IoT services such as IoT Hub, Queues, and Stream Analytics.
In this talk we will explore the following: Utilizing Machine Learning to perform predictive maintenance. Challenges facing remote sensor data retrieval and consumption. Real world scenarios and how their problems were solved. Explore the Fuseworks solution to standard sensor challenges.
Roslyn opens up some great possibilities for Code Generation so there is some overlap between the two technologies but this does not mean that they don't play well together. In fact they play well together. In this presentation we will explore using Roslyn to feed metadata to T4 templates. Roslyn proves to be a much better source for Metadata than the Code Model or Reflection. We will also explore using T4 to simplify implementing Code Fixes associated. Using T4 we can allow users of our code fix to have some control over what the correction looks like. The SyntaxTree for the code fix can come from the output of running a T4 template.
Overview of a variety of sensors that can be used in IoT projects from metal detectors to flame sensors and everything in between. We’ll demo how to send notifications from devices such as, "FIRE!" and "It’s time for a new beer!"
A major difference between SharePoint Online and SharePoint On-premises is the performance of the OOTB structured navigation. In SharePoint Online it is painfully slow. Search driven navigation is the most efficient option offered by Microsoft, but it is also the least well documented. This talk will guide attendees through the process of setting this up from start to finish, and will fill in all the gaps in the current documentation.
I love to code, but in the world of employers, a developer needs to do a lot more than code to be successful. This class will go over the things that can set a developer apart and help to make him/her a true success.
I avoided game development and 3D development because I didn't think my skills would translate well. I figured I'd have to understand trigonometry and ray tracing to even get started. I found out I was wrong and I want to show you. I'll bring my HoloLens and build an app in front of you so you can see how some of the basics work and how you can use pre-build assets to avoid needing those pesky artistic skills.
Angular 2.0 is close to production ready release. Initially the community was in an uproar over the lack of backwards compatibility, but that has changed in recent months with the release of version 1.5 and several modules including ngUpgrade. In this talk, Jeremy Likness discusses the differences between major production versions of Angular, the options for migrating your apps to 2.0, and demonstrates how to get your apps back into the future with the tools that are available today.
Ansible is an excellent open source option for orchestrating bare metal boxes and instances in various clouds. In this talk, we explore how to use Ansible to quickly spin up cloud instances and deploy working examples of complex, distributed systems using stock and custom modules. We'll also touch on custom module development in Python.
With permission from Manning Publications and the author, will present techniques and tools from the book "Web Optimization In Action" by Jeremy Wagner. Topics to be covered - Analyzing performance - Minification - Compression - Image optimization - Simulating Network Conditions - Optimizing CSS - Critical CSS - Raster Images - SVG Images - Responsive Image Delivery - Image Sprites - Raster Fonts - Lean JS - Async JS Loading - Fetch API - CDN assets