Desert Code Camp - 2017.1 SessionsA list of all of the sessions at Desert Code Camp - 2017.1en-usDesert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=15625 Tips for Cultivating EQ in the WorkplaceLearning 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.Thu, 14 Sep 2017 15:51:19 Z2017-09-14T15:51:19ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1416A Developer's Survey of AI MethodologiesArtificial 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.Fri, 19 May 2017 10:30:28 Z2017-05-19T10:30:28ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1384A Nodists Introduction to GoLang<p>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!</p>Tue, 16 May 2017 19:16:21 Z2017-05-16T19:16:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1481A Talk I'm Unqualified To Give: Imposter SyndromeImposter 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.Wed, 28 Jun 2017 12:17:08 Z2017-06-28T12:17:08ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1423AI for Your Business - An Unfair Competitive AdvantageDemystify 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.Mon, 22 May 2017 08:42:57 Z2017-05-22T08:42:57ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1558An Architecture for AutonomyIn 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. Sat, 26 Aug 2017 08:09:31 Z2017-08-26T08:09:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1439Angular Unit Testing from the TrenchesFor 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.Wed, 24 May 2017 18:44:10 Z2017-05-24T18:44:10ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1428Any Platform, Any Build; Getting Started with Team Foundation Server BuildIn 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.Thu, 01 Jun 2017 07:07:32 Z2017-06-01T07:07:32ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1560Artificial Intelligence for everyone, even youScience 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.Thu, 14 Sep 2017 16:05:30 Z2017-09-14T16:05:30ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1442ASP.NET Core + React = AwesomeDeveloping 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, theres 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!Thu, 25 May 2017 07:38:56 Z2017-05-25T07:38:56ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1567Automating QA with Code-free ScriptingQA 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.Fri, 15 Sep 2017 11:20:59 Z2017-09-15T11:20:59ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1518AWS Lambda with C# and NancyAWS 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.Wed, 19 Jul 2017 13:08:14 Z2017-07-19T13:08:14ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1449Azure Quick Deployment ToolsAzure 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.Fri, 26 May 2017 15:06:51 Z2017-05-26T15:06:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1510Become a Remote Working ProThere is no doubt about it, working remotely can be an amazing experience no commute and wearing pants is optional! Of course, its 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 dont 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.Wed, 19 Jul 2017 08:39:38 Z2017-07-19T08:39:38ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1538Beyond the Hype: Serverless Workloads in the Real World<p>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.</p>Mon, 14 Aug 2017 15:53:52 Z2017-08-14T15:53:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1532BigData - A simplified solution for Batch and Real-time data processing - Spark Structured StreamingTechnology 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 frameworkFri, 01 Sep 2017 08:27:54 Z2017-09-01T08:27:54ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1503Brownfield Development StrategiesVery 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.Tue, 18 Jul 2017 14:15:13 Z2017-07-18T14:15:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1415Building "Serverless" Application using Azure FunctionsIn 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.Thu, 18 May 2017 12:56:44 Z2017-05-18T12:56:44ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1564Building A Highly Scalable Service that Survived A Super Bowl<h3>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.</h3>Thu, 14 Sep 2017 16:00:52 Z2017-09-14T16:00:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1413Building a Phoenix Web Application: Lessons LearnedElixir 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.Wed, 17 May 2017 23:54:58 Z2017-05-17T23:54:58ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1407Building a Web Site with Angular 2<p>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.</p>Mon, 22 May 2017 08:43:00 Z2017-05-22T08:43:00ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1417Building AI Solutions that can Reason WhyOne 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.Fri, 19 May 2017 10:30:19 Z2017-05-19T10:30:19ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1489Building Bots with the Microsoft Bot frameworkChatbots 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 FrameworkFri, 18 Aug 2017 10:30:14 Z2017-08-18T10:30:14ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1519Building Multi-Targeted .Net Libraries with .Net StandardLearn 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.Thu, 20 Jul 2017 13:00:51 Z2017-07-20T13:00:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1549Crawl, Walk, and Run to Continuous Delivery<p>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!</p>Fri, 18 Aug 2017 10:30:09 Z2017-08-18T10:30:09ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1473Create an Amazon Alexa Skill in 9 Minutes or Less.<p>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</p> <p>There might be a chance for you to walk away with an <strong>Echo Dot</strong> or a book on Voice User Interface Design.</p> <p> <img src="https://media-exp1.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAAgjAAAAJGQ2MzllMTg1LWFmNjQtNGY4Yi1iYmVkLWJmZmFmMzFhNzY1ZQ.jpg" alt="" width="150" height="150" /></p> <p>Mark Tucker, Alexa Champion</p>Tue, 13 Jun 2017 06:33:04 Z2017-06-13T06:33:04ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1478CSS with SASS(y) superpowersIf 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.Thu, 22 Jun 2017 06:30:28 Z2017-06-22T06:30:28ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1446Deep Learning with PythonTutorial for getting started with Deep Learning using PythonWed, 28 Jun 2017 21:00:09 Z2017-06-28T21:00:09ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1391Demonstrating Common Design Patterns with C#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.Tue, 16 May 2017 19:16:49 Z2017-05-16T19:16:49ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1534Design for Non-Designers from a Non-DesignerElegant 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 designhacking pixels instead of bitsand free yourself of your excuse for horrible designs.Mon, 14 Aug 2017 16:59:26 Z2017-08-14T16:59:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1565Developing ASP.NET Core 2.0 MVC Apps for International UsersCreating 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.Thu, 14 Sep 2017 16:17:07 Z2017-09-14T16:17:07ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1559Developing for Microsoft HoloLensThe 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.Thu, 14 Sep 2017 16:05:36 Z2017-09-14T16:05:36ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1447DevOps ALM in Visual Studio Online<p>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.</p>Fri, 26 May 2017 11:43:50 Z2017-05-26T11:43:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1388DevOps: Real-World Best PracticesThis 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.Tue, 16 May 2017 19:16:58 Z2017-05-16T19:16:58ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1443Dockerize Your Development EnvironmentIt works on my machine. Weve all heard it. Most of us have said it. Its 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 isnt 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!Thu, 25 May 2017 07:41:00 Z2017-05-25T07:41:00ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1393Drinking the ElixirElixir 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.Tue, 16 May 2017 19:16:58 Z2017-05-16T19:16:58ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1476Everyone is a Public Speaker<p><span class="TextRun SCXO21066169" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXO21066169">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.  </span></span></p>Thu, 22 Jun 2017 20:17:53 Z2017-06-22T20:17:53ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1544Fortify your C# and Java code by having your signatures tell the truth with Option and Either<p><span style="font-weight: 400;">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.</span></p> <p><span style="font-weight: 400;">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.</span></p> <p><span style="font-weight: 400;">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.</span></p> <p><span style="font-weight: 400;">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!).</span></p>Mon, 14 Aug 2017 15:54:29 Z2017-08-14T15:54:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1453Geolocation with Google Maps and Google API'sGeolocation 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.Tue, 30 May 2017 00:32:43 Z2017-05-30T00:32:43ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1464Getting Started Writing Roslyn AnalyzersThis 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 performsMon, 05 Jun 2017 20:25:23 Z2017-06-05T20:25:23ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1536Growth: Moving Beyond Independent DeveloperYouve 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 dont. 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.Mon, 14 Aug 2017 17:00:27 Z2017-08-14T17:00:27ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1491Hacking Apple HomeKit with Homebridge<p>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.</p>Thu, 13 Jul 2017 10:59:40 Z2017-07-13T10:59:40ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1512Hacking BlueTooth Devices and Controlling Them with Your BrowserHave 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.Wed, 19 Jul 2017 07:24:31 Z2017-07-19T07:24:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1488Hidden Powers of Native CSSAs 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)Fri, 07 Jul 2017 13:42:31 Z2017-07-07T13:42:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1471Identity Server : From zero to "Are you authenticated" \m/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.Thu, 08 Jun 2017 20:11:41 Z2017-06-08T20:11:41ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1386Intro to React Native<p>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. </p>Tue, 16 May 2017 19:18:17 Z2017-05-16T19:18:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1383Intro to Web Bluetooth, USB, MIDI, Sensors, and NFC<h2><strong>Wait, the web can do all those things?</strong></h2> <h2><strong>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.</strong></h2> <h2> </h2> <h2><strong>Bonus: We can integrate browser hardware APIs to interact with things in Virtual and Augmented Reality web apps!</strong></h2> <p> </p>Tue, 16 May 2017 19:15:51 Z2017-05-16T19:15:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1429Introducing Azure Resource Management templatesDoes 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.Thu, 01 Jun 2017 07:07:46 Z2017-06-01T07:07:46ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1420Introduction to ElmElm 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".Sat, 20 May 2017 12:04:54 Z2017-05-20T12:04:54ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1410Introduction to F#<p>Learn the basic ins and outs of F#! With a focus on syntax and basic functional programming concepts.</p> <p> </p> <p>See http://jnyman.com/2017/10/15/desert_code_camp_2017</p>Wed, 17 May 2017 23:55:46 Z2017-05-17T23:55:46ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1421Introduction to Functional ProgrammingYou 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.Sat, 20 May 2017 12:10:04 Z2017-05-20T12:10:04ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1406Introduction to Kotlin<p>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.</p>Tue, 29 Aug 2017 11:07:50 Z2017-08-29T11:07:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1460Introduction to VueJs 2Learn how to get started programming with VueJS 2, how Vue handles two-way binding, and the other core features of this newer JavaScript Framework.Fri, 02 Jun 2017 09:17:02 Z2017-06-02T09:17:02ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1530Java for Serverless Compute with AWS Lambda<p><strong>Serverless computing</strong> 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.</p> <p><strong>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. </strong></p> <p>Here are the cornerstones: </p> <ul> <li>Java 8 is used as the implementation language of the serverless function(s)</li> <li>AWS Lamba is used as the Serverless runtime</li> <li>Gradle is used as the build automation system to compile, build, and deploy the serverless  function(s).</li> <li>JUnit 4 is used for unit-testing</li> <li>Jackson is used as the the JSON processor to serialize and deserialize objects</li> <li>Apache Log4J 1.2 is used as the remote logger on the serverless runtime system</li> </ul> <p>You will walk away with solid knowledge about how to write, test, and deploy Java code on Amazon's AWS serverless runtime platform. <br />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.</p> <p>Hope to see you at the session.</p> <p>Cheers</p> <p>  Wolf</p> <p><img src="https://wolfpaulus.com/wp-content/uploads/2017/07/wp2017.jpg" alt="Wolf Paulus" width="200" height="200" /></p>Fri, 18 Aug 2017 10:23:33 Z2017-08-18T10:23:33ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1515JavaScript Futures: ES2017 the Road AheadDevelopment teams are now using the excitingand extensivenew 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.Wed, 19 Jul 2017 09:19:52 Z2017-07-19T09:19:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1509Leadership Journey: From Software Developer to LeaderYouve spent years working on your skills as a software developer. You measure your days by the number of commits youve 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 shouldnt I? What if I go for it and end up hating it or Im just not that good at it? What if I love it? How will my day change? In this interactive session, well explore why leadership, answer some hard questions and talk about one developers path from writing code to leading people and the challenges that have been experienced.Wed, 19 Jul 2017 08:39:30 Z2017-07-19T08:39:30ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1456Leveraging Visual Studio 2017, T4 and software factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework<p>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.</p> <p>Applying software factories to solve architecture problems, pattern adherence and skill set gaps.</p> <ul> <li>Skill set gaps and how proper architecture solves them</li> <li>Leveraging patterns to address architecture and skill set challenges</li> <li>Using software factories to solve architecture and skill set problems using CodeFactory</li> </ul> <p class="lead"> </p>Fri, 02 Jun 2017 09:25:50 Z2017-06-02T09:25:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1445Machine Learning with PythonBasic Machine Learning algorithms and tools using scikit-learn.Mon, 12 Jun 2017 19:05:12 Z2017-06-12T19:05:12ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1412Making Impossible States Impossible with F#.NET<p>In 2016 Richard Feldman gave a talk on how to make impossible states truly impossible in Elm.js.</p> <p style="padding-left: 30px;">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</p>Wed, 17 May 2017 23:55:50 Z2017-05-17T23:55:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1482Making Sure You're Solving The ProblemThis is a talk about metrics: finding good ones, making sure they align with your goals, and presenting them in a way that's compelling.Wed, 28 Jun 2017 12:16:58 Z2017-06-28T12:16:58ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1448Making Your Apps Suck Less - with Application Performance Management<p>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.</p>Fri, 26 May 2017 12:26:35 Z2017-05-26T12:26:35ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1546Master Faster Refactoring<p>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?</p> <p>These changes and many more can be made easy by utilizing the built in refactoring tools in the IDE you already use every day!</p> <p>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:</p> <ul> <li>Renaming a class in two key strokes</li> <li>Extracting an interface out of an implementation</li> <li>Creating a method out of highlighted code</li> <li>So much more!</li> </ul>Mon, 14 Aug 2017 15:53:39 Z2017-08-14T15:53:39ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1422Monoids and Functors and Monads, oh my!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!Sat, 20 May 2017 12:17:03 Z2017-05-20T12:17:03ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1394Node - the better partsNode 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.Tue, 16 May 2017 19:18:47 Z2017-05-16T19:18:47ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1400Offensive Securitypenetration 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.Sat, 30 Jun 2018 17:56:30 Z2018-06-30T17:56:30ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1526Post jQueryjQuery 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.Fri, 18 Aug 2017 10:25:10 Z2017-08-18T10:25:10ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1483Product Thinking vs Code ThinkingI 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.Wed, 28 Jun 2017 12:17:02 Z2017-06-28T12:17:02ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1563Productivity: How to get things done in this digital agePick 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 doesnt come naturally. It didnt 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.Thu, 14 Sep 2017 16:01:00 Z2017-09-14T16:01:00ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1467Progressing as a Software Developer<p>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.</p> <p>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.</p>Thu, 08 Jun 2017 10:01:36 Z2017-06-08T10:01:36ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1441Real Agile for Real SoftwareAs the agile revolution continues, more and more companies are wanting to Do Agile. Most companies dont 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. Ill 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.Thu, 25 May 2017 07:38:50 Z2017-05-25T07:38:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1411Scripting with F#.NET<p>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!</p>Mon, 22 May 2017 08:43:13 Z2017-05-22T08:43:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1474Secure DevOps: A Pumas TailDevOps 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 organizations applications.Thu, 22 Jun 2017 06:43:10 Z2017-06-22T06:43:10ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1459Security Patterns and who cares: can you survive without them?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.Fri, 02 Jun 2017 09:17:20 Z2017-06-02T09:17:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1418Serverless Event Driven ArchitecturesServerless 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.Fri, 19 May 2017 20:12:11 Z2017-05-19T20:12:11ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1452Single Page Apps with ReactThe 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.Mon, 29 May 2017 17:10:24 Z2017-05-29T17:10:24ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1403Sonic Handkerchief<p>Not just a sonic screwdriver. Application of the Ada Fruit Playground. Code, plans, and User Guide posted at github.</p>Tue, 16 May 2017 20:19:26 Z2017-05-16T20:19:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1408SQL Server Data Tools - Bringing SQL Language to the Modern Age<p>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.</p> <p>See http://jnyman.com/2017/10/15/desert_code_camp_2017</p>Wed, 17 May 2017 09:34:28 Z2017-05-17T09:34:28ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1468Succeeding as a New Leader in Technology<p>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.</p> <p>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.</p>Thu, 08 Jun 2017 08:57:06 Z2017-06-08T08:57:06ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1387Terraform: Intro and Best PracticesTerraform 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!Tue, 16 May 2017 19:19:10 Z2017-05-16T19:19:10ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1504Testing RESTful Web ServicesA 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 well 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.Tue, 18 Jul 2017 14:15:07 Z2017-07-18T14:15:07ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1470Testing Testing 123 - Getting Started With Automated Tests<p>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.</p>Thu, 08 Jun 2017 10:05:29 Z2017-06-08T10:05:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1542The 5 Interviewing Tools You Need To Land Your Dream Development Job<p>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.</p> <p>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 ;).</p>Mon, 14 Aug 2017 15:54:52 Z2017-08-14T15:54:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1455The Fundamental Laws of Software Development<p>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!</p>Wed, 31 May 2017 08:06:42 Z2017-05-31T08:06:42ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1516The Impact of Leveraging Open Source<p>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.</p> <p>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.</p>Wed, 19 Jul 2017 09:20:00 Z2017-07-19T09:20:00ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1458The Middle Tiers: Domain, Service, and generic Repository Pattern.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.Fri, 02 Jun 2017 09:25:42 Z2017-06-02T09:25:42ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1541The Myth of NoSQL<p>"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" <br />- said no Product Owner ever</p> <p>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.</p> <p>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.</p>Mon, 14 Aug 2017 15:55:06 Z2017-08-14T15:55:06ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1533The painful path to CI/CD one companys initial successes and failuresDiscover 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.Tue, 01 Aug 2017 12:06:51 Z2017-08-01T12:06:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1524UI state management using Reactive Observables and SubjectsEvent 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.Mon, 14 Aug 2017 15:54:17 Z2017-08-14T15:54:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1396Use Ember, Here's Why...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.Tue, 16 May 2017 19:19:20 Z2017-05-16T19:19:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1561User Experience at Every Level of BusinessUser 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 companys infrastructure when people engage with a brand. Learn why its 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.Thu, 14 Sep 2017 15:51:43 Z2017-09-14T15:51:43ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1436Using Groovy/Grails as a gateway drug to Web Development with JavaLearning 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.Wed, 24 May 2017 10:46:31 Z2017-05-24T10:46:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1566Using Hexagonal Architecture to Enhance Your ASP.NET Core 2.0 Web APIsOver the years there have been multitudes of issues with software design and development. These include the following: <ul> <li>Software cant be tested well with automated test suites because part of the logic needing to be tested is dependent on oft-changing front end UIs and API endpoints</li> <li>impossible to shift from a human-driven use of the system to a batch-run system</li> <li>difficult or impossible to allow the program to be driven by another program when that becomes attractive</li> </ul> Using the Hexagonal Architecture or the Ports and Adapter Pattern allows your APIs specifically to work better due to: <ul> <li>Allowing a clear decoupling of the API endpoints, Data Access (Synthetic or Production) and finally the Data Domain classes.</li> <li>The API Endpoints (Controllers) have no knowledge or responsibility of Data Domain and behind it Data Access</li> <li>Because of the decoupling and separation of responsibilities testing can be done easily and without issues.</li> <li>Data Access segments of the architecture can easily be switched out without impacting the Domain or API Endpoints</li> </ul> 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. Thu, 14 Sep 2017 16:16:58 Z2017-09-14T16:16:58ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1432Vim 101Step 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.Wed, 24 May 2017 08:52:20 Z2017-05-24T08:52:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1433Vim Macros for Fun and ProfitTake 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.Wed, 24 May 2017 08:52:13 Z2017-05-24T08:52:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1480Vue.js Transition EffectsWant 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.Mon, 26 Jun 2017 12:12:47 Z2017-06-26T12:12:47ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1405Web Scraping with PythonHow to build a web scraper using Python. A basic intro to Web scraping with Python with real-world examples.Mon, 12 Jun 2017 19:05:21 Z2017-06-12T19:05:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1485Web Security Dojo<p>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.</p>Wed, 28 Jun 2017 20:59:59 Z2017-06-28T20:59:59ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1557What is Lean?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.Sat, 26 Aug 2017 08:09:14 Z2017-08-26T08:09:14ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1527What is this .NET Core thing anyway?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.Thu, 24 Aug 2017 07:10:26 Z2017-08-24T07:10:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1463Why Everything Traces Back to SOLIDThere 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 theyre really all based on the same five principles? In this session Ill 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 isnt 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.Mon, 05 Jun 2017 20:23:16 Z2017-06-05T20:23:16ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1477Why is my CSS not working?!It happens every day. You optimistically write the most basic CSS (Cascading Style Sheet) code to modify the UIs (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#/Thu, 22 Jun 2017 06:42:27 Z2017-06-22T06:42:27ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1404Xamarin.Forms Enterprise Application DevelopmentCreate 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.Mon, 22 May 2017 08:43:18 Z2017-05-22T08:43:18ZCopyright ©2010-2024, Desert Code Camphttps://oct2017.desertcodecamp.com/session/default.aspx?sessionid=1568Your QA Should Be Your BFFDevelopers and QA have historically had an adversarial relationship, but it doesnt have to be that way! In this talk well 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!Fri, 06 Jul 2018 22:20:59 Z2018-07-06T22:20:59ZCopyright ©2010-2024, Desert Code Camp