There are plenty of opinions about the best way to handle code reviews and pull requests on a software project. Some teams and companies are very strict, requiring multiple levels of reviewers and only a few people authorized to perform merges. Other teams are at the opposite extreme, allowing anyone to merge their branches at any time with no oversight whatsoever. In this article, I will propose something in the middle.

The Problem

GitHub Commits

In one of my projects, there were few developers and only a single authorized code reviewer (ACR). The ACR was the only person with write permissions to the protected…


Angular components do not need to be complicated. In fact, with a little HTML and CSS, it is reasonably straightforward to build a component you can reuse in all your projects. In this article, I discuss the creation of a “Loading” indicator.

On one of my projects I needed to display a small screen that simply tells the user that data is being loaded from a remote service. Angular makes this almost too easy.

Create the Component

To create the component, I used the Angular CLI.

npx ng generate component Loading --skip-tests --dry-runCREATE src/app/loading/loading.component.scss (0 bytes)
CREATE src/app/loading/loading.component.html (26 bytes)
CREATE src/app/loading/loading.component.ts (272 bytes)


Have you ever stopped to think about how we learn things? I was recently reflecting on this when my 15-year old was learning to drive. I had the unenviable job of teaching him. At the time, it struck me that he had to think about every little detail of what he was doing. He needed to be reminded to check his mirrors, signal his lane changes, look behind him when backing up, etc.. Learning to drive requires absolute and complete attention. He didn’t even have the spare mental capacity to listen to music.

Watching him struggle reminded me of something…


Error Handling Strategies for Loading Data in Angular

Reading time ~9 minutes

I would like to take this opportunity to discuss Route Resolvers in Angular, the potential danger of over-using them, and how to avoid the worst of those dangers.

First, let me quickly discuss route guards, which some (including myself), might confuse with resolvers. They are similar, but different.


Many years ago I was on a business trip, and found myself in a particularly crowded terminal at the Hartsfield-Jackson Atlanta International Airport. Thunderstorms up and down the east coast had jammed air traffic all along the eastern seaboard. Most flights were delayed, and many were canceled. As you can imagine, people were not in the best of moods. For me, it turned into a lesson on kindness and humanity.

In this world, you must be oh so smart, or oh so pleasant. Well, for years I was smart. I recommend pleasant. You may quote me. -Elwood P. …

Michael Callaghan

Web Developer at Disney World | Author of http://DontSayThatAtWork.com, http://AngularAdvocate.com & more at Amazon: https://amzn.to/3u4EdtA

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store