Senior Developer at SixPivot, Microsoft MVP
David has been creating software for over 25 years. He has a passion for continual learning and improving quality, and enjoys being in and creating environments where these happen. A Microsoft MVP (Development Technologies), he run the Adelaide .NET User Group.
By day, he works as a Senior Developer at SixPivot. In his spare time he contributes to numerous open source projects (including some of his own), and is a package moderator at Chocolatey.org
Area of Expertise
Contain your enthusiasm (and your app) with .NET 7
Running .NET inside a container has been supported for a while, but up until now, building the container image required a bunch of extra steps. Until .NET 7!
We'll get you up to speed on what containers are and how we can use them to build and run software. Then contrast how much easier it is to build containers for .NET apps in .NET 7, how you can customise the image to your needs, incorporate it into your CI/CD pipeline, and any limitations to be aware of.
7 favourites of .NET 7
.NET 7 is out, and there a veritable plethora of improvements. In this talk I pick out my 7 highlights of .NET 7 - new source generators, additions to the C# language, useful new and enhanced APIs, and opportunities to simplify your code. Where possible we'll compare before and after to better understand at the impact of these changes, with the added excitement of live demos!
How can we create a build pipeline that is actually reliable? Is it even possible? In this talk we'll look at all the ways automated builds (and deployments) can go wrong, and approaches and techniques to make them more resilient and consistent. The choices you make in application architecture, build pipeline technology, resource constraints imposed upon you, and other external forces can all have unwanted impacts. Build with confidence, so you can fire away, fire away!
Life is like a Box of Chocolate(y)
DevOps begins at home when you script your own desktop. Learn from experienced package author and project contributor how to automate the installation and configuration of all the software you need to get your job done with open source tools Chocolatey and Boxstarter. Take a vanilla Windows install from zero to fully configured developer environment in minutes*!
Find out how to wrap each of your tools and applications in a well-specified Chocolatey package. Learn about common pitfalls and get an inside perspective on the package moderation process so that you can publish to the public repository on Chocolatey.org with confidence.
Learn how to orchestrate the installation of all your packages (including reboots) with Boxstarter. Build up a fully configured developer machine from scratch, or redeploy your test environment with ease and reliability.
But this is not just for rebuilding your dev boxes, these same techniques can be used to help your customers download, install and upgrade your software with ease.
This talk is rated 200-300 with a target audience of all Windows-based developers who want to spend more time coding and less time reinstalling software.
* Obviously the more tools you need, the more minutes it will take!
Build automation with Cake
Do you have a complex build process? Is your CI build not quite the same as building locally? Can you grab a fresh copy of the source code and be up and running in minutes?
Cake is a build automation system based on C#. Find out how you can use Cake to orchestrate the entire build process, from compiling, testing, package and deployment. By using C# as the build DSL, you'll feel instantly at home!
Hear about David's experiences moving from a traditional multi-step CI build process to driving the build entirely with Cake. See how you can make use of Cake's impressive built in functions and 3rd-party add-ins.
Learn how to leverage Cake's extension model to write your own addins to provide custom functionality.
Improving quality by extending Azure Repos
The new Azure DevOps allows you to "pick and choose" the pieces that make sense. In this talk David will share his experiences integrating Azure DevOps Repositories with other "best in class" tools like TeamCity and UpSource.
Find out how the Azure DevOps API and Service Hooks enable integration of your own 3rd-party applications (both on-prem and cloud-based) into an Azure Repos pull request life cycle to provide insights into code changes and add value.
.NET Virtual Conference 2022
Senior Developer at SixPivot, Microsoft MVP