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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772988Adding Avro to your Kafka streams to meet your messaging needs2019-08-29T04:10:19-07:002019-08-29T04:10:19-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772989Adopting SAFe2019-08-07T17:59:18-07:002019-08-07T17:59:18-07:00In an ever changing, highly dynamic industry, how enterprises / groups can adopt SAFe &amp; move towards agility in a SAFe way.
Idea is to understand SAFe principles, guidelines &amp; adopt new roles &amp; techniques towards large scale solutions.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772990Amazing Algorithms for Solving Problems in Software2019-08-20T05:24:25-07:002019-08-20T05:24:25-07:00Yeah 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&#39;ll see how each algorithm works, analyze its strengths and weaknesses, and determine when it is best used. You&#39;ll leave with the knowledge you need to solve problems using these algorithms in your language of choice.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772991Applied OOP Design Patterns: Rolling with the Punches2019-08-12T03:16:23-07:002019-08-12T03:16:23-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772992Architecture and Complex Software Solutions2019-09-20T08:54:21-07:002019-09-20T08:54:21-07:00By no means does software succeed without making some architectural decisions. Sometimes they&#39;re easy, almost implicit, but sometimes there are not. It&#39;s in those situations where architecture isn&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772993Automate AWS with the CLI and Shell Scripting2019-09-16T15:54:17-07:002019-09-16T15:54:17-07:00<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&rsquo;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&rsquo;ll also learn about &ndash;filter, &ndash;query (JMESPath!), and a handful of other tips &amp; 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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772994Automated routing of messages with IoT Hub2019-08-29T13:49:51-07:002019-08-29T13:49:51-07:00IoT Hub Automagical Routing of messages
In this talk, I&#39;ll use several Azure services to create a demo that shows how the automatic routing available in IoT Hub works. You&#39;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&#39;ll give some examples of IoT, and then delve into IoT Hub. I&#39;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&#39;ll see how to route messages to a storage account. We&#39;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&#39;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&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772995Automatically Create and Deploy Asp.Net Core Angular Applications with a CLI2020-01-30T12:30:45-08:002020-01-30T12:30:45-08:00Learn how to efficiently create and deploy a new ASP.Net Core Angular 8 Single Page Application and deploy a Docker Container using Terraform. Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772996Automating your day job with Infrastructure as Code2019-09-08T13:06:09-07:002019-09-08T13:06:09-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772997AWS, Go, Docker Blob Storage File Server2019-09-16T18:29:51-07:002019-09-16T18:29:51-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772998Azure Governance2019-10-02T14:12:42-07:002019-10-02T14:12:42-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=772999Become a Linux Command Line Guru2019-09-16T18:29:47-07:002019-09-16T18:29:47-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773000Blazor - Life after the introduction Demo2019-08-07T17:59:11-07:002019-08-07T17:59:11-07:00Once 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 BlazorCopyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773001Blazor Basics2020-02-27T21:33:17-08:002020-02-27T21:33:17-08:00The 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773002Build App with Angular2019-08-07T17:59:23-07:002019-08-07T17:59:23-07:00Build App with Angular using some best practice of AngularCopyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773003Building SVG with React - What I learned while building a little project2019-08-07T17:59:21-07:002019-08-07T17:59:21-07:00I 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773004Building your Data Lake on AWS2019-09-17T10:50:23-07:002019-09-17T10:50:23-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773005C++20: The new stuff you need to know about2020-01-31T02:16:56-08:002020-01-31T02:16:56-08:00<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.&nbsp; A subset of the language changes include concepts, modules, coroutines, spaceship operator (3-way compare).&nbsp; On the library side, the STL algorithms have been completely revamped using ranges.&nbsp; 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.&nbsp; 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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773006C+20: From STL to Ranges - Using Ranges Effectively2019-10-02T19:06:05-07:002019-10-02T19:06:05-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773007Catching and Handling Windows Exceptions in C++2019-09-12T18:52:41-07:002019-09-12T18:52:41-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773008Clean Code - Best Practices2019-09-16T09:24:13-07:002019-09-16T09:24:13-07:00All 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 &amp; 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773009Clean Code The Art of Decoupling2019-09-16T09:24:18-07:002019-09-16T09:24:18-07:00Why 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773010Cypress: Where Automated Web UI Testing Isnt Just for QA Anymore2019-09-12T13:29:45-07:002019-09-12T13:29:45-07:00Todays 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773011Data-Driven Continuous Improvements2019-08-07T17:59:43-07:002019-08-07T17:59:43-07:00In 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773012Database DevOps with Containers2019-09-29T19:33:27-07:002019-09-29T19:33:27-07:00Unlike 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773013Deep Learning Basics2019-08-07T17:58:56-07:002019-08-07T17:58:56-07:00In this session, you&#39;ll see how deep learning works. We&#39;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&#39;t have to be an expert in calculus, linear algebra, or statistics. You&#39;ll see that this technology doesn&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773014DevOps and DevSecOps (DevOps with Security in Mind)2019-10-06T08:54:12-07:002019-10-06T08:54:12-07:00<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?&nbsp;</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.&nbsp;</p>
<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.&nbsp;</li>
</ul>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773015DevOps Pipelines Overview2019-08-19T17:53:55-07:002019-08-19T17:53:55-07:00We 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773016Discussion: Identity Management Professional Meetup2019-09-27T13:35:29-07:002019-09-27T13:35:29-07:00<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.&nbsp; Vendor specific? Vendor agnostic? Monthly? Quarterly? Physical or virtual? Where? Should we tie in with IDPro?</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773017Dockerizing Applications2019-08-08T17:14:29-07:002019-08-08T17:14:29-07:00Have 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773018Effective Communication: Talk Smarter, Not Harder2019-08-07T17:59:36-07:002019-08-07T17:59:36-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773019Email templates 1012019-09-02T15:41:31-07:002019-09-02T15:41:31-07:00Email 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773020Event-Driven Architectures with Apache Kafka2019-09-18T10:13:04-07:002019-09-18T10:13:04-07:00&quot;Event-driven&quot; 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773021Exploring Neural Word Embeddings with Python2019-08-07T17:59:29-07:002019-08-07T17:59:29-07:00<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>I'm teaching a junior college&nbsp;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>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>&nbsp;</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773022Fact or Crap: Self Organizing Teams Work2020-02-18T07:42:26-08:002020-02-18T07:42:26-08:00Self-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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773023Getting Started with Asp.Net Core Signal R2019-08-26T09:02:24-07:002019-08-26T09:02:24-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773024Getting Started with Azure Active Directory2019-09-27T14:35:33-07:002019-09-27T14:35:33-07:00Behind 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!Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773025How Quality Assurance Makes an Impact in the Software Development Life-cycle2019-08-08T17:15:03-07:002019-08-08T17:15:03-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773026How to be a tech lead2019-09-14T12:14:51-07:002019-09-14T12:14:51-07:00<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>
<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>
<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773027How to Be an MVP2019-08-07T18:00:15-07:002019-08-07T18:00:15-07:00Many 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 &quot;How to Be an MVP in Life&quot;, 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773028How to get through the awkwardness of networking2019-09-02T19:35:52-07:002019-09-02T19:35:52-07:00There&#39;s a lot about modern networking that we all should un-learn. Showing off your knowledge and targeting the &quot;important&quot; 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&#39;s still hard to find people to talk to, and even harder to know to start up a conversation. I&#39;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&#39;ll come away from this presentation with advice you can put to use immediately.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773029How to make the most of Kubernetes as a developer2019-09-14T12:14:56-07:002019-09-14T12:14:56-07:00<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>
<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>
<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773030How to Migrate to Modern C++2019-09-16T18:29:56-07:002019-09-16T18:29:56-07:00A 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773031HTTPS in ASP.NET Core in Docker Linux Containers Deep Dive2019-09-29T19:33:27-07:002019-09-29T19:33:27-07:00ASP.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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773032Information Hiding with Opaque Pointers in C2019-09-12T18:52:44-07:002019-09-12T18:52:44-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773033Intro to Azure Cognitive Services - Computer Vision2019-09-24T10:26:06-07:002019-09-24T10:26:06-07:00Microsoft 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773034Intro to Deep Reinforcement Learning with Retro Video Games2019-09-26T07:47:15-07:002019-09-26T07:47:15-07:00Video 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&#39;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).Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773035Intro to Python Part 1 - The Core Language2019-08-07T17:59:38-07:002019-08-07T17:59:38-07:00Learn 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773036Intro to Python Part 2 - The Ecosystem2020-01-31T22:42:20-08:002020-01-31T22:42:20-08:00One of the Python language&#39;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!Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773037Intro to Rust2019-08-12T03:16:10-07:002019-08-12T03:16:10-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773038Intro to the Go Language2019-08-13T05:48:20-07:002019-08-13T05:48:20-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773039It All Starts with Git...2019-08-07T17:57:59-07:002019-08-07T17:57:59-07:00Get 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773040Kotlin Coroutines for Android Development2019-08-07T18:00:24-07:002019-08-07T18:00:24-07:00<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.&nbsp;</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773041Landing Pages 101 and Workshop2019-09-20T16:57:35-07:002019-09-20T16:57:35-07:00<p>Don&rsquo;t be intimidated when it&rsquo;s time to create a landing page! We&rsquo;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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773042Let us Learn to Say NO2020-02-13T12:11:20-08:002020-02-13T12:11:20-08:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773043Let's Talk About Text2019-08-19T14:56:18-07:002019-08-19T14:56:18-07:00When 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&#39;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&#39;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.)Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773044ML Hands On: Optical Character Recognition2019-08-07T18:00:19-07:002019-08-07T18:00:19-07:00In 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 &quot;Stopped&quot;. That way you will not be charged for it while you are not using it. Bring a laptop with you.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773045Mojolicious: A Modern Web Framework2019-08-18T13:54:38-07:002019-08-18T13:54:38-07:00Mojolicious 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773046Non-coding elements of Identity Governance program: maturity, ownership and human factor cost2019-09-28T13:00:53-07:002019-09-28T13:00:53-07:00What 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773047Offline ML with Rust2019-08-07T18:00:02-07:002019-08-07T18:00:02-07:00We 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).Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773048Policy-as-Code using Azure DevOps2019-09-24T09:05:13-07:002019-09-24T09:05:13-07:00<p>DevSecOps: let's not forget security in your DevOps methodologies. In this session&nbsp;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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773049QUANTUM COMPUTING AND OUR IMMINENT BRAVE NEW WORLD2019-08-07T17:58:52-07:002019-08-07T17:58:52-07:00The 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 &quot;fiction&quot; 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?Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773050React Hooks2019-08-07T19:03:20-07:002019-08-07T19:03:20-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773051Really Simple Event-Driven REST APIs2019-09-12T18:52:33-07:002019-09-12T18:52:33-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773052Really Simple Functional Programming2019-09-12T18:52:35-07:002019-09-12T18:52:35-07:00If you have the feeling that Functional Programming is a big mystery then this session is for you. Don&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773053Really Simple Reactive Programming (Java and C#.NET)2019-09-12T18:52:40-07:002019-09-12T18:52:40-07:00Applications, 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&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773054Relative Sizing2019-08-07T17:59:16-07:002019-08-07T17:59:16-07:00Humans are bad at estimating in real numbers, that&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773055Responsive Layouts with Flexbox and CSS Grid2019-08-22T16:26:25-07:002019-08-22T16:26:25-07:00<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>Codepens used in this presentation:</p>
<li>Beginning flex:&nbsp;<a href="https://codepen.io/lbrugg/pen/KKKKvYN" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/KKKKvYN</a></li>
<li>Flex webpage:&nbsp;<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:&nbsp;<a href="https://codepen.io/lbrugg/pen/BaaawEZ" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/BaaawEZ</a></li>
<li>Grid form:&nbsp;<a href="https://codepen.io/lbrugg/pen/xxxxXNv" target="_blank" rel="noopener">https://codepen.io/lbrugg/pen/xxxxXNv</a></li>
</ul>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773056Rock Your Code: Code &amp; App Performance for Microsoft .NET2019-08-07T18:00:26-07:002019-08-07T18:00:26-07:00The 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773057Rock Your Code: Real World Cloud App From Start to Finish (Part 1)2019-08-07T18:00:32-07:002019-08-07T18:00:32-07:00This 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 &amp; 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 languageCopyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773058Rock Your Code: Real World Cloud App From Start to Finish (Part 2)2019-08-07T18:00:34-07:002019-08-07T18:00:34-07:00This 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 &amp; 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 languageCopyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773059Running Docker images in AWS Fargate2019-09-25T04:10:53-07:002019-09-25T04:10:53-07:00<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>
<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,&nbsp;a compute engine for Amazon ECS allowing you to run containers without having to manage servers or clusters.&nbsp;</p>
<p><strong>All of this is done in code</strong>, i.e. <strong>not</strong> using the AWS Web UI. Of course&nbsp;all the code and shell scripts are demo-ed in this hands-on session .. and shared on github.</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.&nbsp;</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773060Seventy years of computer history in about Twenty minutes2019-08-19T14:56:04-07:002019-08-19T14:56:04-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773061SQL (Why Little Bobby Tables is funny)2019-09-25T16:23:17-07:002019-09-25T16:23:17-07:00<p>SQL (Structure Query Language) has been the preffered interface to relational database since the 70s.</p>
<p>You may be thinking: Ok grandpa!&nbsp; 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.&nbsp; 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>
Public speaking just like talking is a skill that can be learned with the right training and mentorship. Being shy and introverted doesn&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773064User interfaces in Elm2019-09-17T12:26:21-07:002019-09-17T12:26:21-07:00Elm, 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/tryCopyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773065Using Go to Call Unsupported Syscalls2019-08-07T17:57:52-07:002019-08-07T17:57:52-07:00In 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773066Using Visual Studio 2019 with code automation to auto-generate customized service layers in a Contract-Driven Architecture2019-09-19T08:11:44-07:002019-09-19T08:11:44-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773067WASM: Practical uses today.2019-09-22T10:02:39-07:002019-09-22T10:02:39-07:00No 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&#39;re going to explore what it&#39;s actually good for today. We&#39;ll start with a brief overview of what WASM, WAT, and WASI are. Then we&#39;ll look at the languages and tool chains that compile into WASM, as well as the platforms that
can run it.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773068Web Scraping with Python2019-08-20T17:14:02-07:002019-08-20T17:14:02-07:00<p>The session will review a web-scraping project.&nbsp; The objective: collect the contact information from an online membership database.&nbsp; 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.&nbsp; The session will share key resources for HTML novices to effectively take on web-scraping tasks.&nbsp; A full walkthrough of the code, including post-processing of the collected CSV files, will be included.&nbsp; Key lessons learned, and multiple stumbling blocks will be reviewed.</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773069What&#39;s New in PHP 7.4?2019-08-12T03:16:25-07:002019-08-12T03:16:25-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773070Whats New and Upcoming with Xamarin2019-08-28T17:28:31-07:002019-08-28T17:28:31-07:00Xamarin 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773071Why is Implementing Requirements So hard?2019-09-20T08:54:21-07:002019-09-20T08:54:21-07:00Software 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&#39;re doomed to repeat it; but we&#39;ll also continue to look at details ways of addressing the problem. We&#39;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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773072Why StorybookJS?2019-09-23T18:38:17-07:002019-09-23T18:38:17-07:00<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>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773073With the gig economy even web servers are becoming gig workers.2019-09-12T18:52:46-07:002019-09-12T18:52:46-07:00<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.&nbsp;</p>Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773074Writing REST API's in C2019-08-07T17:57:49-07:002019-08-07T17:57:49-07:00This talk will be all about building an HTTP REST API in C. We&#39;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&#39;ll get into build process and deployment.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773075Writing Secure Code2019-08-09T06:52:05-07:002019-08-09T06:52:05-07:00Are 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!Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773076Xamarin Mobile Development - Advanced2019-08-07T17:58:50-07:002019-08-07T17:58:50-07:00Walk 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773077Xamarin Mobile Development For Beginners2019-08-07T17:58:49-07:002019-08-07T17:58:49-07:00Learn 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.Copyright ©2010-2023, Desert Code Campuuid:fc21da9f-ab9b-46e9-a261-ab2310a595d2;id=773078You should adopt Kafka now, tips for getting Kafka apps to market fast2019-08-07T17:58:59-07:002019-08-07T17:58:59-07:00<p>Is your organization adopting Kafka as their messaging bus but you&rsquo;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>Copyright ©2010-2023, Desert Code Camp