Conference Talk Ideas
In the future I would like to give presentations at software conferences. Here are few topic ideas:
Neat Tricks When Building .NET Pipelines
Command line tools such as git and dotnet are terrific assets for building and publishing your applications. We will investigate how they can be used in different situations:
- Using git commands such as
git rev-parse
,git clean
andgit describe
to improve a build pipeline - The versatility of
dotnet publish
- Single binary, ahead-of-time compilation and self-contained builds
- Add commit ID information
- Utility dotnet sub-commands such as
dotnet format
ordotnet list package --outdated
- Derive version information from a
CHANGELOG.md
file, automate release commits and tagging
Having a Hobby Project
In the last few years I built Chunkyard, a backup tool which combines full and incremental backups while also including features such as copying and validating backups. Chunkyard does not offer anything that other open source backups tool provide, but it gave me several opportunities to explore topics such as:
- How backup applications with deduplication work
- Cross platform development in .NET
- Testing new language features
- Limit myself to the standard library
- Create a useful and fast testing suite
- Tinker with build and publish automation
Content Addressable Storage + Content Defined Chunking
Modern backup tools use techniques such as content addressable storage and content defined chunking to create deduplicated and verifiable backups. We will explore how these techniques work and how they could be applied to other areas such as:
- Version control systems
- Application downloader/updater
- Artifact storage for build pipelines
- Verifiable URLs
Teaching an Old Dog Monolith New Tricks
Its 2023 but some of us are still doing manual deployments to ship software. Let's have a look at a concrete example of a distributed monolith and what we can do to automate its deployment:
- Implement a "deployment configuration" using a templating language, reusable configuration files and scripts
- Generate a "deployment configuration" using different criteria
- Use a package manager like Chocolatey (Windows)