Ken Muse
Why You Should (Not) Prefer Monorepos For Git
Monorepos are often seen as the simple solution to complex collaboration and code management problems. Companies like Google and Facebook frequently mention their use of the pattern for their most important codebases, so clearly they have found ways to make these solutions scale to support large teams. What is their secret to being able to successfully use a monorepo, and how do they make it work where so many others fail? More importantly, should you be considering the approach?

Read this article

That Template Repository Trick

That Template Repository Trick

GitHub supports defining a repository as a template. This enables you to configure a repository, its contents, and its branches quickly. But it can do more…

Read this article

GitHub Actions Workflow Permissions
GitHub Actions Workflows can provide a great abstraction layer for creating or orchestrating build and release processes. Since we’re running code – in some cases, from third-parties – it’s important to understand how to secure the environment from malicious Actions. This is where permissions can help.

Read this article

Improving Dev Container Feature Performance
The support for custom features in Dev Containers is a huge improvement to the process of customizing images quickly and easily. The convenience and simplicity can have a cost – performance. Trying to customize a container using a feature recently, I struggled with an incredibly long build time. This is how I improved the process.

Read this article

Mastering Azure Virtual Machines

Mastering Azure Virtual Machines

Continuing with the discussion of mastering Azure, it’s time to understand how the Azure VM SKU families are named. Most people don’t realize that each letter is actually associated with a mnemonic that is designed to make it easy to identify the ideal workload. In addition, the complete SKU name is designed to tell you key details about the VM capabilities in a way that’s easy to remember.

Read this article

Where to Start With Azure
While I was at VS Live Nashville, I heard the same question multiple times: if you’re new to Azure, how do you get started? There are nearly 300 different services, and the numbers continue to grow. That’s a lot to try to understand without a roadmap. I have a few suggestions to make the learning process more manageable …

Read this article

Dubious Ownership With Static Web Apps
Git’s safe directory configuration helps to protect users, but it can create challenges. This is especially true when using Hugo with Azure Static Web Sites. In that case, you’re dealing with an Action that bind-mounts the source code into a container. This requires some special handling.

Read this article

Dynamic Build Matrices in GitHub Actions

Dynamic Build Matrices in GitHub Actions

GitHub Actions allows you to create matrix builds to execute steps multiple times with different parameters. Fun tip – those parameters can be dynamic. You can define them programmatically!

Read this article

GitHub, Maven, and Packages
Java makes it surprisingly easy to manage and package complex projects using Apache Maven. One question I’m frequently asked – how does this integrate with GitHub Actions? Turns out that the answer is “surprisingly well!”

Read this article

Mythical Development Heroes

Mythical Development Heroes

Last week, we examined common myths about time. Software also has hero myths, which harm developers and limit productivity in astounding ways.

Read this article