Desert Code Camp - 2019 SessionsA list of all of the sessions at Desert Code Camp - 2019en-usDesert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1869"A Bugs Life" - QA 101 with The ExterminatorStrap on your boots and immerse yourself in this energetic presentation open to all audiences. Get equipped with the tools and methodologies used by QA throughout the software development life cycle - from the birth of a bug to the delivery of the ultimate user experience. EXTERMINATE.exe!Sun, 29 Sep 2019 07:52:29 Z2019-09-29T07:52:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=186316 Ways to Tell You're Not a Beginning Programmer Anymore<p>How do you know when you're not a beginning programmer anymore? We'll cover 16 attributes of an experienced, professional programmer (or software developer or software engineer or whatever the job title of the day happens to be). If you've got at least 10 of these 16 attributes, you're probably not a beginner anymore. You should set your sights on all of these, not just the minimum 10. Some are relatively straightforward to achieve, while others require a good measure of diligence, patience, and humility. These attributes are based on decades of experience as both a software engineer and a manager of software engineers at all levels. (Why 16? It's a nice round number, if you think in hexadecimal.)</p>Wed, 25 Sep 2019 04:24:19 Z2019-09-25T04:24:19ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1868A Javascript padawan's expedition into AWS DynamoDB - the journey begins.<p>If you have been using Javascript of years you may find it easy to quickly assemble a web page that can use Dynamo DB as a back end. But what if you are new to both Javascript and DynamoDB? Well then it is not easy, at least not at first. It was not easy for me. I will show how I built a very simple Javascript web application that can get user input and store it in AWS in a NOSQL database. I'll show you what I tried and how I overcame the blockers, one step at a time.</p> <p> </p> <p>I used the Gatsby JS framework to get started, the grid layout to display cards, the AWS Javascript SDK to query and update AWS DynamoDB, and React's state hooks to leverage the async nature of DynamoDB response.</p>Fri, 27 Sep 2019 11:18:36 Z2019-09-27T11:18:36ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1792A Look at iOS ARKit 3.0 : Augmented Reality Session<p>Augmented-Reality (AR) is the user experience of the future! Join Robert Al Malak as he dives into Apple’s ARKit framework. Get a basic understanding of how ARKit works, take a closer look at the improvements in their recent 3.0 update, view demos of some live examples and join in the discussion about use cases for ARKit and other similar technologies. Presentation Overview: - What is AR and how does it work ? - Project overview - The easiest way to setup an ARKit project. - Augmented reality and image / object recognition - Transformations / Placement of 3D objects - Accelerate / SIMD library - Looking at use cases - Quality Assurance</p>Wed, 07 Aug 2019 18:00:26 Z2019-08-07T18:00:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1835Accidentally Manager A Survival Guide for First-Time Engineering ManagersThis session is about your career perspective as an engineer, especially when the path may take an unexpected turn from technical lead to first-time engineering manager. We will explore the differences between managing and leading, review different management styles, and discuss their impact on both the manager and the team member. Finally, we will find out why you do not want to treat everyone equally. I will share my personal experiences going from being one of the team to actually managing it: the pitfalls of suddenly being responsible for the team, typical problems surfacing, and how to avoid common mistakes. As part of the session, I would also like to share thoughts and considerations about which career path could be the right one for whom, and what the advantages and disadvantages are going one way or the other. This is not a You get it all from the expert- session, but a session to share experiences and discuss how this fits to your career path.Mon, 16 Sep 2019 09:24:13 Z2019-09-16T09:24:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1817Adding Avro to your Kafka streams to meet your messaging needs<p>Now that you have Kafka up and running how are you going to use it? Kafka doesn't care what it transfers; just that it gets delivered.</p> <p>You can blaze your own trail defining everything, but then everything is your and your user's responsibility. You can create the equivalent of a HATEOS message - which bloats your message and requires your clients to create a smart parser. In contrast you can create a minimalist message - which requires your clients to know everything about what your message and they'll have to make updates every-time you change the message.</p> <p>Enter Avro. Using Avro schemas allows you to define and share you message schema with all the information to validate your message ... without bloating your actual messages.</p> <p>In this talk we will be exploring what Avro is, what it isn't, and if it's worth your time. As a hardened Perl* programmer who lives by TIMTOWTDI, who abhors systems that get in the way by imposing their ideology, I'll share with you why I've adopted Avro when dealing with Kafka. * Code examples may include a Perl example, but will be primarily in Java.</p>Thu, 29 Aug 2019 04:10:19 Z2019-08-29T04:10:19ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1765Adopting SAFeIn an ever changing, highly dynamic industry, how enterprises / groups can adopt SAFe & move towards agility in a SAFe way. Idea is to understand SAFe principles, guidelines & adopt new roles & techniques towards large scale solutions.Wed, 07 Aug 2019 17:59:18 Z2019-08-07T17:59:18ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1809Amazing Algorithms for Solving Problems in SoftwareYeah neural networks are cool but have you ever used a Firefly Algorithm to find the solution to a problem? How about Minimax or Dynamic Programming? In this talk we will see examples of a number of cool algorithms that can be used to solve problems in software. We'll see how each algorithm works, analyze its strengths and weaknesses, and determine when it is best used. You'll leave with the knowledge you need to solve problems using these algorithms in your language of choice.Tue, 20 Aug 2019 05:24:25 Z2019-08-20T05:24:25ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1802Applied OOP Design Patterns: Rolling with the Punches<p>Applying established design patterns in your object-oriented codebase can help you to "roll with the punches" of evolving business requirements. In this presentation, we'll take a practical look at design principles and patterns as we iteratively build a package with increasingly challenging feature requests. The key acronym in our tool belt? SOLID. (NOTE: This presentation will use an OOP-style pseudo-code language to appeal to developers of more than just one language.)</p>Mon, 12 Aug 2019 03:16:23 Z2019-08-12T03:16:23ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1826Architecture and Complex Software SolutionsBy no means does software succeed without making some architectural decisions. Sometimes they're easy, almost implicit, but sometimes there are not. It's in those situations where architecture isn't implicit and in need of very serious consideration. This session will contrast Design and Architecture and dig into some areas where the needs that architecture can address are not so easily addressed by File/New/Project. The session will continue with why those areas require unique attention as well as how Architecture addresses them.Fri, 20 Sep 2019 08:54:21 Z2019-09-20T08:54:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1847Automate AWS with the CLI and Shell Scripting<p>AWS tasks are often multi-step processes. Typically you have to issue a command, wait until the target object enters a particular state, and only then continue on by issuing yet another command, or click something else in the web UI. In this talk, I will demonstrate how to take control of AWS tasks using the AWS CLI and bash shell scripting. By combining the strategies discussed in this talk, you will no longer have to wait on AWS, nor will you have to employ multi-step, manual processes. Instead, let your scripts do the work for you! We’ll start by introducing the AWS CLI and the basics. Next, I will demonstrate some simple aws cli commands, turn them into functions, and then move on to more complex scripting such as stopping and then starting an ec2 instance, all from one script. We’ll also learn about –filter, –query (JMESPath!), and a handful of other tips & tricks.</p> <p>FYI: This talk was previously "Introduction to Terraform", but has been changed. Apologies to anyone that was hoping to see a talk on Terraform.</p>Mon, 16 Sep 2019 15:54:17 Z2019-09-16T15:54:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1818Automated routing of messages with IoT HubIoT Hub Automagical Routing of messages In this talk, I'll use several Azure services to create a demo that shows how the automatic routing available in IoT Hub works. You'll see how to incorporate these services into one sample: IoT Hub, Storage, Service Bus, Azure Stream Analytics, PowerBI, Logic Apps, and Office 365. I'll give some examples of IoT, and then delve into IoT Hub. I'll show how to use the feature in IoT Hub that lets you configure routing rules and have the hub automagically send your messages every which way. We'll see how to route messages to a storage account. We'll see how to route messages to a Service Bus queue that will in turn use a Logic App to send you e-mails with the message content. You'll see the rest of the messages go to the default endpoint, to be picked up by Azure Stream Analytics and viewed in Power BI. We'll run a C# application that sends messages to the Hub and triggers the different kinds of routing, and see the messages flow through to the different destinations.Thu, 29 Aug 2019 13:49:51 Z2019-08-29T13:49:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1875Automatically Create and Deploy Asp.Net Core Angular Applications with a CLILearn how to efficiently create and deploy a new ASP.Net Core Angular 8 Single Page Application and deploy a Docker Container using Terraform. Thu, 30 Jan 2020 12:30:45 Z2020-01-30T12:30:45ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1827Automating your day job with Infrastructure as Code<p>Successful modern application development in the cloud requires a modern approach to managing cloud infrastructure. Building cloud resources by hand in the console or some other means without a repeatable and automated way to manage the architecture is both highly error-prone and non-scalable.</p> <p>In this session, we will cover what infrastructure as code is all about, why it is beneficial to use and how to start using it today to be more productive. CloudFormation will be used in the examples to explain how to fully manage cloud resources on AWS using infrastructure as code.</p>Sun, 08 Sep 2019 13:06:09 Z2019-09-08T13:06:09ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1828AWS, Go, Docker Blob Storage File Server<p>How do you expose static files in the cloud? Learn the architecture of containerized FTP Server built in GoLang. The FTP server will feature a Docker container, blob storage API access to AWS S3 and Cognito for OAuth authentication. <a href="https://github.com/szahn/BlobStorageFtpServer">Code available here</a>.</p>Mon, 16 Sep 2019 18:29:51 Z2019-09-16T18:29:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1777Azure Governance<p>MS has lately invested a lot of resources helping enterprises adopt cloud-first mindset. This session is all about to give you glimpse of what Azure governance tools are available and how to get started in your cloud journey.</p>Wed, 02 Oct 2019 14:12:42 Z2019-10-02T14:12:42ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1849Become a Linux Command Line Guru<p>Learn the fundamentals of Bash scripting in Linux. This session will review powerful command line tools and compare them to their Powershell counterparts. This course is especially useful for developers who are interested in DevOps and want to learn how to automate operating systems with Ansible. <a href="https://github.com/szahn/devops-command-line-guru">Link to presentation</a>.</p>Mon, 16 Sep 2019 18:29:47 Z2019-09-16T18:29:47ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1763Blazor - Life after the introduction DemoOnce the high of seeing Blazor in action, you need to be able to use it in more of a real world applications. This session will show how to do real world tasks in Blazor: Upload and display an image file, provide user feedback, authentication, modal dialogs and change CCS frameworks. These go beyond the basic demo to show the attends the power of the BlazorWed, 07 Aug 2019 17:59:11 Z2019-08-07T17:59:11ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1762Blazor BasicsThe what, how, where and why of the new Blazor Technology. Will include basic getting started with Visual Studio and Visual Code. Create and build the project templates and deploy to Azure. Attendees will walk away with a new excitement for Blazor.Thu, 27 Feb 2020 21:33:17 Z2020-02-27T21:33:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1767Build App with AngularBuild App with Angular using some best practice of AngularWed, 07 Aug 2019 17:59:23 Z2019-08-07T17:59:23ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1769Building SVG with React - What I learned while building a little projectI wanted to create this tree diagram thing in React and so I chose to do it in SVG DOM nodes instead of HTML or using some overly complex library. I learned some cool things, let me share them with you.Wed, 07 Aug 2019 17:59:21 Z2019-08-07T17:59:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1851Building your Data Lake on AWS<p>Data is getting generated as we speak at an enormous rate and it's growing at the rate of 10x every 5 years. The data might not look valuable immediately but companies always find value in storing this data in a centralized location for future. Learn how to build a data lake on AWS cloud.</p>Tue, 17 Sep 2019 10:50:23 Z2019-09-17T10:50:23ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1786C++20: The new stuff you need to know about<p>What is new in C++20? How can you use it? Will it make your life easier?</p> <p>C++20 is an absolutely massive release with many changes to both the language and the library.  A subset of the language changes include concepts, modules, coroutines, spaceship operator (3-way compare).  On the library side, the STL algorithms have been completely revamped using ranges.  Other library additions include expanded chrono support, string output formatting, span, associative container enhancements, uniform container erasure, threading and atomics support, bit manipulation facilities, iostream updates, and various math utilities.</p> <p>Note that due to time constraints most of these topics will be covered very briefly, but with pointers in the slides for futher study.  We'll spend the first 3rd of the time on language changes and then the focus will be on containers, format, and threading -- all of which you can start using today with open source libraries.</p>Fri, 31 Jan 2020 02:16:56 Z2020-01-31T02:16:56ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1876C+20: From STL to Ranges - Using Ranges Effectively<p>This course provides a survey of C++20 ranges and their application. Ranges are the largest revamp of the Standard Template Library (STL) in 20 years and will impact daily C++ programming dramatically. Some of the changes seem minor, but full utilization of ranges is much more transformational to coding practice.</p> <p>The tutorial goes beyond the basics to explore what's behind the library. For example, understand the key differences between algorithms and views and when to apply them. As the first major library in C++ to apply Concepts the tutorial will look at Range Concepts and how the library utilizes the new language feature.</p> <p>Chock full of example code this tutorial will bootstrap programmer's usage of std::ranges.</p>Wed, 02 Oct 2019 19:06:05 Z2019-10-02T19:06:05ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1839Catching and Handling Windows Exceptions in C++<p>Catching and handling "thrown" exceptions in C++ is well documented. But what if you need to catch Windows access violations, data misalignments, divisions by zero, illegal instructions, and a variety of floating point exceptions? You could use Microsoft's SEH mechanism, but it's not well integrated with standard C++ exception handling. In this session, you'll see how to catch Windows exceptions, on a per-thread basis, as standard C++ exceptions derived from the std::exception class. We'll use Visual Studio 2019 Community edition IDE and the Visual C++ compiler. (Knowledge of standard C++ exception handling is recommended.)</p>Thu, 12 Sep 2019 18:52:41 Z2019-09-12T18:52:41ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1836Clean Code - Best PracticesAll Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd Clean Code presentation on The Art of Decoupling, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing the code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained. This presentation is based on C#. However, the demonstrated patterns and practice can be applied to every other programming language too.Mon, 16 Sep 2019 09:24:13 Z2019-09-16T09:24:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1837Clean Code The Art of DecouplingWhy writing Clean Code makes us more efficient? Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. We will dive into why decoupling is so crucial and what design patterns, best practices, and technologies are out there to do it right and want can go wrong. We start by reviewing the basics of Inversion of Control (IOC) and Dependency Injection (DI) and different ways of achieving decoupling on class-level, using and exploring both: Best Practices, Design and Anti Patterns. Then we will move into Microservices, how these push decoupling to the next level and how to combine the different patterns for an extensible, supportable and maintainable code base. This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate scenarios for DI and Microservices depending on the participating group. This presentation is based on C#. However, the demonstrated patterns and practice can be applied to every other programming language too.Mon, 16 Sep 2019 09:24:18 Z2019-09-16T09:24:18ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1843Cypress: Where Automated Web UI Testing Isnt Just for QA AnymoreTodays fast-moving software delivery environment emphasizes pushing value to production as quickly as possible. Value to production implicitly requires high qualitylow quality is of little value to anyone! which means teams need to focus on being able to specify, build, test, and deploy software effectively and quickly. Acceptance testing historically been manually intensive efforts run by a dedicated QA department, resulting in a slower pace of production releases. No longer do we have to make acceptance a manual effort that requires a dedicated QA department. With the release of Cypress, we have a new standard in front-end testing that allows every developer to create acceptance tests. Come learn how you can create fast, easy, and reliable test for anything that runs in a browser regardless of the front-end framework used. You will walk away ready to end the era of Developers dont write acceptance tests and start writing acceptance tests for all of your projects.Thu, 12 Sep 2019 13:29:45 Z2019-09-12T13:29:45ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1778Data-Driven Continuous ImprovementsIn the past, we needed KPIs and metrics to help calm our nerves as we tried to predict the likelihood of a projects success. Agile addresses some of the concerns that drove KPI adoption, but is there still a use for them in agile organizations? Join us and learn how you can use metrics to help drive improvements in your organization.Wed, 07 Aug 2019 17:59:43 Z2019-08-07T17:59:43ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1873Database DevOps with ContainersUnlike CI/CD pipelines for applications, we can't just delete the database and pop up a new one with each new version. Let's start with the production database, and get SQL Server content to developers in containers, and then flow schema and lookup data back into production with migration tools. You can bring the reliability and automation of CI/CD pipelines to Database DevOps with containers.Sun, 29 Sep 2019 19:33:27 Z2019-09-29T19:33:27ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1759Deep Learning BasicsIn this session, you'll see how deep learning works. We'll cover the basics, discussing concepts and techniques that are common to many types of deep learning. Although math is inherent in how deep learning works, Joe will explain enough to where you don't have to be an expert in calculus, linear algebra, or statistics. You'll see that this technology doesn't require a Ph.D. for any developer who wants to learn and take advantage of AI. By the end of the presentation, you will have seen a full example of how deep learning works, design and considerations, and practical applications.Wed, 07 Aug 2019 17:58:56 Z2019-08-07T17:58:56ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1864DevOps and DevSecOps (DevOps with Security in Mind)<p>As organizations embrace DevOps, developers and operations work closely together to push new software out rapidly, while improving the quality and making customers happy. However, with speed comes risk. How can these teams build security into their new DevOps culture to ensure secure, high-quality software? </p> <p>This talk will first cover DevOps and close relationship between developers and operations and will introduce the security aspect wherever Information Security is at risk within a DevOps organization. </p> <ul> <li>Development with ops in mind - Monitoring and alerting - when why and how</li> <li>Severity and urgency of incidents - How to handle devops without losing your sanity</li> <li>Using Devops tools for incident response best practices in communication during incidents</li> <li>Post Mortems/COEs/Follow Ups - Triaging and log analysis (common tools and tricks)</li> <li>Security as primary concern (DevSecOps) - Tools available, Web Application Firewalls</li> <li>Security incident response and understanding impact</li> <li>Policies and agile tools to ensure uptime and smooth operations</li> <li>Dealing with operations/security overload. </li> </ul>Sun, 06 Oct 2019 08:54:12 Z2019-10-06T08:54:12ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1808DevOps Pipelines OverviewWe will define what DevOps pipelines are and what are some common patterns that you will find when working with them. These patterns include items like Continuous Integration, testing, and Continuous Delivery. We will also discuss with what the future might hold for DevOps pipelines The meeting will conclude with a demo of an example Azure DevOps pipeline.Mon, 19 Aug 2019 17:53:55 Z2019-08-19T17:53:55ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1870Discussion: Identity Management Professional Meetup<p>Are you an Identity Pro? <span style="display: inline !important; float: none; background-color: #ffffff; color: #000000; cursor: text; font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;">We haven't had an Identity Meetup since 2017.</span> Let's discuss what you would want out of a meetup.  Vendor specific? Vendor agnostic? Monthly? Quarterly? Physical or virtual? Where? Should we tie in with IDPro?</p>Fri, 27 Sep 2019 13:35:29 Z2019-09-27T13:35:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1797Dockerizing ApplicationsHave you heard of Docker? Its the containerization technology that has rapidly changed how applications are built and deployed. Containerizing applications is the future for large scale software development and it is a critical skill to master. This presentation is geared towards those with no or some Docker exposure. We will look at what containers are, how they work, how to build containers for your applications, and strategies for building your own containers.Thu, 08 Aug 2019 17:14:29 Z2019-08-08T17:14:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1782Effective Communication: Talk Smarter, Not Harder<p>So you worked hard to get into your role in the software industry thinking "this'll be great - I'll get to code all of the time and never have to talk to anyone". Then suddenly one day after ramping up in your position you find yourself getting pulled into design reviews and cross-team meetings where you need to build consensus and influence others in ways that school didn't prepare you for. You may even find yourself avoiding or dreading these situations. These conversations don't need to be painful however, especially when there can be major benefits to having them; all it takes is a bit of preparation and having the right mindset going in. Come learn some tips and tools for leading difficult discussions and constructively driving towards an end goal that results in a better product with less stress on your shoulders. Not a developer? Not a problem! These tips are applicable to any role.</p>Wed, 07 Aug 2019 17:59:36 Z2019-08-07T17:59:36ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1820Email templates 101Email marketing is stronger than ever. And with it comes the need for email templates. Coding an email template can be frustrating as it uses archaic CSS/HTML techniques, but with the right processes and tools in place, it can be quick and easy to pick up. Learn about all the latest tools and workflows available and find out why coding emails is a hidden dev opportunity worth looking into.Mon, 02 Sep 2019 15:41:31 Z2019-09-02T15:41:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1854Event-Driven Architectures with Apache Kafka"Event-driven" is a programming paradigm in which services create events and react to events instead of responding to requests. Event-driven architectures are an alternative to the more familiar web-based request/response microservice architectures and aim to solve some of the problems we encounter with request/response patterns. In this talk we will be talking about the characteristics of event-driven architectures, how they differ from request/response HTTP based architectures, and their advantages and disadvantages. In addition we will look at the Kafka streaming platform as the backbone for event-driven architectures - what capabilities it brings to the table and what issues it might introduce.Wed, 18 Sep 2019 10:13:04 Z2019-09-18T10:13:04ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1779Exploring Neural Word Embeddings with Python<p>Standing on the shoulders of giants, we don't have to design, create, and train a neural network, but instead, use one that already exists. We download a public domain fully trained neural network and modifying it slightly (to make it load faster during the session).</p> <p><strong>Python</strong></p> <p>I'm teaching a junior college Python course and usually show this at the end of a 16-week intro class. I.e., you don't need to be a Python expert to get something out of this session. Knowing a little Python will be helpful, but all demos easily translate into other languages, like Java for instance.</p> <p><strong>Objectives</strong></p> <p>After the session you will have a general understanding of <em>"Neural Word Embeddings"</em>, understand what <em>"cosine similarity"</em> means and how to calculate it. I know, that may not sound all that exciting. But imagine you type in the question, <code>"Men is to boys what woman is to"</code> and your Python program answers with the word <code>"girls"</code>. Or you type <code>"Men is to king, what woman is to"</code> and your Python program answers with the word <code>"queen"</code>. But that is just the beginning, I will also show you an example that uses the same technique applied to a much more relevant topic, detecting bias in a text.</p> <p> </p>Wed, 07 Aug 2019 17:59:29 Z2019-08-07T17:59:29ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1867Fact or Crap: Self Organizing Teams WorkSelf-organizing teams fact or crap? Sure, weve seen it work at companies like Google with resources to burn, but what about everywhere else? How do you convince leaders to cede control? How do you provide customers, especially enterprise partners, with the predictability they expect? How can you build advanced products with a team of cross-functional generalists? It seems like a fantasy. Its possible. Its simple. Its just not easy. Through this gamified presentation, participants gain an understanding of self-organization and take away a framework for implementing it in their organization. It provides a unique dual perspective, combining insights from the executive and team levels.Tue, 18 Feb 2020 07:42:26 Z2020-02-18T07:42:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1812Getting Started with Asp.Net Core Signal R<p>Signal R Core is now available to developers using .Net Core. This technology has many benfits to those applications that require frequent updates and must stay up to date. We will also discuss a real world use case of how it was utilized to provide a real-time view of alerts in a payment system.</p>Mon, 26 Aug 2019 09:02:24 Z2019-08-26T09:02:24ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1871Getting Started with Azure Active DirectoryBehind every Office 365 tenant is an Azure Active Directory tenant. Learn what else you can do with it: Enable SSO to many applications, perform conditional access control, make your on premises AD more secure, and more!Fri, 27 Sep 2019 14:35:33 Z2019-09-27T14:35:33ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1798How Quality Assurance Makes an Impact in the Software Development Life-cycle<p>Quality Assurance can make an incredibly significant impact throughout the entire SDLC. More so, understanding the importance of Quality Assurance and how its impact on not just the software but also on clients or consumers is pivotal to a software company's success.</p>Thu, 08 Aug 2019 17:15:03 Z2019-08-08T17:15:03ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1845How to be a tech lead<p>We don't talk enough about the tech lead role, and most companies give very little thought to who should be a tech lead and how to make people successful in the role.</p> <p>In this fast paced, interactive session, you're going to walk away with more clarity, certainty, and confidence in the tech lead role!</p> <ul> <li>What is a tech lead?</li> <li>Should you be a tech lead?</li> <li>Why it's such an important, pivotal role in your career (but often overlooked)</li> <li>The four core, most important capabilities tech leads should develop</li> <li>What effective and ineffective tech leadership looks like</li> <li>What happens after tech lead?</li> </ul> <p>Michael Rice has been working on the tech lead problem for over two years now. He is the author of <em>How To Be a Tech Lead</em> (free on leanpub), podcaster at Tech Lead Coaching, and writes a weekly newsletter on the topic. He has managed architects and tech leaders for companies like VMware (current) and Red Hat, and has almost twenty years of experience in the software industry. Think you're going to really enjoy this session!</p>Sat, 14 Sep 2019 12:14:51 Z2019-09-14T12:14:51ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1788How to Be an MVPMany times we look at the success of others and think it is beyond us. In this session, 12 time Microsoft MVP (2007-2019) and author of "How to Be an MVP in Life", David Lundell, will share stories from fellow Microsoft MVPs, and some sports MVPs illustrating key attribute in professional and personal development relating to becoming a Microsoft MVP, and even more importantly becoming an MVP in Life.Wed, 07 Aug 2019 18:00:15 Z2019-08-07T18:00:15ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1821How to get through the awkwardness of networkingThere's a lot about modern networking that we all should un-learn. Showing off your knowledge and targeting the "important" connections is the wrong approach. If you genuinely want to be an effective networker, you have to shift away from looking at these interactions as transactional. That said, it's still hard to find people to talk to, and even harder to know to start up a conversation. I'll give you tips that will help you work through those issues and ultimately make you more comfortable in new spaces with new people. You'll come away from this presentation with advice you can put to use immediately.Mon, 02 Sep 2019 19:35:52 Z2019-09-02T19:35:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1844How to make the most of Kubernetes as a developer<p>Kubernetes and cloud native applications are becoming a huge topic.</p> <p>We'll talk about the advantages of K8S to set the context for attendees, but we're going to focus on specific, actionable steps app developers and software engineers should take to make the most of Kubernetes.</p> <p><strong>Will include as much live code as time permits!</strong></p> <p>We're going to talk about:</p> <ul> <li>what changes to consider in your app architecture to make the most of K8S</li> <li>general containerization considerations for K8S</li> <li>mapping 12 Factor concepts to K8S</li> <li>what additional frameworks app devs should consider</li> <li>specific details like logging</li> <li>exposing the right health and readiness endpoints</li> <li>how to wire up other services and data storage</li> <li>considerations for legacy apps</li> <li>a discussion of resources at the Cloud Native Foundation</li> <li>and much more.</li> </ul> <p><strong>Bonus</strong>: will hand out a checklist of considerations for app developers going cloud native on K8S</p> <p>You'll walk away with a clear understanding of why K8S is so useful for your application and how to actually take advantage of it.</p> <p><span style="text-decoration: underline;">Note</span>: the presenter is Michael Rice, Field Engineer Manager for Cloud Native Apps at VMware, but this presentation will focus on open source K8S and tooling.</p>Sat, 14 Sep 2019 12:14:56 Z2019-09-14T12:14:56ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1848How to Migrate to Modern C++A practical guide on how to tackle technical debt in legacy applications that no one fully understands. i.e. C++98/03 to C++11/14/17 strategies. i.e. Lessons learned from this thing I did. i.e. How dinosaurs can become robots.Mon, 16 Sep 2019 18:29:56 Z2019-09-16T18:29:56ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1874HTTPS in ASP.NET Core in Docker Linux Containers Deep DiveASP.NET Core lights up HTTPS by default. Running from the command line or from Visual Studio installs and trusts self-signed certificates so we don't get the browser error when debugging. But how do we get this trust experience when running inside Linux Docker containers? Let's dive deep into certificate trust, how Linux stores certificates, and how ASP.NET Core uses certificates. With that knowledge in place, let's build up Docker containers for both development (self-signed) work, and containers that have real, trusted certificates should you choose a Layer-4 load ballancer in production.Sun, 29 Sep 2019 19:33:27 Z2019-09-29T19:33:27ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1840Information Hiding with Opaque Pointers in C<p>Are users of your C structures reaching in and placing your structures in an invalid or inconsistent state? Are changes you make to your structures breaking your users' code? Do you need to make some of your structure members read-only, write-only, read-write, or completely invisible to your users? Using opaque pointers in C can help you a achieve a clean interface that gives you full control over the internal implementation and visibility of your structure members. We'll use Visual Studio 2019 Community edition and the C compiler built into Visual C++, but the techniques can be applied to a wide variety of C compiler implementations. (Knowledge of C structures and pointers is recommended.)</p>Thu, 12 Sep 2019 18:52:44 Z2019-09-12T18:52:44ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1859Intro to Azure Cognitive Services - Computer VisionMicrosoft Azure offers a wealth of tools to examine the content of images, using pretty sophisticated machine learning capabilities. Using these capabilities is not difficult, but it can be daunting to get started. Come explore the Cognitive Services Computer Vision capabilities and learn how to jump start your image processing.Tue, 24 Sep 2019 10:26:06 Z2019-09-24T10:26:06ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1866Intro to Deep Reinforcement Learning with Retro Video GamesVideo games are one of the most exciting environments for the future of machine learning. Specifically, reinforcement learning models, that learn through interacting with their environment, have found a true training and testing ground in the world of video games. This is because reinforcement learning, unlike other areas of machine learning, is focused solely on a reward signal and maximizing a specific reward function. So we will first look at some of the recent accomplishments and talk about deep reinforcement learning at the highest levels of engineering like AlphaStar and OpenAi Five. Then we will get hands-on and look at creating our own deep reinforcement learning agents using OpenAI's Gym-Retro environment. This talk will show you how to setup your learning environment, introduce convolutional neural networks inputs for your model (to read the screen), and show you how to build your first deep reinforcement learning model that learns to play a level in Sonic the Hedgehog 2 (and other retro video games).Thu, 26 Sep 2019 07:47:15 Z2019-09-26T07:47:15ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1783Intro to Python Part 1 - The Core LanguageLearn about Python! In this talk we will discuss the Python language core features and libraries as well what it takes to get started using Python.Wed, 07 Aug 2019 17:59:38 Z2019-08-07T17:59:38ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1784Intro to Python Part 2 - The EcosystemOne of the Python language's super powers is its diverse ecosystem of third party modules. This talk will explore a tiny subset of the many things you can do with third party modules. This will include things like accessing a database, making a webapp, manipulating images and more!Fri, 31 Jan 2020 22:42:20 Z2020-01-31T22:42:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1775Intro to Rust<p>Rust is a modern, strongly-typed, non-garbage collected language from Mozilla pursuing the trifecta: safety, concurrency, and speed. For four years the StackOverflow survey has placed Rust as the most loved language. You can write anything from operating systems, device drivers, video games, graphical applications, to web applications in Rust. It can be a little intimidating to get started as there are a few concepts that may be new to the learner. We'll explore the language by looking at how to build a _. After this session, you should be able to understand some of the features of Rust, how to get started, and where to find resources to continue learning Rust if you so desire.</p>Mon, 12 Aug 2019 03:16:10 Z2019-08-12T03:16:10ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1803Intro to the Go Language<p>Taught by the author of Head First Go, this session will give you an idea of what Go's about. We'll show you basic program syntax, including time-savers like short variable declarations and "for ... range" loops. We'll show you cool Go features like first-class functions (pass functions as data!), interfaces (duck typing at compile time!), method promotion (OOP without class inheritance!), and goroutines and channels (concurrency made easy!). When we're done, you'll understand what Go offers and how it can help you on your next project!</p>Tue, 13 Aug 2019 05:48:20 Z2019-08-13T05:48:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1742It All Starts with Git...Get up to speed with git in this fast-track session on understanding how to use git. From open source to the enterprise, and even every-day file management, git is the first step to small- and large-scale success.Wed, 07 Aug 2019 17:57:59 Z2019-08-07T17:57:59ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1791Kotlin Coroutines for Android Development<p>Kotlin is the new and upcoming language of choice among Android Developers. Kotlin introduces a lot of neat features, one of which is Coroutines. If you have used AsyncTasks, Executors, and other types of background processing in Android to handle background processes, coroutines aims to do the same thing, in a more concise, async-await style. We'll talk about what coroutines are, how they can be used in your app, and how they differ from other background processing Android gives us. </p>Wed, 07 Aug 2019 18:00:24 Z2019-08-07T18:00:24ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1855Landing Pages 101 and Workshop<p>Don’t be intimidated when it’s time to create a landing page! We’ll go over easy tips on how to make a landing page with WordPress. We cover the latest trends in landing pages, as well as how design needs will change according to your resources and goals. In a crowd-sourcing exercise, get feedback for your landing pages; submit them ahead of time via twitter to @awatsonbarber</p>Fri, 20 Sep 2019 16:57:35 Z2019-09-20T16:57:35ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1824Let us Learn to Say NO<p>"NO" is a simple English word, however as grownups and professionals we find to stay away from using this word as much as possible. What does that result into? A fully packed work schedule, working on something we are not fully interested in, utlimately making us unhappy individuals. In this session, get re-introduced to the word NO and see how it helps us manage our time well, keep us active and happy. Let us all learn to use this word efficiently to remove the negative bubble around us.</p>Thu, 13 Feb 2020 12:11:20 Z2020-02-13T12:11:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1805Let's Talk About TextWhen designing mobile user interfaces, a lot of developers and designers overlook the power of text. From formatting and presentation, to building editing experiences, text is an extremely important part of building good mobile applications. In this presentation, we will start by talking about fonts, typography, and dynamic type. We'll look at how to use standard and custom fonts and support iOS dynamic type settings to dynamically size your UIs based on the user's text size settings. We will then turn to attributed strings and text views and will look at how to present and interact with text in your UIs. We will end with a full-blown look at TextKit and how to build rich text editing experiences in your user interfaces including how to accomplish syntax highlighting, spell checking, and other features when building editing experiences. Please join us to learn about using text in your mobile applications. (This presentation is focused on iOS technologies.)Mon, 19 Aug 2019 14:56:18 Z2019-08-19T14:56:18ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1789ML Hands On: Optical Character RecognitionIn this workshop, you will create a notebook that does optical character recognition on hand-written digits. We will be using Logistic Regression, which is a very basic general purpose classification algorithm. It has been a popular choice for more than half a century. Even in our current era with the explosive advances in neural networks, Logistic Regression remains a mainstay for its simplicity and speed. Applying this very simple algorithm to the complex task of optical character recognition will help you see how approachable machine learning can be. To prepare for the class, create an Amazon AWS account and go to Amazon SageMaker. Create a notebook instance with a name you will remember and instance type c5.xlarge. All the rest of the settings can be left as defaults. Once it is working, make sure you shut it down so the notebook instance status says "Stopped". That way you will not be charged for it while you are not using it. Bring a laptop with you.Wed, 07 Aug 2019 18:00:19 Z2019-08-07T18:00:19ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1807Mojolicious: A Modern Web FrameworkMojolicious is a fresh take on rapid, robust web development utilizing the latest web standards and technologies. You can get started with your project quickly, with a framework that grows with your needs. Mojolicious is a real-time web framework, which allows a new class of web applications using WebSockets, non-blocking techniques like Promises, and thousands of other proven, tested modules that can interface with almost anything. Its foundational language already comes bundled with all popular Linux distributions from supercomputers to the Raspberry Pi, so it is easy to get running in your development environment and on your servers. It is well documented and supported by an active community.Sun, 18 Aug 2019 13:54:38 Z2019-08-18T13:54:38ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1872Non-coding elements of Identity Governance program: maturity, ownership and human factor costWhat is outside of Identity Management provisioning workflows, behavior analytics, connector factory, microservices, protocols and data rendering? People, not just identities, actual people who manage policies, request and approve access, administer and use Identity management tools, adhere or deviate from defined rules. People who own elements of Identity Governance programs and drive business to some direction. How to measure maturity of Identity, Governance and Administration, so one can build a program which will correspond current state and bring it to the next level? How to estimate cost of human factor around Identity Governance program? All of these questions will be discussed during this session, and participant will get practical advises and recommendations not only how to do it, but also how to explain to organization leaders why it is important. Identity is a new security perimeter, so we need to be smart about real human beings behind them.Sat, 28 Sep 2019 13:00:53 Z2019-09-28T13:00:53ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1785Offline ML with RustWe will create a Rust app that uses a frozen model to make inferences on image data. We will then cross-compile the app for ARMv7 Linux architecture and deploy it to a Raspberry Pi 3, demonstrating the ability to train once run anywhere. Aside from deployment, the Pi will not need an internet connection to run the model (look ma, no wiretap).Wed, 07 Aug 2019 18:00:02 Z2019-08-07T18:00:02ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1860Policy-as-Code using Azure DevOps<p>DevSecOps: let's not forget security in your DevOps methodologies. In this session we'll go over using Azure Pipelines in order to comply with your security needs in your environments while continue with CI/CD. -Introductory Level-</p>Tue, 24 Sep 2019 09:05:13 Z2019-09-24T09:05:13ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1757QUANTUM COMPUTING AND OUR IMMINENT BRAVE NEW WORLDThe coming Quantum age will soon eclipse this Silicon age. Whatever you think about classical computing, machine learning, data security, and personal privacy is all about to change. Quantum is different. Parallel universes? Teleportation? Writers will need to work harder to put the "fiction" back into Science Fiction. Perhaps the most unexpected changes will be in artificial intelligence, medical research, climate control, education, and manufacturing. But what? And, how did we get here? When will we get there? And, what should you do before we arrive?Wed, 07 Aug 2019 17:58:52 Z2019-08-07T17:58:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1761React Hooks<p>We'll cover these common hooks (useState, useEffect, and useCallback) in their basic form but then I'd also like to talk about their nuances which tend to confuse those who are new to hooks. All live coding of course. This is not a beginner React talk so it would be helpful if you already understood React basics. It would also be helpful if you had very basic level knowledge of these hooks (and hooks in general) as we'll be moving fast through some of the more advanced ideas behind these.</p>Wed, 07 Aug 2019 19:03:20 Z2019-08-07T19:03:20ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1830Really Simple Event-Driven REST APIs<p>When should you use request-response and when should you use messaging instead? What if you could use REST for everything, including Event-Driven Architectures?</p> <p>Learn how to design REST APIs that support both conventional human user interfaces and services, and those that support Event-Driven, and more generally, Message-Driven Architectures. As a bonus, expect to pick up tips on Reactive programming. This session is about REST API design for request-response and event-driven microservices with Domain Events using Event Sourcing and CQRS.</p>Thu, 12 Sep 2019 18:52:33 Z2019-09-12T18:52:33ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1831Really Simple Functional ProgrammingIf you have the feeling that Functional Programming is a big mystery then this session is for you. Don't be frightened by Pure Functions, Immutability, Side-Effect Free, Referential Transparency, Functors, Monads, and other terms. Using some very simple design techniques you can get the best out of Functional Programming rather than it getting the better of you. Start using Functional Programming immediately during the session.Thu, 12 Sep 2019 18:52:35 Z2019-09-12T18:52:35ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1838Really Simple Reactive Programming (Java and C#.NET)Applications, services, and systems are changing out of necessity because of the kinds of platforms that are available today: distributed and multi-core. Have you been curious about Reactive Programming but haven't had time to dig in? Following this session you will be in position to put Reactive to use on your projects. We will start from foundational building blocks and scale up to full Reactive implementations. If you bring your laptop and Java 1.8+ or .NET Core2 with C# you can try out Reactive during the session.Thu, 12 Sep 2019 18:52:40 Z2019-09-12T18:52:40ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1764Relative SizingHumans are bad at estimating in real numbers, that's why we have relative sizing. Learn about the problem space, and different strategies you can use at different points in the life cycle of a story.Wed, 07 Aug 2019 17:59:16 Z2019-08-07T17:59:16ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1811Responsive Layouts with Flexbox and CSS Grid<p>Learn how to make web pages look great on any screen with just CSS. Great for beginners, and web developers who want to stop using floats, inline-block, or weird positioning hacks.</p> <p> </p> <p>Codepens used in this presentation:</p> <ul> <li>Beginning flex: <a href="https://codepen.io/lbrugg/pen/KKKKvYN" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/KKKKvYN</a></li> <li>Flex webpage: <a href="https://codepen.io/lbrugg/pen/vYYYJvb?editors=1100#0" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/vYYYJvb</a></li> <li>Beginning grid: <a href="https://codepen.io/lbrugg/pen/BaaawEZ" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/BaaawEZ</a></li> <li>Grid form: <a href="https://codepen.io/lbrugg/pen/xxxxXNv" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/xxxxXNv</a></li> </ul>Thu, 22 Aug 2019 16:26:25 Z2019-08-22T16:26:25ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1793Rock Your Code: Code & App Performance for Microsoft .NETThe performance of code is always something that is very important. Even more important if your back-end apps are processing tens of thousands of requests per second. In this session, I will reveal the dos and donts when it comes to improving code performance when writing business software. Some code I will show can be up to 98% faster! Reducing memory that your app uses is also very important and will be discussed in detail. The demos in this session will work with the .NET Framework and .NET Core.Wed, 07 Aug 2019 18:00:26 Z2019-08-07T18:00:26ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1794Rock Your Code: Real World Cloud App From Start to Finish (Part 1)This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled Improving Code Quality One Developer At A Time. Note: Even though code examples in this session are in .NET, the concepts can be applied to any languageWed, 07 Aug 2019 18:00:32 Z2019-08-07T18:00:32ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1795Rock Your Code: Real World Cloud App From Start to Finish (Part 2)This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled Improving Code Quality One Developer At A Time. Note: Even though code examples in this session are in .NET, the concepts can be applied to any languageWed, 07 Aug 2019 18:00:34 Z2019-08-07T18:00:34ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1862Running Docker images in AWS Fargate<p>Allow me to tell you a story, a story about a simple web-service that answers only one question: if a given number is prime.</p> <p>The core problem is first solved with a Java class, which is then wrapped into a WebServlet and tested within a web server environment. The web server, however, does not get directly installed, but a docker image is created, containing all the mentioned components.</p> <p>Eventually, the docker container is pushed into <strong>AWS ECR</strong>, a container registry, from which it is deployed and run. Using <strong>AWS ECS </strong>and<strong> Fargate</strong>, the simple service is finally made public and available to the world, scalable, all without having to manage servers or clusters.</p> <hr /> <p>Well, this is not about story telling of course, nor will I focus too much on Web-Services or <a class="markup--anchor markup--p-anchor" href="https://www.docker.com/" target="_blank" rel="noopener noreferrer" data-href="https://www.docker.com/">Docker</a>, still, as a starting point, we want to create a simple Web-Service, implemented in Java and made <a class="markup--anchor markup--p-anchor" href="https://tomcat.apache.org/" target="_blank" rel="noopener noreferrer" data-href="https://tomcat.apache.org/">available </a>via Tomcat. This web server will then be put into a docker container and stored at the Amazon Elastic Container Registry (ECR), a private, but fully-managed container registry that makes it easy for developers to store, manage, and deploy Docker container images... But that's just the the beginning, the focus will then be on AWS ECS and Fargate, a compute engine for Amazon ECS allowing you to run containers without having to manage servers or clusters. </p> <p><strong>All of this is done in code</strong>, i.e. <strong>not</strong> using the AWS Web UI. Of course all the code and shell scripts are demo-ed in this hands-on session .. and shared on github.</p> <p> </p> <p>I expect that you'll leave the session with a good understand of what AWS ECR, AWS ECS, and Fargate are all about and with a motivation to try it out and run your own docker container in fargate, making it available to your users, customers, or the world. </p>Wed, 25 Sep 2019 04:10:53 Z2019-09-25T04:10:53ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1806Seventy years of computer history in about Twenty minutes<p>With nothing but a box-full of actual see-and-touch artifacts from the last hundred years, we will meet the first person to invent the concept of a computer program, and the person to discover the first real computer "bug" and invent the concept of a computer language (they were both women). We will discover why Samuel Morse's telegraph still lives in the newest "smart" devices, how Golden Age movie actress Hedy Lamarr helped make cellphones possible, and how "It's all just ones and zeroes" changed everything.</p>Mon, 19 Aug 2019 14:56:04 Z2019-08-19T14:56:04ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1861SQL (Why Little Bobby Tables is funny)<p>SQL (Structure Query Language) has been the preffered interface to relational database since the 70s.</p> <p>You may be thinking: Ok grandpa!  Let the 70s have their SQL ... we're living in the NO-SQL era.</p> <p>Not so fast! An understanding of SQL is needed.  It'll allow you to understand that legacy (and that not-so-'legacy') DB code and set you up for success with the many variations that the NoSQL DBs use (Cassandra - CQL, Kafka - KSQL, Hadoop - SQL-on-Haddop, Amazon - Just SQL).</p> <p>We'll be taking a brief dive into SQL (from a programmer's perspective) to see what it can do for you, how to get it done and ending with some best practices - maybe some examples.</p> <p>Little Bobby Tables XKCD: https://xkcd.com/327/</p>Wed, 25 Sep 2019 16:23:17 Z2019-09-25T16:23:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1766TDD with Javascript<p>In this talk we will talk about Test Driven Development, we will cover:</p> <p>1. Why we choose TDD<br />2. Understand how to use TDD<br />3. Code implementation using javascript and Jest testing framework.<br />4. Real Demo of Red Green Refactor steps.</p>Thu, 26 Sep 2019 07:47:32 Z2019-09-26T07:47:32ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1842Ultimate Presentation Formula for NerdsAs a techie, we need to be able to talk to more than just 1s and 0s. Talking to computers is great but we also need to be able to talk to humans and give an effective presentations if we want to be seen as the go to expert. Join me in this interactive session to get the critical techniques I used to grow from 0 talks to giving 200+ talks at over 75 events around the world. Public speaking just like talking is a skill that can be learned with the right training and mentorship. Being shy and introverted doesn't have to doom you to a life of only talking to computers even though it is really cool to talk to computers. You will walk away inspired to share your knowledge and be seen as the go to expert.Thu, 12 Sep 2019 13:29:42 Z2019-09-12T13:29:42ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1852User interfaces in ElmElm, a delightful language building robust user interfaces with no runtime exceptions, is inspiring other libraries (see also Redux) and showing that statically typed languages can be approachable. A short introduction on why you might be interested in using Elm. Or, try before you attend: https://elm-lang.org/tryTue, 17 Sep 2019 12:26:21 Z2019-09-17T12:26:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1741Using Go to Call Unsupported SyscallsIn this talk, we will take a look at what is required to make native syscalls to the operation system through Go. We will cover the basics of what syscalls are and their importance in systems programming and will show off a few small examples before diving into the main topic. This will include mapping syscall numbers to constants and looking at what the syscall itself requires for arguments and converting those C memory layouts into Go. We will go into a number of components in the standard librarys syscall package for converting strings to byte array pointers, etc. and working with the standard librarys unsafe package to access the systems memory directly. Finally, well put it all together and demonstrate the code with live examples. All code examples will be made available on Github.Wed, 07 Aug 2019 17:57:52 Z2019-08-07T17:57:52ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1850Using Visual Studio 2019 with code automation to auto-generate customized service layers in a Contract-Driven Architecture<p>Whether you are building a small 2-tier application for a mobile application or a Fortune 500 Enterprise class n-tier/SOA implementation with all of the bells and whistles, the basic services that sit between the layers of your application are both critical and at the same time kind of boring. Nothing will impact an application in terms of performance or security failures faster than a poorly implemented/performing service layer. Leveraging a code automation tool (such as CodeFactory), within Visual Studio 2019, we will demonstrate how to efficiently build customized service layers that will help to ensure that your architecture standards are met regardless of who is actually doing the coding. Applying code automation 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</p>Thu, 19 Sep 2019 08:11:44 Z2019-09-19T08:11:44ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1857WASM: Practical uses today.No matter what your language or platform, WASM may well be the future of how we run software, but that hypothetical future is a long way away. In this talk we're going to explore what it's actually good for today. We'll start with a brief overview of what WASM, WAT, and WASI are. Then we'll look at the languages and tool chains that compile into WASM, as well as the platforms that can run it.Sun, 22 Sep 2019 10:02:39 Z2019-09-22T10:02:39ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1810Web Scraping with Python<p>The session will review a web-scraping project.  The objective: collect the contact information from an online membership database.  The session will take a quick look at a number of web-scraping tools including Beautiful Soup, PyPupetteer, Requests, and Requests-HTML, Scrapy and Selenium.  The session will share key resources for HTML novices to effectively take on web-scraping tasks.  A full walkthrough of the code, including post-processing of the collected CSV files, will be included.  Key lessons learned, and multiple stumbling blocks will be reviewed.</p>Tue, 20 Aug 2019 17:14:02 Z2019-08-20T17:14:02ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1801What's New in PHP 7.4?<p>PHP is constantly evolving and getting better and faster. Come learn about the latest features in the language from the past few years and what's coming up very soon in version 7.4.</p>Mon, 12 Aug 2019 03:16:25 Z2019-08-12T03:16:25ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1816Whats New and Upcoming with XamarinXamarin makes building great mobile applications easy, and the latest Xamarin release brings features that make building applications even easier. In this presentation, we will look at three new and emerging technologies that will help you build better Xamarin applications than you could before; including the new Shell Navigation, Hot Reloading, and Collection Views. Learn how to use web-style navigation approaches within a Xamarin application. Watch how easy it is to build a Xamarin application iteratively using Hot Reloading. Understand how to organize and present your data in a more concise interface using Collection Views.Wed, 28 Aug 2019 17:28:31 Z2019-08-28T17:28:31ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1825Why is Implementing Requirements So hard?Software project failures are making front-page news. But even with agile, it seems that fulfilling requirements is a herculean task. Maybe the answer is in the statement? Join me in looking at how the software industry has failed at fulfilling requirements and some of the ways it is believed to have caused those failures. Without understanding history, we're doomed to repeat it; but we'll also continue to look at details ways of addressing the problem. We'll then round things out by moving past the subjective into the objective to detail some techniques all of us can use that truely help manage the symptoms causing the problems.Fri, 20 Sep 2019 08:54:21 Z2019-09-20T08:54:21ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1858Why StorybookJS?<p>StorybookJS is a tool utilized in Component Driven Development, <br />popularized by ReactJS, <br />born because of it.</p> <p>In recent years, the story has evolved.<br />It will break the wall between UI Development and UI/UX design.</p> <p>Design System.</p>Mon, 23 Sep 2019 18:38:17 Z2019-09-23T18:38:17ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1841With the gig economy even web servers are becoming gig workers.<p>Gone are the days of running a LAMP server and having it sitting in a room waiting for a request. Now your server comes online long enough to serve your users the page they want then it goes away. We will look at some of the ways faas and paas are replacing traditional web servers and how to setup a simple dynamic serverless site in 5 minutes. </p>Thu, 12 Sep 2019 18:52:46 Z2019-09-12T18:52:46ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1739Writing REST API's in CThis talk will be all about building an HTTP REST API in C. We'll go through the details of configuration and setup of the main server and then dive into writing request handlers. Then, middleware for authentication using basic authentication and token authentication. Once all of the aforementioned is complete, we'll get into build process and deployment.Wed, 07 Aug 2019 17:57:49 Z2019-08-07T17:57:49ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1800Writing Secure CodeAre you writing apps in PHP or a using a PHP Framework? Is your code leaving valuable data vulnerable? Learn the basics of protecting data in PHP!Fri, 09 Aug 2019 06:52:05 Z2019-08-09T06:52:05ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1756Xamarin Mobile Development - AdvancedWalk through implementing push notifications, signal-R, OAuth, embedded databases, lazy loaded dependency injection along with the new features of Xamarin.Forms 4.0 as well as docker as a development tool.Wed, 07 Aug 2019 17:58:50 Z2019-08-07T17:58:50ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1755Xamarin Mobile Development For BeginnersLearn the new features of Visual Studio integration with Xamarin. How to create your first project using a simple webAPI with a docker instance and avoid common pitfalls.Wed, 07 Aug 2019 17:58:49 Z2019-08-07T17:58:49ZCopyright ©2010-2024, Desert Code Camphttps://oct2019.desertcodecamp.com/session/default.aspx?sessionid=1760You should adopt Kafka now, tips for getting Kafka apps to market fast<p>Is your organization adopting Kafka as their messaging bus but you’ve found that it will take too long to migrate your existing service-oriented architecture to a log-oriented architecture? Some of the biggest challenges in building a new stream processor can be implementing all the business logic again. It has become increasingly common for companies with high-throughput source streams and change-data-capture logs to want to build systems fast. At Ticketmaster, we have found a solution to the problem by leveraging the business logic in our existing services and calling them from our Java based KafkaStreams processor applications in an efficient manner. In this talk, we will examine the initial challenges we faced in our transition, then we will explore the solutions we built to address the use cases at Ticketmaster. The primary focus will address our workflow around calling services to bring stream processor applications to market fast. We will review our challenges and share tips for success.</p>Wed, 07 Aug 2019 17:58:59 Z2019-08-07T17:58:59ZCopyright ©2010-2024, Desert Code Camp