Ken Muse
Understanding Symbol Servers

Understanding Symbol Servers

It’s not really an exploration of PDBs and debugging without talking about symbol servers. With .NET evolving, has our need for these previously essential systems changed? In this post, we’ll explore what a symbol server is, the role they fill, and their strengths and limitations.

Read this article

What Every Developer Should Know About PDBs
Years ago, John Robbins examined the details of PDB files in PDB Files: What Every Developer Must Know. Since then, a lot has changed about .NET. Despite that, most developers still lack an understanding of how PDBs work or why they are so important. Most times, I see teams trying to prevent PDBs from being created in release code; this is a sure path to future problems. In this post, I’ll provide updated details on the nature of PDBs and how they work.

Read this article

Understanding Certificate Authorities
For certificates to work, we need a system of trust. We need to know that each certificate is valid and was properly issued. This is the role of the certificate authorities (CAs). In the second part of this series, we’ll explore the role of CAs and how certificates are validated. We’ll also look at creating a private CA using a self-signed certificate.

Read this article

Understanding X.509 Certificates
Despite decades of use, certificates tend to be a mystery to most developers. At their root, they are largely more than a collection of name-value pairs and a public key. The majority of people that work with certificates regularly often run into situations where they need to understand the details of how they work. In this post, we’ll dive into the basics and learn what’s in these files.

Read this article

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