Date for Saturday, October 14, 2017 8:00:00 AM - Saturday, October 14, 2017 6:00:00 PM
Speaker List
Dave Adsit
More on Dave Adsit
Sessions
- Track
- Agile
- Title
- An Architecture for Autonomy
- Abstract
- In the 5 years that I have worked as an architect at Pluralsight, we have grown from one team of 4 engineers to over a dozen teams totaling more than 100 smart, professional software craftsmen. During this time, we have also acquired more than half a dozen companies and disassembled a single [monolith](https://martinfowler.com/bliki/MonolithFirst.html) into 40+ [bounded contexts](https://martinfowler.com/bliki/BoundedContext.html) with hundreds of independent microservices.
Come to this talk to learn how we integrated .NET, PHP, Python, NodeJS, Ruby, Elixer, Scala and soon Go into a single, functional product offering. Come to this talk to learn how we have embraced team autonomy to create an architecture that allowed us to deliver more than 60 new user experiences over the last year.
- Track
- Agile
- Title
- What is Lean?
- Abstract
- When we talk about any tool, technique or practice that we like, we can fall into the trap of thinking that “Everything good is X” and “X is everything good.” If we truly want to understand a concept, we need to know what it includes and what it does not. After this session, we will have a clear understanding of what Lean is, how we might apply it to software development, and when we would and wouldn't want to.
This session includes several hands on activities that drive the content home.
aydin akcasu
More on aydin akcasu
Sessions
- Track
- IoT
- Title
- Hacking BlueTooth Devices and Controlling Them with Your Browser
- Abstract
- Have you ever wanted to access the data from a Bluetooth device?
For example: - Read the weight from your scale? - Read from heart rate monitors? - Get step information?
- Control lightbulbs?
Come to this talk and see how to hack and use the new Bluetooth capabilities of Chrome to do this.
See how easy it is to hack Bluetooth Devices with Android using various Chrome Bluetooth tools.
Chrome has added Bluetooth support, which means you can use your browser to access your Bluetooth device.
We will investigate how to:
get Bluetooth data from an Android phone.
learn a bit about the low-level Bluetooth communication protocol.
diagnose the packet information.
reverse engineer the protocol of Bluetooth light bulb.
discuss reverse engineering other Bluetooth devices.
create a web app to control the bulb.
create a traffic light app, that responds to external stimuli.
use your android phone to control the bulb, through Chrome.
Christina Aldan
More on Christina Aldan
Sessions
- Track
- Artifical Intelligence (AI)
- Title
- 5 Tips for Cultivating EQ in the Workplace
- Abstract
- Learning to manage our state of mind in the workplace is an acquired skill. While stress in the workplace in unavoidable, it is possible to cultivate Emotional Intelligence (EQ) to manage our state of mind. Practicing EQ helps us identify and eliminate stressors in our lives. Awareness of self and awareness of others strengthens personal and professional relationships. When we understand the motivations of ourselves and the perspectives of others we form deeper connections. In this presentation, learn five tips for cultivating Emotional Intelligence in the workplace.
- Track
- Design (UX/UI)
- Title
- User Experience at Every Level of Business
- Abstract
- User Experience is included at every level of business. This can be seen in the culture of a company. Through the content, products and services that the employees create, the company engages with its consumers. User experience is integrated into every touchpoint of a company’s infrastructure when people engage with a brand. Learn why it’s important to have a Generalist on the team to oversee the User Experience for a company at every level of its processes, including: hiring, design, development, advertising, and marketing.
Karen Baney
More on Karen Baney
Sessions
- Track
- Javascript/Node.js
- Title
- Introduction to VueJs 2
- Abstract
- Learn how to get started programming with VueJS 2, how Vue handles two-way binding, and the other core features of this newer JavaScript Framework.
David Batten
More on David Batten
Sessions
- Track
- DevOps/System Administration
- Title
- Crawl, Walk, and Run to Continuous Delivery
- Abstract
Over the course of 15 years in software development, I've learned quite a bit about automating software delivery. Looking back, I realized that I've been performing Continuous Delivery in one form, or another, for most of that time. Let's take a few minutes to talk about how Continuous Delivery can help teams of all sizes get software into customers' hands faster for tighter, more effective feedback loops. It's all about the automation!
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- Brownfield Development Strategies
- Abstract
- Very few software projects are greenfield, meaning they are brand new. Most development is done on existing or brownfield projects. Also on average, an application is rewritten every four versions, which tends to run overbudget and frequently be delayed. When it does get released, it is usually not as feature rich as its predecessor. This session will explore specific strategies for making major changes to existing applications to make them more maintainable, extensible, and keep the existing functionality that users demand.
Sarah Braden
More on Sarah Braden
Sessions
- Track
- Python
- Title
- Deep Learning with Python
- Abstract
- Tutorial for getting started with Deep Learning using Python
Lee Brandt
More on Lee Brandt
Sessions
- Track
- .NET
- Title
- ASP.NET Core + React = Awesome
- Abstract
- Developing React applications usually mean developing a back end with .NET Core or NodeJS, and then a separate “plain-old” React app. This is great for applications with a “back-end” team and a “front-end” team. But in a LOT of situations, there’s only one team building the application and create a single code base with good separation between the front end and back end can be complicated. I will show you how to take the generated MVC application and integrate React with it in a way that keeps the layers separated, but easily deployable as a single app!
- Track
- DevOps/System Administration
- Title
- Dockerize Your Development Environment
- Abstract
- It works on my machine. We’ve all heard it. Most of us have said it. It’s been impossible to get around it… until now. Not only can Docker-izing your .NET development environment solve that issue, but it can make it drop-dead simple to onboard new developers, keep a team working forward and allow everyone on the team use their desired tools!
I will show you how to get Docker set up to use as the run environment for your .NET projects, how to maintain the docker environment, and even how easy it will be to deploy the whole environment to production in a way that you are actually developing in an environment that isn’t just “like” production. It IS the production environment!
You will learn the basics of Docker, how to use it to develop and how to deploy your “development” environment as the production environment!
- Track
- Agile
- Title
- Real Agile for Real Software
- Abstract
- As the agile revolution continues, more and more companies are wanting to “Do Agile”. Most companies don’t even know why, they just see and hear about other companies having successes. They hire a consultant, who is teaching the “flavor of the day” agile process and pay lots of money for books, tools and training. Most of the time, with limited success.
In this talk, I will explain what Agile software development is meant to be all about. I’ll tell you a bunch of stories about common mistakes I see companies making as they try to become more agile, and what you can do to avoid or overcome these mistakes. In the end, you should leave with a better understanding of the nature of building software in an agile way and maybe even had a few laughs along the way.
Les Brown
More on Les Brown
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Xamarin.Forms Enterprise Application Development
- Abstract
- Create cross-platform mobile applications using Xamarin with dependency injection using Unity. Also, learn how to use configuration files similar to web applications so that your code is not riddled with settings (hard-coded) and can be selected based on the build. Learn how to consolidate your code so you don't have to search various projects for code implementations.
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- Progressing as a Software Developer
- Abstract
The world of Information Technology offers an ever-growing, vast pool of opportunities. As a software developer you are primed to take advantage of the best of those opportunities. Chances are you've worked with a variety of different stakeholders including business analysts, project managers, system administrators, testers and even executive leaders. You may have even served in one of these or other capacities. The broad range of exposure means the career opportunities available to you are virtually limitless. You have to be proactive in pursuing those opportunities.
We will discuss seven key areas and activities you can start focusing on today to ensure you are well-equipped to advance in your career.
- Track
- Other
- Title
- Succeeding as a New Leader in Technology
- Abstract
Navigating the transition from individual contributor to leader can be a difficult endeavor if you are not properly prepared. This transition represents a paradigm shift on many different levels. As you progress in your career, you will undoubtedly encounter this transition. You must be mentally and emotionally prepared to change behaviors and thought patterns that you may have developed over your career to that point.
We will discuss some tips that I have gleaned form my own experience in transitioning from software engineer, to software engineering manager, to director of software engineering.
Maria Brown
More on Maria Brown
Sessions
- Track
- Other
- Title
- Web Security Dojo
- Abstract
Do you want to learn web application penetration testing, but are not sure how to get started? Web Security Dojo is a free open-source, self-contained training environment for learning and practicing web application security testing. The Dojo has everything you need to get started - tools, targets, and documentation! Beginner-friendly presentation.
Inactive User
More on Inactive User
Sessions
- Track
- Java
- Title
- Introduction to Kotlin
- Abstract
A beginner level introduction to Kotlin explaining benefits and shoing some code. This talk advocates using it, covers possible pitfalls, shows you what it looks like, and covers severals points of what it can do. This talk is Android focussed, but also applies to Java in general. Also, I'll try to touch on javascript transpiling if there's time.
Sam Clark
More on Sam Clark
Sessions
- Track
- Other
- Title
- A Nodists Introduction to GoLang
- Abstract
A lot of developers are entering the industry learning on a heavy Ecmascript centric path....When it's time to move on and learn a new language, the big question is.....where do we Go(pun intended)? This talk will be introducing the positive aspects of GoLang, and also concepts that are similar to Javascript to create a transition-friendly approach to learning this language!
Michael Collins
More on Michael Collins
Sessions
- Track
- Functional Programming
- Title
- Building a Phoenix Web Application: Lessons Learned
- Abstract
- Elixir and Phoenix are taking the world by storm. Some say Phoenix may be the new Ruby on Rails. Maybe, maybe not. But regardless, it is a very cool platform for building your next big web application quickly and easily. In this presentation, I'm going to introduce you to Phoenix and explain to you why I chose to use it over the other candidates like Ruby on Rails, Node.js/Express, Go, and ASP.NET Core. I'll tell you all about Phoenix's features and how to build web applications with Phoenix. I'll also use my own application to cover the lessons that I learned and best practices in building Elixir and Phoenix applications to help you to plan for building your own.
- Track
- Javascript/Node.js
- Title
- Use Ember, Here's Why...
- Abstract
- The web is populated by a lot of good frameworks for developing web applications, and new ones appear every day. You may be using Angular or React or are at least getting hit over the head by your friends and peers that are using them telling you that you should start. In this presentation, I'm going to introduce you to Ember, another mature web framework. I'll show you Ember, and help you to understand why you should put it at the top of your technology list for your next web application project.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- Secure DevOps: A Puma’s Tail
- Abstract
- DevOps is changing the way that organizations design, build, deploy and operate online systems. Engineering teams are making hundreds, or even thousands, of changes per day, and traditional approaches to security are struggling to keep up. Security must be reinvented in a DevOps world and take advantage of the opportunities provided by continuous integration and delivery pipelines.
In this talk, we start with a case study of an organization trying to leverage the power of Continuous Integration (CI) and Continuous Delivery (CD) to improve their security posture. Then, we will focus on static analysis, how it fits into Secure DevOps, and introduce you to Puma Scan: a new open-source .NET static analysis tool. Live demonstrations will show Puma Scan identifying vulnerabilities inside Visual Studio and in a Jenkins continuous integration (CI) build pipeline. Attendees will walk away with a better understanding of how static analysis fits into DevOps and a .NET static analysis engine to help secure your organization’s applications.
Edwin Delph
More on Edwin Delph
Sessions
- Track
- Java
- Title
- Using Groovy/Grails as a gateway drug to Web Development with Java
- Abstract
- Learning how to use the Grails framework is a great way to learn Web Development. Groovy is the preferred programming language but Java can easily be used as well. This presentation will show how you can quickly setup an application with Grails, use scaffolding for CRUD operations, and import/use jar files to introduce you to Java development.
Don Doerres
More on Don Doerres
Sessions
- Track
- Home Automation
- Title
- Sonic Handkerchief
- Abstract
Not just a sonic screwdriver. Application of the Ada Fruit Playground. Code, plans, and User Guide posted at github.
Michael Eaton
More on Michael Eaton
Sessions
- Track
- Other
- Title
- Become a Remote Working Pro
- Abstract
- There is no doubt about it, working remotely can be an amazing experience – no commute and wearing pants is optional! Of course, it’s not all rainbows and unicorns since there are challenges to overcome and of course work to be done. This interactive session will answer questions like, “how can I convince my boss to let me work remotely?”, “how can I make sure they don’t forget about me once I start working remotely?” and many more. It will equip you with the tools and techniques for being a successful remote team member.
- Track
- Other
- Title
- Leadership Journey: From Software Developer to Leader
- Abstract
- You’ve spent years working on your skills as a software developer. You measure your days by the number of commits you’ve made and look forward to the daily pairing sessions with your team mates. Then, one day, a leadership position opens up on your team and you start thinking about it. Should I or shouldn’t I? What if I go for it and end up hating it or I’m just not that good at it? What if I love it? How will my day change? In this interactive session, we’ll explore “why leadership”, answer some hard questions and talk about one developer’s path from writing code to leading people and the challenges that have been experienced.
Keith Elder
More on Keith Elder
Sessions
- Track
- Other
- Title
- Building A Highly Scalable Service that Survived A Super Bowl
- Abstract
We use encryption every day without knowing it. Whether it is our hard drives that are encrypted or we buy something online our data (hopefully!) is encrypted. But how do you build an encryption service? And not only that, how do you build one that will stand up to extreme load for a commercial airing during a Super Bowl? Very tough questions no doubt. All sorts of things must be answered like the technology stack and much more. In this session I'm going to tell you how at Quicken Loans we built one of our most important and robust services to date. I'll tell the story of how we overcame adversity of a hard deadline and how our culture played a critical role in our success. I'll also cover the technologies we used, how we chose them and tell one our greatest technical stories most have never heard of the day we launched Rocket Mortgage to the nation on Super Bowl Sunday.
- Track
- Other
- Title
- Productivity: How to get things done in this digital age
- Abstract
- Pick the kids up after school, pay the electric bill on Friday, reviews for team members are due tomorrow, oh and I have to remember to call a team member back about the question they asked yesterday. These are just a few of the things that run through our heads constantly. While some of us have work tasks that are tracked in kanban boards or Jira or TFS or maybe even pencil and paper, there is so much more we have to keep track of. Ugh-- an email just came in, crap, I have to take a survey now. Ok, I'm back...what was I saying...oh yeah, staying productive... getting things done. It is something many information workers struggle with every day. For many, actually being productive doesn’t come naturally. It didn’t come naturally to me, so I set out on a journey to hack myself and change my habits. In this session, we are going to look at some science, psychology, tools, and methods to help us process, track, and ultimately get more things done at work and in our personal lives. Join me as I lay out my own personal struggles and how I hacked myself into being more productive.
Bill Fencken
More on Bill Fencken
Sessions
- Track
- .NET
- Title
- Leveraging Visual Studio 2017, T4 and software factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework
- Abstract
With or without established coding standards and code reviews, application code tends to have a wide variance in implementation when multiple developers are involved. Variations begin to appear over the course of an application’s lifespan due to the introduction of new requirements or improved techniques, etc. Often implemented variations are never refactored due to schedule or workload constraints. With code factories, much of an application can be automatically generated to match a consistent pattern. When new requirements emerge or new methodologies are introduced into the architecture of the application, the factory template author(s) can simply modify their template(s) and re-run the actions to consistently inject the changes without affecting the code written by the development team in the interim.
Applying software factories to solve architecture problems, pattern adherence and skill set gaps.
- Skill set gaps and how proper architecture solves them
- Leveraging patterns to address architecture and skill set challenges
- Using software factories to solve architecture and skill set problems using CodeFactory
Rick G. Garibay
More on Rick G. Garibay
Sessions
- Track
- Cloud
- Title
- Beyond the Hype: Serverless Workloads in the Real World
- Abstract
With the rising popularity of microservices as a an architectural style for system decomposition, solutions built on serverless compute capabilities are becoming more and more attractive for companies of all sizes. From start-ups to the enterprise there are certainly benefits that can be realized in moving from IaaS but as with any technology, there is no silver bullet. In this talk, Rick will share real-world scenarios for leveraging serverless workloads at scale and learnings around the trade-offs, limitations you must understand in order to inform choosing between serverless and traditional hosting infrastructure.
Paul Hacker
More on Paul Hacker
Sessions
- Track
- DevOps/System Administration
- Title
- Any Platform, Any Build; Getting Started with Team Foundation Server Build
- Abstract
- In this session you will learn how to create and manage build processes that automatically compile and test your applications. These builds can be triggered manually or as part of an automated continuous integration process. You can use the VSTS build system to build .NET, Xcode, Android, iOS, and other types of applications with code hosted in VSTS, GitHub, or other providers. Visual Studio Team Services simplifies continuous integration for your applications regardless of what platform you are targeting, or what language you are using.
- Track
- DevOps/System Administration
- Title
- Introducing Azure Resource Management templates
- Abstract
- Does it take you days to deploy your infrastructure? In this session we are going to introduce you to Azure Resource Manager and demonstrate how we create Azure Resource Manager (ARM) templates using Visual Studio 2017 and then deploy the infrastructure to Azure in minutes. We are going to peek under the covers of the ARM templates to show you what is going on inside the template and why you should be implementing it today. We will look at the Azure portal and walk through the infrastructure we deployed. Lastly we will look at the Azure Resource Template Visualizer and show you a great way to use it to get you started with ARM template creation.
John Hannah
More on John Hannah
Sessions
- Track
- .NET
- Title
- Leveraging Visual Studio 2017, T4 and software factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework
- Abstract
With or without established coding standards and code reviews, application code tends to have a wide variance in implementation when multiple developers are involved. Variations begin to appear over the course of an application’s lifespan due to the introduction of new requirements or improved techniques, etc. Often implemented variations are never refactored due to schedule or workload constraints. With code factories, much of an application can be automatically generated to match a consistent pattern. When new requirements emerge or new methodologies are introduced into the architecture of the application, the factory template author(s) can simply modify their template(s) and re-run the actions to consistently inject the changes without affecting the code written by the development team in the interim.
Applying software factories to solve architecture problems, pattern adherence and skill set gaps.
- Skill set gaps and how proper architecture solves them
- Leveraging patterns to address architecture and skill set challenges
- Using software factories to solve architecture and skill set problems using CodeFactory
Jay Harris
More on Jay Harris
Sessions
- Track
- Design (UX/UI)
- Title
- Design for Non-Designers from a Non-Designer
- Abstract
- Elegant design requires talent, but talent is not a prerequisite for avoiding bad design. If you lack artistic touch and prefer rules and logic over the ethereal art form, the fundamental tenets of composition can enable you to apply Design as a programming paradigm. Spend an hour with a coder learning the logic of design—hacking pixels instead of bits—and free yourself of your excuse for horrible designs.
- Track
- Other
- Title
- Growth: Moving Beyond “Independent Developer”
- Abstract
- You’ve made the decision to go out on your own. Do you want to stay an Army of One or do you strive for something more? Spend an hour discussing the obstacles you will encounter if you go it alone and the obstacles you will encounter if you don’t. Learn philosophies that will help you on your way to an Army of Two, from before, to during, and for after your transition to Employer. Move beyond Independent Developer, and switch from “Me” to “Us”.
Daniel Haskell
More on Daniel Haskell
Sessions
- Track
- Agile
- Title
- DevOps ALM in Visual Studio Online
- Abstract
Visual Studio Online and Team Services are quickly adding features that support the immediacy a DevOps Application Lifecycle Management requires. Learn about Release Planning Tools, Dashboarding, Custom Alerts, API availability and many more tools that will help your team reduce risks, report progress and comminucate in real time. The session will be interactive and walk the participants though a mock project that uses the many different ALM Tools now available in Team Services. If you are looking to increase collaboration, boost your productivity or discover new way to report KPI's, then you should definitely attend this session. Co-presented by Daniel Haskell.
Rob Hewitt
More on Rob Hewitt
Sessions
- Track
- DevOps/System Administration
- Title
- The painful path to CI/CD – one company’s initial successes and failures
- Abstract
- Discover how Choice Hotels is beginning the transition from development chaos to DevOps automation. This talk takes a look at our past and why we need to become more automated. It then looks at what we are doing now to move us toward the holy grail of continuous deployment. We have had some successes and some failures, but most of all we have a vision of where we need to get to and how to achieve this vision. This talk is meant for engineers and managers who have not yet started down the path of DevOps automation. We have some advice and some anecdotes that will help you avoid some pitfalls along the way.
Chris Holwerda
More on Chris Holwerda
Sessions
- Track
- .NET
- Title
- Identity Server : From zero to "Are you authenticated" \m/
- Abstract
- A play on Jimi Hendrix's "Are you experienced" , this session will go over what identity server is, when and why you would want to use it, and demonstrate how to use it to authenticate with Facebook, Google, and a custom provider. Along the way valuable tips and tricks will be uncovered to help you use some of the more hidden tracks to get you in a groove.
Christopher Huie
More on Christopher Huie
Sessions
- Track
- Python
- Title
- Machine Learning with Python
- Abstract
- Basic Machine Learning algorithms and tools using scikit-learn.
- Track
- Python
- Title
- Web Scraping with Python
- Abstract
- How to build a web scraper using Python. A basic intro to Web scraping with Python with real-world examples.
Justin James
More on Justin James
Sessions
- Track
- Javascript/Node.js
- Title
- Angular Unit Testing from the Trenches
- Abstract
- For a number of years now we have been hearing about all of the benefits that automated unit testing provides like increasing our quality, catching errors earlier, ensuring that all developers are testing in the same manner and deploying updates with high confidence that nothing will break. Testing a Web UI though was difficult and fragile which meant that typically we had no automated unit test for our Web UI. This is no longer the case with the latest release of Angular. Unit testing is now a first class citizen in Angular.
Out of the box, the project generated by the Angular CLI has unit testing setup with Karma and Jasmine and includes sample tests. Generating new components, services, and pipes includes the unit test Spec file already wired up. Thus allowing you to focus on writing your unit tests and not on the infrastructure needed to get them running. The barriers to writing unit test have been destroyed.
This talk will walk through getting started unit testing your Angular components, services, and pipes. Along the way I will share the tips and tricks that I have learned as I have implemented unit testing on my Angular projects at a Fortune 100 company. You will walk away ready to immediately implement unit testing on your Angular project.
- Track
- Other
- Title
- Everyone is a Public Speaker
- Abstract
You may not realize it but we are all public speakers even if we do not get up on a stage in front of an audience at a conference. Public speaking is all about effectively communicating our ideas to others. We have all been training our whole lives to be better communicators. In today's job market being an effective communicator is a critical skill even if you are a developer who just wants to write code all day. I will share the tips and tricks that I have learned on my journey from a developer who avoided giving any kind of presentation to a professional speaker that has given over 100 talks in the past 3 years. You will walk away being a better communicator and knowing how to given an effective presentation.
Matthew Jones
More on Matthew Jones
Sessions
- Track
- .NET
- Title
- Demonstrating Common Design Patterns with C#
- Abstract
- The influential book Design Patterns - Elements of Reusable Object-Oriented Software by the Gang of Four was released way back in 1995, and the patterns named within have had a huge impact within the software development community. In this session, we will demo several sample applications written in C# which implement patterns described in the book, and talk about how and when these patterns would be useful to our projects. We'll discuss why patterns are targets of refactoring, not design. We'll also talk about the three general types of patterns (Creational, Structural, Behavioral) and demo some of the more common types of each (e.g. Abstract Factory, Prototype, Composite, Strategy, etc.). We'll even discuss why patterns such as Adapter and Facade look so similar but are used differently. Come along with me as we learn what patterns are, why they're useful, and how to spot them.
- Track
- Other
- Title
- The Fundamental Laws of Software Development
- Abstract
There exists a set of fundamental adages, quotes, and philosophical "laws" which seem to govern how software is developed in the modern age. This fast, funny session will explore what these laws are, and discuss how we can use them to our advantage. From why everything takes longer than we expect (Hofstadter's Law) to why everyone seems to enjoy arguing over trivial things (Sayre's Law), we'll talk about the fundamental forces that guide how we develop software in the modern world. Come with an open mind, stay for the jokes, and you might even learn something you can take back to your job with you!
Joe Jorden
More on Joe Jorden
Sessions
- Track
- Javascript/Node.js
- Title
- Building a Web Site with Angular 2
- Abstract
In this session I will show you how to build a web site using Angular 2. To do this I will build a web site for AlsoRann Co., a (fictitious) medium sized company that wants to display a catalog of their products on their web site and allow users to place orders for them. As a bonus, I will also show you how to debug your app using Visual Studio Code.
Uma Kannikanti
More on Uma Kannikanti
Sessions
- Track
- Other
- Title
- BigData - A simplified solution for Batch and Real-time data processing - Spark Structured Streaming
- Abstract
- Technology has evolved since enterprises last envisioned their data pipeline. As we are stepping into the age of Continuous Application, this session will explore how Choice Hotels use Structured Streaming and developed an end-user self-service ETL framework
Avinash Kaza
More on Avinash Kaza
Sessions
- Track
- Javascript/Node.js
- Title
- UI state management using Reactive Observables and Subjects
- Abstract
- Event driven programming is great, but as application complexity starts increasing and number of subcomponents which depend on a single state object increases, we end up in "event spaghetti" which manifests as circular dependencies, unexpected multiple-renders of UI, race conditions during page load etc
A solution to this is to adopt reactive programming paradigm and start viewing everything as a stream of data which can be thought of as a sequence of ongoing events ordered in time and using observer design pattern to maintain handlers (observers) for these events.
In this session, I will demonstrate the problems of event driven programming in UI as the complexity of an application grows and then explain fundamental concepts of reactive programming and how we can use reactive stream libraries to create and maintain state in modern SPAs.
Matt Klein
More on Matt Klein
Sessions
- Track
- Functional Programming
- Title
- Fortify your C# and Java code by having your signatures tell the truth with Option and Either
- Abstract
Learn how to make your API and method calls honest and more expressive by utilizing the Option<T> and Either<L,R> data wrappers and learn how to use those data structures.
In this hour we’ll talk about how to replace null, empty string, negative integers, and other “sentinel” values with Optional<T>, how to use it once we’ve got one, and how to get your “optional” values back out.
We’ll also discuss a strategy to remove the throwing of exceptions in your code by using Either<L,R> so we can get strongly typed error handling (thank you compiler!). We’ll see how to pass back exceptions when an error occurs (rather than throwing them) or how to remove them altogether and instead use expressive error values that are strongly typed.
We’ll see implementations of both structures in C# and Java and provide references to libraries in NuGet and Maven that already contain these data structures (and more!).
David Koontz
More on David Koontz
Sessions
- Track
- Functional Programming
- Title
- Introduction to Elm
- Abstract
- Elm is a delightful language for reliable webapps. Elm's focus is on being fast, friendly, and safe. Everything from extremely friendly error messages, to a package manager that enforces semantic versioning at the API level, everything about Elm shouts "come on over and get a hug!". Come spend some time getting to know this wonderful compile-to-JavaScript language which helps you say goodbye to your days of "undefined is not a function".
- Track
- Functional Programming
- Title
- Introduction to Functional Programming
- Abstract
- You may have heard that functional programming is quite different from object oriented programming. This session will give you a sense of how FP approaches problems and what the core ideas behind this very different paradigm are. This exploration will be language agnostic and can be applied to any language you work in.
- Track
- Functional Programming
- Title
- Monoids and Functors and Monads, oh my!
- Abstract
- There are many unfamiliar terms that you run into when exploring functional programming. Some of these terms have to do with naming structures that are not generally given a name in other styles of programming. Some common examples of these structures are monoid, functor, and monad. You can think of these as "design patterns for functional programming". This session will give you an understanding of the big idea behind each of these patterns and where you might apply them. There's a good chance you're already using some of them!
Steve Lacy
More on Steve Lacy
Sessions
- Track
- Functional Programming
- Title
- Drinking the Elixir
- Abstract
- Elixir is a language designed to run on the BEAM (erlang) virtual machine with a functional interface. It has several features which set it apart from other languages, including a fail-fast mentality. This, along with cross-machine process messaging, allows massive systems to be built and scaled with ease.
This talk will be an in-depth introduction to Elixir and the architecture of Elixir applications.
- Track
- Javascript/Node.js
- Title
- Node - the better parts
- Abstract
- Node is pretty awesome. Until you hit one of the many design flaws of the language or engine...
I'll bring enlightenment to system architecture with Node, and show ways of improving API and system design.
es6/7 will be used heavily along with many features they bring.
Inactive User
More on Inactive User
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Geolocation with Google Maps and Google API's
- Abstract
- Geolocation has become an increasingly important part of the mobile app experience. We use geolocation based apps for everything from ordering dinner to reporting an emergency.
While there are many API's and databases for geolocation information, Google Maps and Google Places is far and away the most used and most powerful. In this session, you'll become familiar with both Google Maps Javascript API and the Google Places API as an HTML5/Javascript based mobile app is created to locate, map, and provide information about local restaurants. Along the way, you'll learn how to access the Maps API, send current geolcocation information from device and display a local map.
You'll also learn how to drop location "pins" on the map and display information about map locales from the Google Places API.
After this session you should be ready to build your first geolocation based applications.
- Track
- Javascript/Node.js
- Title
- Single Page Apps with React
- Abstract
- The traditional model of navigating between pages within a web app is both inelegant and dated. Modern apps are often designed around a single page model, where different views are loaded and unloaded into the same page.
The single page model is greatly facilitated by the React library. In this section the basics of the React library will be reviewed through several code examples creates with React. This session will first examine the Automatics UI State Management features of React. React's model allowing lightening fast DOM manipulation will be looked at next, and finally how React's core API's allow the creation of a hierarchy of small visual components that can be composited to create a complex UI.
Participants in this session will leave not only with a fundamental understanding of how React works and facilitates a single page model, but with several code examples they can use as the basis for their own exploration of React.
Michael Manzano
More on Michael Manzano
Sessions
- Track
- HTML/CSS
- Title
- CSS with SASS(y) superpowers
- Abstract
- If you have ever found yourself passing up on opportunities to style your website because of time constraints, lack of knowledge or avoidance of CSS nightmares, then this topic is for you. Learn how to make visual feats more easily attainable through the CSS extension language, Sass.
- Track
- Javascript/Node.js
- Title
- Vue.js Transition Effects
- Abstract
- Want to bring static elements on your site to life with transitions and animations? Don't know what the difference between the two are? In this session we will go over what Vue.js offers to easily achieve both along with the hooks that can be set in place to create practical and appealing visual effects.
- Track
- HTML/CSS
- Title
- Why is my CSS not working?!
- Abstract
- It happens every day. You optimistically write the most basic CSS (Cascading Style Sheet) code to modify the UI’s (user interface) appearance of your website and are met with one of two results. Either nothing takes effect or the wrong thing gets affected. Pessimism eventually prevails and you abandon ship on a good idea leaving in place a wasted opportunity to enhance the user experience. In this presentation we will run through common CSS problems and present tips and tricks that will make you better at identifying and correcting UI issues.
(I have given this talk previously and used the slides seen below)
http://slides.com/mikezan0/deck#/
Koshin Mariano
More on Koshin Mariano
Sessions
- Track
- Artifical Intelligence (AI)
- Title
- Building Bots with the Microsoft Bot framework
- Abstract
- Chatbots are all the rage, from waiting in line to buy your concert tickets to helping you order pizza so you never have to leave your house. We look at how you can make a conversational bot with the Microsoft Bot Framework
Alex Martin
More on Alex Martin
Sessions
- Track
- Home Automation
- Title
- Hacking Apple HomeKit with Homebridge
- Abstract
Apple Homekit is about to come into you living room in December with HomePod. What is the current state of HomeKit compatible accessories? Not that great many would say, they are not as common as one would hope and they are usually more expensive then similar accessories compatible with other home automation platforms. What if that was wrong, what if by simply running some software on a raspberry pi, you could automate everything in your home and have Siri do it for you. With Homebridge you can. I will go over the setup of my own home, and dive into the code of a node application I wrote myself to automate my garage door.
Robert Mckay
More on Robert Mckay
Sessions
- Track
- Other
- Title
- Offensive Security
- Abstract
- penetration testing methodologies and the use of the tools included with the Kali Linux distribution (successor of BackTrack) attacking and penetrate various live machines in a safe lab environment.
Vishal Mehta
More on Vishal Mehta
Sessions
- Track
- QA/Testing
- Title
- Testing Testing 123 - Getting Started With Automated Tests
- Abstract
Automated testing give programmers the confidence they need to make changes in their code and release new components faster by reducing the need for manual testing. In this talk we'll go over some core concepts of automation such as CodedUI, NUnit, MOCK, Dependency Injection, and Integration, how to implement these concepts, and when to use them.
Troy Miles
More on Troy Miles
Sessions
- Track
- Cloud
- Title
- AWS Lambda with C# and Nancy
- Abstract
- AWS Lambda is Amazon's "serverless computing" offering. The beauty of Lambda isn't that it is serverless since it isn't, it is that it requires minimal configuration and supports many programming languages including C#.
Nancy per its documentation is a lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono. If you are familiar with Node, think of Nancy as Node for C#. The project is open source and began hosting on GitHub in January 2011.
Unlike ASP.NET MVC or even Web API, Nancy doesn't have much overhead. It allows you to handle the major HTTP verbs directly and create a response using an elegant Domain Specific Language. Nancy lightweight design is also performant, so it meshes well with Lambda.
In this talk, we will build our lambda service using C# and Nancy. We will discuss all of the major points along the way. We will learn to handle HTTP Get, Post, Push, and Delete. How to read and set the headers. We will grab data from a database. And then quickly change our response data to JSON, XML, or something custom.
Luis Montes
More on Luis Montes
Sessions
- Track
- Javascript/Node.js
- Title
- Intro to Web Bluetooth, USB, MIDI, Sensors, and NFC
- Abstract
Wait, the web can do all those things?
Yup! And you don't even need phonegap/cordova, electron, or react-native to do them. Let's go through some practical uses for these APIs and quickly get started using them.
Bonus: We can integrate browser hardware APIs to interact with things in Virtual and Augmented Reality web apps!
Andres Nava
More on Andres Nava
Sessions
- Track
- Cloud
- Title
- Building "Serverless" Application using Azure Functions
- Abstract
- In this session we will cover how to leverage event-based "serverless" compute to build scalable applications using Azure Functions.
You'll learn how Azure Functions provides a frictionless platform that abstracts away server details, only charges for what you use and manages scaling so you can focus on your application's business logic.
From simple one-off functions, to building complex workflow, Azure Functions can serve as a cost-effective and scalable platform to develop your backend services.
Jerry Nixon
More on Jerry Nixon
Sessions
- Track
- Artifical Intelligence (AI)
- Title
- Artificial Intelligence for everyone, even you
- Abstract
- Science fiction is now science fact. Hardware, software, and data science have advanced to where we can finally look at artificial intelligence as a commodity, not the work of specialists in the field. Azure unlocks for the path for advanced users, while normalized wrappers like Cognitive Services have given developers & armchair scientists access to easy-to-use, easy-to-deploy, affordable solutions for everyday apps. In this session, let's look at the approach of this new age and how to make the most with the skills you already have.
Melissa Noelle
More on Melissa Noelle
Sessions
- Track
- Other
- Title
- A Talk I'm Unqualified To Give: Imposter Syndrome
- Abstract
- Imposter syndrome is super common in our field--even more so for women. Let's talk about what it is, what it looks like, what we can do when those thoughts pop up, and how we can help our friends/co-workers who might have it.
- Track
- Other
- Title
- Making Sure You're Solving The Problem
- Abstract
- This is a talk about metrics: finding good ones, making sure they align with your goals, and presenting them in a way that's compelling.
- Track
- Other
- Title
- Product Thinking vs Code Thinking
- Abstract
- I recently transitioned from being a developer for nigh-on 10ish years and now I've been a product manager for a year. This talk is just a reflection of some of my thoughts about the differences between the two ways of thinking.
Jon Nyman
More on Jon Nyman
Sessions
- Track
- Functional Programming
- Title
- Introduction to F#
- Abstract
Learn the basic ins and outs of F#! With a focus on syntax and basic functional programming concepts.
See http://jnyman.com/2017/10/15/desert_code_camp_2017
- Track
- Functional Programming
- Title
- Making Impossible States Impossible with F#.NET
- Abstract
In 2016 Richard Feldman gave a talk on how to make impossible states truly impossible in Elm.js.
Among the most time-consuming bugs to track down are the ones where we look at our application state and say "this shouldn’t be possible." Learn how to use these techniques in F# so you can code with confidence. See https://www.youtube.com/watch?v=IcgmSRJHu_8
- Track
- Functional Programming
- Title
- Scripting with F#.NET
- Abstract
Sometimes you need to get some temp code up and running for a project. Maybe you need to hit a database and get some information from it. Learn how to write scripts that can help you get work done fast and correctly!
- Track
- Database (SQL/NoSQL)
- Title
- SQL Server Data Tools - Bringing SQL Language to the Modern Age
- Abstract
SQL Server Data Tools (SSDT) brings the tooling power of other programming languages to SQL. Making it so you can refactor your database and routines with confidence. Learn how you can use SSDT to put your database code in a repository just like you do all of your other code. Come learn about how to get started with SSDT and make SQL a first class citizen.
See http://jnyman.com/2017/10/15/desert_code_camp_2017
Inactive User
More on Inactive User
Sessions
- Track
- DevOps/System Administration
- Title
- DevOps: Real-World Best Practices
- Abstract
- This talk will cover the fundamentals of DevOps with an emphasis on real-world applications. We'll start by briefly covering what DevOps means in theory and in practice. Then we'll cover the fundamentals of an effective DevOps strategy, infrastructure-as-code, the most important DevOps tooling, and patterns and anti-patterns that we see in the field.
The speaker is a co-founder of Gruntwork (http://gruntwork.io) where we've worked with hundreds of engineers and multiple software teams worldwide to setup a best-practices DevOps infrastructure in the cloud (usually AWS). The presentation will incorporate all the learnings from this wide range of experience.
- Track
- DevOps/System Administration
- Title
- Terraform: Intro and Best Practices
- Abstract
- Terraform is the modern de facto way to build infrastructure as code in the cloud. In this session, we'll start with what is Terraform and proceed through to advanced usage and best practices. The speaker has done professional, paid Terraform training for 100+ engineers and more than 10 companies, but this session will be free!
Ken Patterson
More on Ken Patterson
Sessions
- Track
- .NET
- Title
- Security Patterns and who cares: can you survive without them?
- Abstract
- One upon a time I found out just how important it is to “pay attention” to security. This discussion presents goals and methodologies for building more secure applications then the other “guy”. This will focus on internal security patterns using MVC, WebAPI, and C# using Windows credentials including how to design applications using the Elevated Permissions pattern. Come see, participant, and help us all be more secure. P.S. most of this also applies to Internet facing applications.
- Track
- .NET
- Title
- The Middle Tiers: Domain, Service, and generic Repository Pattern.
- Abstract
- In order to be predictable and give yourself the maximum amount of time to develop software for the client, having a solid infrastructure that is repeatable easy to build and maintain will get you there. To get started see how my teams are using a generic repository project/template, Unit Of Work, Entity Frameworks, and some guidelines for building a service tier, and how and when to build Domain models. All of this using .Net C# code with examples and discussion.
Wolf Paulus
More on Wolf Paulus
Sessions
- Track
- Cloud
- Title
- Java for Serverless Compute with AWS Lambda
- Abstract
Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Serverless computing allows running applications and services without thinking much about servers, runtime resources, or scaling issues.
This talk presents a simple serverless computing application, intended to be used as a template project or model that should help you getting started more easily.
Here are the cornerstones:
- Java 8 is used as the implementation language of the serverless function(s)
- AWS Lamba is used as the Serverless runtime
- Gradle is used as the build automation system to compile, build, and deploy the serverless function(s).
- JUnit 4 is used for unit-testing
- Jackson is used as the the JSON processor to serialize and deserialize objects
- Apache Log4J 1.2 is used as the remote logger on the serverless runtime system
You will walk away with solid knowledge about how to write, test, and deploy Java code on Amazon's AWS serverless runtime platform.
You will find out how to easily expose your function as a micro web service through the API-Gateway - and leave with a template project in hand, a blueprint or starting point, for your very own Java-based serverless cloud project.
Hope to see you at the session.
Cheers
Wolf
Isidro Perez
More on Isidro Perez
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Intro to React Native
- Abstract
Introduction to the power of React Native. Let's see how React Native will transform the way we develop Mobile Apps. All you native developers get ready. It's going to be a bumpy ride.
Joe Rawlings
More on Joe Rawlings
Sessions
- Track
- Other
- Title
- The 5 Interviewing Tools You Need To Land Your Dream Development Job
- Abstract
In this hour, I'll introduce what I believe are the tools you need to land your dream software engineering job. Whether you are still in college, just graduating, or have years of experience in industry, at the end of this talk, you will be set on a path where application and mastery of these tools will enable you to succeed.
In addition to exploring the required hard skills like knowledge of Computer Science theory, algorithms, and data structures, we'll explore the almost-as-formidable foe, the yin to the hard skill question's yang, soft skill questions. For example, how do you answer a question like "Describe your most prominent career failure" without looking like you just pants yourself. Moreover, we'll discuss the role of culture fit in interviewing and, if you want to drink the company kool-aid, how to show up like you have achieved the Ballmer Peak (mixed metaphors, I know ;).
Rob Richardson
More on Rob Richardson
Sessions
- Track
- Javascript/Node.js
- Title
- Post jQuery
- Abstract
- jQuery was a wonderful tool that paved over the irregularities of browsers and offered a simple interface for making very powerful applications. Today with evergreen browsers and modern JavaScript, we no longer need this crutch. Let's look at our favorite jQuery techniques like $.ajax() and $(...).click() and $(...).addClass() and compare this to the code we'd write in modern JavaScript. Sprinkled in are great ES6 techniques like rest and spread, promises and fetch. Challenge yourself on your next project to see if you can run in a post-jQuery world.
- Track
- .NET
- Title
- What is this .NET Core thing anyway?
- Abstract
- Have you heard the buzz? .NET Core 2.0 is released, and with it a great compatability story with regular .NET Framework. Want to get started and don't know where to look? Or played with some old project.json projects and want to get restarted? Come journey with us through the fundamental principles of .NET Core, look at how these evolved during the development of .NET Core, and see how you can get started today building and deploying .NET Core products.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- Getting Started Writing Roslyn Analyzers
- Abstract
- This session will introduce you to the fascinating world of semantic code analysis. We've had static code analysis for a long time, and it does a lot of great things; but Roslyn provides developers the ability to semantically analyze code to detect richer problems. Roslyn also enables the ability to provide a fix for potential problems.
This session starts out with an overview of the types of Roslyn Analyzers then goes into the basics of semantic code analysis with Roslyn. An example of a NuGet package with a built-in semantic analyzer and walks through some of the library-specific analysis it performs
- Track
- .NET
- Title
- Why Everything Traces Back to SOLID
- Abstract
- There are lots of methodologies and different design styles in our industry. Many try hard to differentiate from the others; but what if I told you that they’re really all based on the same five principles? In this session I’ll level-set on SOLID
* Single Responsibility Principle (SRP)
* Open Closed Principle (OCP)
* Liskov Substitution Principle (LSP)
* Interface Segregation Principle (ISP)
* Dependency Inversion Principle (DIP)
Then we detail the various principles around other methodologies/styles including Service-Oriented Architecture (SOA), Domain Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Functional Programming, Agile Software Development, and even Database Normalization. We will also detail some common patterns and how they are embodiment of at least one of the principles.
This is then followed up with some guidance on how SOLID really isn’t Object Oriented Design (OOD) specific and these uses of SOLID outside of just OOD are just and example of how it can be used in many places and in many ways.
Vincent Serpico
More on Vincent Serpico
Sessions
- Track
- Artifical Intelligence (AI)
- Title
- AI for Your Business - An Unfair Competitive Advantage
- Abstract
- Demystify AI and machine learning. How can the AI revolution help your business? What can you do with your data and predictive analytics? The answer: A LOT! Learn how you can get started and make real progress towards applying AI and Machine Learning to provide your business an unfair competitive advantage.
Nathan Smith
More on Nathan Smith
Sessions
- Track
- DevOps/System Administration
- Title
- Making Your Apps Suck Less - with Application Performance Management
- Abstract
Nothing is worse than littering code with stopwatches, trace statements or any other "great" solution out there for getting insight into how it's performing in the real world. Application Performance Management tools such as AppDynamics, New Relic, DynaTrace, etc. allow deep inspection at run-time and drastically shorten the time to identify and resolve (MTTI and MTTR in the ITIL vernacular). This will walk through a sample application using AppDynamics and discuss how we typically go about identifying issues in production and how we identify them before they even ship using tools such as dynamic baselines, release comparisons, etc.
Daniel Spiegelman
More on Daniel Spiegelman
Sessions
- Track
- Other
- Title
- Master Faster Refactoring
- Abstract
Have you ever changed a method name and found yourself scanning your code, fixing red lined statements, then rebuilding until the errors go away? What about deciding you really wished that class was an interface? Did you ever wonder about an easy way to clean up duplicate code?
These changes and many more can be made easy by utilizing the built in refactoring tools in the IDE you already use every day!
Join Daniel Spiegelman, a Software Development Engineer at Amazon, and become a master of faster refactoring as he shows off some examples using the IntelliJ IDE including:
- Renaming a class in two key strokes
- Extracting an interface out of an implementation
- Creating a method out of highlighted code
- So much more!
Barry Stahl
More on Barry Stahl
Sessions
- Track
- Artifical Intelligence (AI)
- Title
- A Developer's Survey of AI Methodologies
- Abstract
- Artificial Intelligence is far more than just machine learning. There are a variety of tools and techniques that systems use to make rational decisions on our behalf. In this survey designed specifically for software developers, we explore a variety of these methods using demo code written in c#. You will leave with an understanding of the breadth of AI methodologies as well as when and how they might be used. You will also have a library of sample code available for reference.
- Track
- Artifical Intelligence (AI)
- Title
- Building AI Solutions that can Reason Why
- Abstract
- One of the big problems with Artificial Intelligences is that while they are often able to give us the best possible solution to a problem, they are rarely able to reason about why that solution is the best. For those times where it is important to understand the why as well as the what, Hybrid AI systems can be used to get the best of both worlds. In this introduction to Hybrid AI systems, we'll design and build one such system that can solve a complex problem for us, and still provide information about why each decision was made so we can evaluate those decisions and learn from our AI's insights.
Inactive User
More on Inactive User
Sessions
- Track
- QA/Testing
- Title
- Automating QA with Code-free Scripting
- Abstract
- QA Automation is one of the most sought after fields in the tech industry. Companies spend thousands creating and maintaining automation frameworks with dedicated engineering teams, but with the right tools and a bit of planning even the most technically illiterate team member can contribute to automation efforts.
Eric Stoltze
More on Eric Stoltze
Sessions
- Track
- Cloud
- Title
- Azure Quick Deployment Tools
- Abstract
- Azure has many ways that we can quickly start using the cloud with little to no startup time required. This session will include topics like Azure Templates, Azure Automation, DevLabs, and more to help build and manage the cloud quickly and more efficiently.
Jeff Strauss
More on Jeff Strauss
Sessions
- Track
- Javascript/Node.js
- Title
- JavaScript Futures: ES2017 the Road Ahead
- Abstract
- Development teams are now using the exciting—and extensive—new JavaScript features available within ES6. Yet, as adoption has spread and projects have adapted, the language continues to evolve and expand under Ecma TC39. Last year, two features were quietly added for ES2016. In January, the committee marked another handful of improvements final for the release of ES2017.
One thing is certain: the JavaScript community is not slowing down! Investigate the new and proposed features of JavaScript. Understand the ES.Next maturity stages and the TC39 review process. And most of all, become empowered to prepare for what lies ahead.
- Track
- Other
- Title
- The Impact of Leveraging Open Source
- Abstract
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.
Thomas Thornton
More on Thomas Thornton
Sessions
- Track
- Other
- Title
- Vim 101
- Abstract
- Step your text editing game up with a real text editor! Whether you would like to use Vim as your primary development environment, or just need a better text editor, come learn the basic elements of the best text editor ever created.
- Track
- Other
- Title
- Vim Macros for Fun and Profit
- Abstract
- Take your Vim game to the next level by learning Vim macros. We all know the programming concept DRY (don't repeat yourself), why repeat yourself when you're editing text? If you've ever had a monotonous text editing task, learn how you could have automated the solution with Vim macros.
Dave Townsend
More on Dave Townsend
Sessions
- Track
- Cloud
- Title
- Serverless Event Driven Architectures
- Abstract
- Serverless has a lot of hype around it right now as the next wave in the history of compute. With all of the big cloud providers trying to catch this wave, that hype appears to be not unfounded. Serverless architectures provide a way to build highly scalable event-driven distributed systems by leveraging managed cloud services and (at the core) functions as a service (FaaS).
In this talk we discuss what it means to be serverless, primary use cases for serverless, being event-driven, and the pros/cons of going serverless. In the last part of the talk we will touch on how to leverage the Serverless Framework to start building these distributed event-driven architectures.
Brenna Trout
More on Brenna Trout
Sessions
- Track
- Database (SQL/NoSQL)
- Title
- The Myth of NoSQL
- Abstract
"It's great that we have some of the data and can just tell you in advance when we need additional information for analysis or reporting"
- said no Product Owner ever
NoSQL databases are an alternative to traditional relational databases that are built on key-value-pair (KVP) data stores and can offer advantages over relational models with regards to flexibility and performance.
In this talk we'll look at some of the benefits of including NoSQL as part of our solution, dive into the tradeoffs that accompany this (including the inherent lack of BI functionality and model management), and offer solutions to help address the gaps by expanding our system architecture to ensure the right tool for the right job.
Mark Tucker
More on Mark Tucker
Sessions
- Track
- Other
- Title
- Create an Amazon Alexa Skill in 9 Minutes or Less.
- Abstract
Using the Alexa Skill Serverless Starter Template, we will create a fact skill and customize it in 9 minutes or less. The remaining time will be spent discussing the skill code, answering questions, and exploring what makes a good Alexa skill. Join the Alexa Developers meetup at http://bit.ly/alexa-meetup
There might be a chance for you to walk away with an Echo Dot or a book on Voice User Interface Design.
Mark Tucker, Alexa Champion
Mike Ulichny
More on Mike Ulichny
Sessions
- Track
- Agile
- Title
- DevOps ALM in Visual Studio Online
- Abstract
Visual Studio Online and Team Services are quickly adding features that support the immediacy a DevOps Application Lifecycle Management requires. Learn about Release Planning Tools, Dashboarding, Custom Alerts, API availability and many more tools that will help your team reduce risks, report progress and comminucate in real time. The session will be interactive and walk the participants though a mock project that uses the many different ALM Tools now available in Team Services. If you are looking to increase collaboration, boost your productivity or discover new way to report KPI's, then you should definitely attend this session. Co-presented by Daniel Haskell.
Hilary Weaver-Robb
More on Hilary Weaver-Robb
Sessions
- Track
- QA/Testing
- Title
- Testing RESTful Web Services
- Abstract
- A lot of folks doing testing (QAs, BAs, and devs alike) have experience testing applications on the front end – a graphical user interface on a website, or a mobile app. One of the often missed parts of these applications is the web services or REST APIs that power those interfaces. In this session we’ll focus on RESTful web services – what they are, how (and why) to do functional and exploratory testing, how we can automate some tests using C#, and tools that we can use to help us test them. Attendees will walk away with the understanding, resources, and techniques they need to effectively test and write automation for REST services.
- Track
- QA/Testing
- Title
- Your QA Should Be Your BFF
- Abstract
- Developers and QA have historically had an adversarial relationship, but it doesn’t have to be that way! In this talk we’ll go through the various reasons that developers hate QA, why some of those perceptions exist, and how to remedy them so that developers and QA can work better together and maybe even get along! Attendees will take away ideas to help their teams work together more efficiently by understanding where their QA are coming from, helping to level them up, and hopefully getting along better!
Cody Weisenberger
More on Cody Weisenberger
Sessions
- Track
- QA/Testing
- Title
- Testing Testing 123 - Getting Started With Automated Tests
- Abstract
Automated testing give programmers the confidence they need to make changes in their code and release new components faster by reducing the need for manual testing. In this talk we'll go over some core concepts of automation such as CodedUI, NUnit, MOCK, Dependency Injection, and Integration, how to implement these concepts, and when to use them.
Derik Whittaker
More on Derik Whittaker
Sessions
- Track
- .NET
- Title
- Building Multi-Targeted .Net Libraries with .Net Standard
- Abstract
- Learn how to build a .Net library that is multi-targeted. In this session we will learn how to build library which is .net Core and .net Full Framework consumable. We will build our .Net Standard library in Visual Studio for Mac and then run our application on both the Mac and PC.
Griffin Wiebel
More on Griffin Wiebel
Sessions
- Track
- HTML/CSS
- Title
- Hidden Powers of Native CSS
- Abstract
- As browsers begin to implement experimental and newer CSS features , the question may arise: Do we need preprocessors anymore? In this talk, we will discuss some of the newer CSS features you may have heard of (flexbox, variables) and some experimental native CSS implementations on the rise you may not have heard of (color modifications, mixins)
Chris Woodruff
More on Chris Woodruff
Sessions
- Track
- .NET
- Title
- Developing ASP.NET Core 2.0 MVC Apps for International Users
- Abstract
- Creating a website with ASP.NET Core Internationalization will allow your site to reach users that speak more than English. ASP.NET Core 2.0 provides services and middleware for localizing into different languages and cultures. This talk will also demonstrate how to change currency and date formats based on your user's location.
- Track
- .NET
- Title
- Using Hexagonal Architecture to Enhance Your ASP.NET Core 2.0 Web APIs
- Abstract
- Over the years there have been multitudes of issues with software design and development. These include the following:
- Software can’t be tested well with automated test suites because part of the logic needing to be tested is dependent on oft-changing front end UI’s and API endpoints
- impossible to shift from a human-driven use of the system to a batch-run system
- difficult or impossible to allow the program to be driven by another program when that becomes attractive
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 projects.
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- Developing for Microsoft HoloLens
- Abstract
- The Microsoft HoloLens, the first fully untethered, holographic Windows computer brings with it a new wave of holographic development. This talk will cover how the basics of the device, how it works, and how you can start developing holographic applications today using Unity.