Azure DevOps, Scrum, & .NET Software Leadership and Consulting Services

Free course! Predicting the Future, Estimating, and Running Your Projects with Flow Metrics

  • How to Migrate Azure DevOps to the Cloud

    How to Migrate Azure DevOps to the Cloud

    If you’ve decided that you need to do a full migration to Azure DevOps Services (aka. The Azure DevOps Cloud), there’s a tool for migration.  And a guide.  A 60 page guide.  And then there’s the documentation. Let’s face it, migrating your on-premise Team Foundation Server or Azure DevOps Server to the cloud isn’t exactly…

  • Migrating to the Azure DevOps Cloud: What Are Your Options?

    Migrating to the Azure DevOps Cloud: What Are Your Options?

    Every few weeks, I talk to a potential customer about migrating their on-premise Azure DevOps Server or Team Foundation Server to the cloud.  There’s almost always a certain level of confusion because — well — it’s really confusing.  There’s a lot of things to think about and it’s not always clear what the best way…

  • How to Edit Your Azure DevOps Wiki as a Git Repository

    How to Edit Your Azure DevOps Wiki as a Git Repository

    In Azure DevOps each Team Project gets a wiki. A wiki is a great place to store/share text content like documentation in your project. But did you know that you can access it as a Git repository? Accessing your Wiki via Git helps to make editing your wiki content simple. It also enables you to…

  • C#: How to Find All Files Including Hidden Files?

    C#: How to Find All Files Including Hidden Files?

    I was writing some code yesterday that needed to enumerate all files in a directory. So I wrote what I’ve been writing since the beginning of time: var files = Directory.GetFiles(“*.*”, new EnumerationOptions { RecurseSubdirectories = true }); At first, it seemed to be working just fine but then I noticed that hidden files were…

  • GitHub Codespaces talk (Slides & Sample Code)

    GitHub Codespaces talk (Slides & Sample Code)

    I just finished up giving a talk for DevBoston on GitHub Codespaces. GitHub Codespaces: Seriously, You Can Develop in a Browser Codespaces from GitHub lets you develop in a browser.  Seriously.  In a browser.  And it’s great.  It’s amazing.  It’s not a toy either – it’s for real actual work.  It’s basically Visual Studio Code…

  • Azure DevOps: ‘Removed’ Work Items Missing from ‘Assigned to me’ Query Results

    Azure DevOps: ‘Removed’ Work Items Missing from ‘Assigned to me’ Query Results

    I got a question from a customer yesterday as part of an upgrade to Azure DevOps 2020. He was telling me that some of the work items that were assigned to him were missing from the “Assigned to me” work item query results. He showed it to me and — sure enough — they were…

  • Streamline Git operations with .gitconfig aliases / What are my Git shortcut aliases?

    Streamline Git operations with .gitconfig aliases / What are my Git shortcut aliases?

    If you didn’t already know, you can create shortcuts in Git by adding aliases to your .gitconfig file. I’ve created a bunch of them for operations that I either 1) do again and again or 2) can’t seem to remember the commands. Here are my .gitconfig aliases. (TL;DR? Here’s a link to all of them…

  • Azure DevOps Tips: Handling Strings in YAML Pipelines

    Azure DevOps Tips: Handling Strings in YAML Pipelines

    Yesterday I wrote a post about an error I was getting in an Azure DevOps YAML Pipeline script. The gist was that I had a long string in the YAML file and I was running into a problem using the YAML string literal pipe ‘|’ syntax. Well, in my effort to understand what the specification…

  • YAML error in azure-pipelines.yml: “Bad indentation of a mapping entry”

    YAML error in azure-pipelines.yml: “Bad indentation of a mapping entry”

    Love it or hate it, you’ve got to admit that YAML build pipeline scripts can be a brittle. One little bit of whitespace out of place and — boom! — you staring at a ton of errors. I ran into two related errors yesterday while I was working on an Azure DevOps pipeline script: “bad…

  • 3 Common Problems with ClaimsIdentity and ClaimsPrincipal in ASP.NET Core

    3 Common Problems with ClaimsIdentity and ClaimsPrincipal in ASP.NET Core

    In .NET Core, the ClaimsIdentity class represents a user in your application. It helps describe who they are and helps manage the list of claims which describe what they can do.  But if you use the wrong constructor on ClaimsIdentity or provide the subtly wrong information to that constructor, you might see some strange behavior. …