This talk describes the basics of JSON Web Tokens (JWT) and describes a mechanism for authentication between legacy (.NET Framework) web applications and modern .NET Core Web API REST services using JWT.
Kubernetes is the king of container orchestration and the results are clear: more than ever, employers are looking for IT professionals that know Kubernetes. It can, however, be hard to get started with Kubernetes, because it is not trivial software. In this session, we’ll help you get started with Kubernetes, particularly Azure Kubernetes Services, as we break down into bite size chunks so you can get a jump start on your Kubernetes experience.
Interested in building mobile apps that leverage AI services and integrate with IoT devices, but not sure where to start? The OutSystems platform makes it easy to use pre-built connectors to work with a wide array of services and hardware, including mobile device hardware like cameras and NFC, as well as AI providers such as Azure Cognitive Services. In this session, come see a whimsical take on common app development tasks, demonstrated by an Internet-connected, AI-powered Candy Dispenser. You'll see how a "low code" approach to AI and IoT integration can save you time, and let you focus on the fun parts of your IoT development. Demo includes integration of camera (for facial and mood detection via Azure Face Detection API), NFC, Sentiment Analysis, and control of connected hardware (stepper motor and LEDs) via REST APIs.
UI tests have long been valuable as a tool to automatically verify that all of the components of an application are working together correct. They, correctly, have a reputation of being difficult to write, brittle (Will fail sporadically without a change in the code), taking a long time to execute, and difficult to maintain (consistently needing to be updated). In this presentation we will learn about a new UI testing tool called Cypress that will make it easier for you to write UI tests are less brittle and run faster than the equivalent Selenium test.
As Angular components grow in an App, it's becoming increasingly important to share data between the components in an organized way. We will start with simple ways and get more complex. Also, we will discuss the best practices around it.
In this session you will learn about ways to optimize the performance of your angular app, patterns for component design and communication, as well as improving the overall maintainability and scalability of your applications. In addition you will learn to master the RxJS Subject and how to employ observables in your applications effectively. And more!
Microsoft has released Automated ML technologies for developers through ML.NET, Azure ML Service, and Azure Databricks. This presenter is a data scientist and Microsoft architect, and will give a comprehensive overview of the utility and use case of this automated technology for production solutions. The presentation includes code you can try now.
Leverage the capabilities of Azure Active Directory to easily register and authenticate users of your apps and services. Microsoft provides services such as Express, Business to Consumer (B2C), and Business to Business (B2B) types of services and tenants to meet the needs of customers. We’ll explore what’s involved to implement authorization and authentication to your app services.
Modern applications are increasingly data-driven, which leads to a lot of time spent fetching, filtering, and aggregating data. GraphQL is a query language for your API which reduces the complexity associated with data fetching lets developers describe the complex, nested data dependencies of modern applications. In this session, We will discuss how to build high-performance GraphQL apps with Xamarin and the demo how to quickly spin up the GraphQL server with Azure Database for Postgresql with Hasura and integrate the GraphQL backend in Xamarin using GraphQL Client libraries, featuring GraphQL capabilities such as Query, Mutation, and Subscription. We will discuss tips and tricks to getting started with building GraphQL powered Xamarin apps.
Sometimes consumers of your APIs require near-realtime communication because regular RESTful HTTP apis can be a few milliseconds too slow. These performant and scalable APIs can be made over websocket TCP connections where events are pushed from client and server in near-realtime fashion. This talk is a story of how I built such an API. We'll look at why this decision to create a websocket API was made and we will take a look at the data that supported this decision. We will take a deep dive into Phoenix websockets, channels, and transports to expose the underlying architecture. Finally, we look at how we tested the API, how we authenticated users over the channels, and how Phoenix helped this all happen with relative ease.
Azure Machine Learning services is an integrated, end-to-end data science and advanced analytics solution that provides professional data scientists and data engineers with tools not only to develop ML models, but also tools for data preparation and wrangling, data visualization, model deployment and model management at cloud scale. The session will teach the attendees how to get their hands on each tool in the stack.
Microservices have transformed how modern applications are developed and Serverless has become a natural choice for cloud native microservices which offer many benefits over traditional development. In this talk we will introduce you to building microservices on Azure with Azure Functions and Dotnet. We'll discuss common design patterns and specific features of Azure Functions that greatly reduce some of the complexity of building microservices. We'll also work with other native azure platforms that contribute to our microservices story such as Azure Storage Queues, Event Grid, and CosmosDB. We'll wrap up our discussion about how to deploy microservices to Azure with Azure DevOps.
More often than not, fear is one of the main reasons many of us miss out on great opportunities in our lives. Understanding your strengths and focusing on that, would help you always lead and approach every opportunity with confidence. Building your confidence will enable you to have better interviews, try new things, apply for positions you didn't think was qualified for, and achieve your career goals. During the Career Hyper-Growth talk, attendees will hear stories and real-life experiences that will show ways to get a new job, moving up within your company, perform better during interviews and having more success while seeking new career opportunities. Christian will walk you through how to advance your career by leveraging multiple tools like a home lab, social media connections, free training resources, etc. He will also talk about different ways to get more confidence while interviewing for new jobs, and tips and techniques to overcome the fear that will steal great opportunities.
In a system of any size, there are lots of settings and variables that need to be stored somewhere, and most technologies come with some sort of settings management that is contained within that instance. As a system grows, keeping all those settings in sync can become extremely painful. Azure App Config creates a centralized store that any piece of a system can access drastically reducing the need for individualized configuration settings. We will take a look at how the service works and how it can be utilized for things like feature management and versioning as well as how it can be used along with Key Vault to securely store passwords and connection strings.
Could your application benefit from greater configuration? Could you build a configuration framework to make certain changes in your applications easier? Should you? This talk will explore the dynamic between code and configuration. We will seek to understand the difference between code and configuration and the pros and cons of each. Ultimately, we will seek to arrive at practical guidance for which parts of an application are best suited for configuration and how to focus configuration efforts.
Progressive Web Applications have many advantages over plain old web apps. After covering the advantages of PWAs, Joe will demonstrate how easy it is to convert an ASP.NET MVC Core app to a progressive web app. Then he'll show how you can handle data so that when you are disconnected from the Internet the app will still work.
Modern Software Development is more than just a job or disparate set of skills. Instead it should be considered a craft and we should strive to build a culture that promotes doing things “the right way” while coaching and mentoring the incoming generation of developers. In this talk I will present some of the lessons that I’ve learned over 16 years of being a software developer as well as a manager of software developers and how I try to create a culture that promotes leaning and improvement every day.
I have worked with a lot of developers over 19 years. You would be amazed at how many people think debugging means randomly changing something. That is the last thing you want to do. What I will cover here is tools and approaches to finding the problem. Making changes that will actually help find a problem and why it will help. Finally I will add steps to help avoid a lot of bugs in the first place.
In this talk, we will discuss successful strategies for delivering successful mobile projects. The modern mobile developer has a number of tools to create mobile apps but how do you go from conception to happy customers? We will navigate pitfalls and plan a route to successful App Store deployment. We will cover best practices that cover development and Testing and Dev Ops. Attendees will walk away with a game plan for delivering mobile apps of all sizes, as part of a team, or as an individual.
Cloud is rapidly changing the way modern day applications are being designed. Data is at the center of multiple challenges while architecting solutions in cloud. With technology changing rapidly, there are new possibilities for processing data efficiently. Come join me in this session to learn more about the tools and technologies that will help you to design data intensive systems. We will take a structured approach towards architecting data-centric solutions, covering technologies like message queues, data partitioning, search index, data cache, event sourcing and NoSQL solutions. If you are a Data professional, Software Engineer or Architect, come join Samir Behara in this session to understand the high-level design principles that will help you build scalable, resilient and maintainable systems in cloud.
Organizations will continue to face an increasingly difficult uphill battle as we try to recruit top technical talent. The unfortunate reality is that there simply are not enough qualified candidates for the increasing demand. You will be required to step outside your comfort zone as you share personal experiences and discuss challenging topics such as: giving feedback, working with different communication styles, facilitating effective (non-awkward) 1:1s, practicing authenticity, empowering developers to reach their full potential, and establishing powerful and bullet-proof morning routines to maximize your busy schedules. Participants will leave with tactical methods to truly embrace the human side of software development and serve their teams as intentional, respectable, and inspiring leaders.
If you’ve ever asked “Alexa, how do you build an Alexa Skill?” you’ve probably been disappointed with her answer of “Sorry I don’t know that.” In this session I’ll walk through how I developed a solution to bring Alexa voice integration to my 3D printer using Azure Functions, AWS Cognito, and account linking. We’ll also look at the Skill certification and review process for publishing your skill to the Alexa Skill Store. This session is guaranteed to make you smarter than Alexa!
It's been 10 years now and DevOps is still going strong. For developers this can mean a lot of things, learning new tools and processes, automating builds, testing and releases, even having to accommodate for Agile in your development cycles. What often gets missed is culture. It usually comes in the form of an Agile coach, "Scrum team" or often as an afterthought. In this session, you will learn why culture matters most, how as a developer you can get started without formal approvals or transformations and the facts behind what works and what doesn't. We'll look at how to make simple changes in your day that add up to huge gains for you, your team, and your company.
We will learn about NLP techniques to process a text corpus to prepare for Machine Learning applications, including
stop word removal
count-vectorizer, and TFIDF
applying supervised learning (random forests) to vector representation of documents for classification
Hyper Parameter Tuning to achieve higher accuracy
Learn how to decouple your microservices using an event bus. In this session, I'll demonstrate how to make your distributed systems more reliable and responsive through this technique using .NET Core and Kafka.
Is figuring out how to align items correctly the bane of your existence? In this presentation, we will discuss how to use CSS grid and flexbox to organize content in various situations. Participants will also learn when to use which tool and what they can do to flex their CSS muscles.
An introduction to serverless computing on AWS Lambda. Review of why you'd what to go serverless, what technologies are supported and the basics of the service on AWS. A demo would be provided including a discussion around how companies are using Lambda.
Have you ever run a Git command without really knowing what it's going to do? Have you ever been surprised by the result of a command you thought you did understand? This session will give you the knowledge to use Git with confidence and without fear. We will peer under the covers using live demonstrations to see what's really happening when the most common Git functions are used. You will learn about the internal data model of Git and the unique vocabulary of the Git system. These concepts will enable you to better understand the help system, man pages, and any GUI tools you may want to use. You will also learn about submodules and how Git internally tracks and manages them. You will leave with a new appreciation for the most popular source code management tool today, how to use it without guesswork or surprise, and how to teach yourself more details as needed in the future.
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.
Azure Data Studio - previously released as SQL Operations Studio, is a lightweight, cross-platform, extensible editor built with the data platform user in mind, with built in charting of query result sets and customizable dashboards. Based on the popular Visual Studio Code, Azure Data Studio enables access to data wherever it lives - Microsoft Azure, on-premises, or even AWS! This talk will cover how to obtain, install, and use Azure Data Studio, highlighting practical features and introducing a new (to the data platform, anyway) paradigm for accessing data: SQL Notebooks!
Let's dive into the power of Flutter to develop cross platform mobile applications for Android and iOS. We will talk about the history of Flutter, the basic structure of a Flutter app (widgets, routing, build context), and how to get an app running from scratch. We will also introduce some good IDE extensions to aide in Flutter development.
Almost all software accumulates technical debt over time. Sometimes out of necessity, but sometimes by accident or neglect. But often teams are not empowered by the business or stakeholders to ever "pay down" that debt. This talk will cover techniques for managing the ever-growing backlog of technical debt, as well as strategies for working with the business and stakeholders to plan and prioritize the work.
Modernizing your legacy desktop applications doesn't require a total rewrite. Transitioning your applications over to .NET Core 3.0 can be done with minimal effort on your part. In this session, we will take existing .NET Framework applications and transition them over to .NET Core 3.0 applications. Along the way, we will discuss best practices, pitfalls to avoid, and lessons learned.
The world of medicine has a process for reviewing failure and looking for ways to prevent it from happening again. Failure is all to common in development, whether you are building a traditional waterfall project or using the newest agile techniques. In this talk we'll discuss how to apply what the medical community does to our projects and sprints. We'll look at common causes of failure that apply across projects, how failure effects developers and changes team dynamics, and ways to learn from failure to prevent it happening again.
Many business ETL processes are wrapped around batch processing. In this talk I'll show you how to leverage Apache Kafka to be the backbone of your communication and have Kafka Streams processing your data in near real time.
Many developers use the term “refactoring” to refer to any “clean up” effort in the code. This definition, unfortunately, mischaracterizes refactoring’s power to allow us, as software programmers, to incrementally make powerful changes to the structure of our code without changing the behavior. The problem is that sometimes developers will make changes to code in order to “make it better” when there isn’t a clear reason to change the code in the name of “tech debt” and this introduces unnecessary risk that rightfully bothers non-developers. On the other hand, if there is a business reason to make a change to code, refactoring is a great way to transform the code so that the change is easy to make. Mike will do live coding to demonstrate specific techniques that will allow you to stay green throughout a larger refactor to make the change easy (so you can then make the easy change!)
If you've every written any C or C++, you know these language are powerful. They give you low level access to hardware, memory management, and lightning fast performance. But the difficulty of ensuring memory safety in these languages leads many of us to swear that we will never again write another malloc(). Rust is a modern language that gives us the blazing speed and low level access of C, while preventing the programmer from writing a whole class of bugs. Let's take a deep dive into what makes Rust such a revolutionary language, no tetanus shot required.
Ari Waller, Chief Recruiting Officer at Thompson Technologies, will give an overview of the current Software Engineering job market trends for 2019. He examines the current and future states of software development languages' supply and demands in the marketplace, as well as conducts a career-oriented Q&A (resumes, interviews, and overall job hunting tips and strategies). This will include: ● IT Career Trends ● Coding Career Opportunities and Trends ● Atlanta Job Market specific for Software Developer ● Future Job Consideration ● Preparing for Success ● Q & A
While being a technologist, Wally has a lot of startup experience. He has been through two startups that succeeded and sold, one that failed, and one that went sideways. Wally is going to talk about you getting into first gear, what you need to do, what you don’t need to worry about, and things in between to take your startup from an idea to startup to getting your business started. This session will be about the technology startup geared in software. It is similar for other startup types, but this is geared towards software based startups in the technology area.
See the substance beneath the buzzwords! I will be demonstrating a device I created to secure my server cabinet which uses TensorFlow Lite for face recognition, integrates with a number of devices to monitor cabinet conditions, and sends warnings and alerts through my centralized logging system using AWS services. I will be demonstrating the tools used to support development in C, and noting cross-platform alternatives where relevant. We will walk through some of the more interesting code written to integrate devices and send structured log messages and examine how to structure an embedded solution to enable Test-Driven Development.
Today’s applications are required to be highly responsible and always online. Cosmos DB was built from the ground up to provide a globally distributed, multi-model database service that enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. Because of its ARS (atoms, records, and sequences) design, Azure Cosmos DB accessing data via SQL, MongoDB, Table, Gremlin, and Cassandra APIs. All of this with transparent multi-master replication, high availability at 99.999%, and guarantees of less than 10-ms latencies both reads and (indexed) writes. In this session, you will learn what you can do with Cosmos DB, the benefits of each of these data models, and how to use everything Cosmos DB has to offer to make your applications rock solid. Come find out when and how to implement Cosmos DB and which options you should use based upon your needs.
In this course, we identify some common mistakes that we see in the business world using Power BI. We will identify the psychology behind the reporting techniques needed to create powerful and effective interactive reports. The attendee will leave the class ready to write better reports using Power BI in the real world.
I will discuss the importance of creating a safe environment to have an open dialogue around mental health within the tech industry. I will highlight important introspective questions one should ask themselves before entering the tech industry and share some practical tips for those currently in the tech industry that can help them lead a more balanced approach to their professional development and mental health.
I will share an overview of how Vue works including: events, components, directives, parent/child interaction, routing, emitters, single-file components, and the Vue CLI. In this talk, I will share my transition from Angular to Vue as well. Though Vue is amazing and easier to learn than Angular (IMHO), there are some differences in reactivity that can be confusing. Let's end the confusion and have a clearer Vue. (pun intended)
Are you mystified by SQL Server performance? Do you wonder why sometimes your SQL statements runs fast but other times, they run painfully slow? Do you wish there was a pragmatic set of steps you could go through to troubleshoot performance problems that didn't require you to have a PhD in database internals? If so, this talk is for you. In this talk, I'll describe database performance from a developer's point of view. I'll show how you can accurately measure the performance of any SQL statement and what you can do to improve its performance. I'll show how to create effective indexes and use capabilities built into SQL Server to find your worst performing SQL statements. At the end of this talk, you will no longer regard database performance as black magic, but instead be able to confidently analyze and solve any performance problems you encounter.
The JAMstack is a set of best practices for building decoupled websites with a heavy emphasis on build-time rendering and static hosting that is quickly gaining popularity with developers. In this presentation I'll show you what the JAMstack is, and we'll discuss why it is gaining popularity now and what it might tell us about the future of web development.