Gary Ewan Park, Principal Software Engineer at Chocolatey, discusses the benefits of remote work, the details of Chocolatey as a versatile package manager, and experiences with Vagrant and Docker. They also touch on effective testing methods and social media platforms.
Chocolatey simplifies software management by handling dependencies and providing a command-line interface for package management.
Remote work with Chocolatey has brought about a better work-life balance and increased productivity for its development team.
Chocolaty relies on a community of maintainers to update and manage packages, ensuring consistency and allowing for customization.
Deep dives
Chocolatey as a Software Development Tool
Chocolatey is a package manager for Windows, allowing users to easily install and maintain software on their machines. It simplifies the process by handling dependencies and providing a command-line interface for package management. With Chocolatey, users can install applications and configurations, maintain version control, and automate software deployments. The tool supports both open source and commercial packages, providing flexibility for developers. Chocolatey ensures consistency across multiple environments and can be a valuable asset in software development workflows.
Remote Work and Chocolatey
Chocolaty has enabled remote work for its development team, allowing them to work from home or other remote locations. This flexibility has changed the way team members collaborate and has brought about a better work-life balance. The ability to switch between work and personal life with ease has been a positive aspect of working with Chocolatey. While remote work may take time to adjust to, many team members have found it to be a beneficial change, allowing them to be more productive and integrated with their family life.
Chocolaty Maintainers and Package Updates
Chocolaty relies on the community of maintainers to update and manage the packages in its repository. These maintainers are responsible for creating and maintaining packages for various applications and configurations. They use automation scripts to update packages whenever new versions of the applications are released. However, there may be delays in package updates if the upstream source changes its version announcement method. Chocolaty's moderation team ensures that packages meet certain guidelines, including licensing requirements. If needed, users can also maintain their own packages internally, allowing for more control and customization.
The Road to Chocolatey Version 3
Chocolaty is actively planning for the release of version 3, which will include support for the new .NET framework and NuGet V3 feeds. The transition to a new framework presents challenges, such as dealing with assembly signing and referencing. However, the team aims to maintain backward compatibility and ensure a smooth upgrade experience for users. Version 3 may also focus on enhancing the user experience by providing a comprehensive view that goes beyond just package management. The goal is to create a single solution that covers software installations, .NET global tools, and Windows feature management, allowing for seamless environment provisioning and replication.
Testing with BDDfy and Custom Aliases
BDDfy is a testing library that brings a fluent syntax to tests, making them more readable and maintainable. It allows tests to be written in a given-when-then format, improving readability and organization. BDDfy offers two options for test structure: attribute-based or fluent method calls. The latter approach promotes functional programming and enables the creation of reusable and test-specific methods. BDDfy provides clear test output, highlighting the passing and failing steps. By breaking down tests into small, functional units, these methods become highly reusable, leading to cleaner and more maintainable test code.
In this episode, I was joined by Gary Ewan Park to chat about Chocolatey, and what it’s been like as a developer working on it. Chocolatey is a package manager for Windows, and it’s a tool that I’ve used for many years - so really enjoyed chatting with Gary about it!
Gary is a Principal Software Engineer at Chocolatey Software and Microsoft Visual Studio and Development Technologies MVP and GitHub Star.