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)

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…

If you like this sort of content, consider following me on Twitter (@walkingriver), and checking out my books and courses at

For the past few months, I have been involved with migrating an AngularJS 1.4 app to a more modern version of Angular. Below I will describe some of the processes, techniques, and issues I have encountered to make the migration successful.


Before starting the migration, there are a few things that will make it easier, or harder, depending on your project’s configuration.


I was fortunate in that the entire AngularJS project I was migrating was already written in TypeScript. Each AngularJS controller was already a single class. …

Reading time ~14 minutes

I have avoided telling this story publicly because of an irrational fear of repercussions. However, more than twenty years have passed since the events in this post, and I have taken care not to name names. So, I think I will be fine.

Leaving one of my early programming jobs and being honest almost landed me in jail.

I am a Developer!

Back in 1995 I landed my second paid programming gig. It was a great opportunity to join a small programming shop, where I would work on custom software development for external clients. Prior to this, my only other…

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.

Michael Callaghan

Web Developer at Disney World | Author of, & more at Amazon:

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