Using the Docker "before" Filter to Remove Multiple Images

I recently needed to cleanup a bunch of old Docker images on a VM that I run in Azure. While I could remove each image one by one using the standard docker rmi [IMAGE IDS] command, removing multiple images all at once as a batch was preferable. It turns out that removing a specific range of images is fairly straightforward using the “before” filter. You can do the following to list all images that exist before a particular image: Running the command will show all of the images that existed before the danwahlin/nginx-codelabs:1.15 image (basically the older images). Once you […]


Installing MongoDB on Mac Catalina using Homebrew

I recently bought a new iMac and moved all of my files over using Time Machine. The migration went really well overall and within a few hours I had my development machine up and running. After starting an application I’m building I quickly realized that I couldn’t get MongoDB to start. Running the following command resulted in an error about the data/db directory being read-only: I tried every chmod and chown command known to man and woman kind, tried manually changing security in Finder, compared security to my other iMac (they were the same), and tried a bunch of other […]


Observable Store 2.0 Released on npm!

I’m excited to announce the release of Observable Store 2.0 on npm! You can get started using it with the standard npm install command: The Github repository provides information about the specific steps to get started and how Observable Store can be used with various front-end projects. Why Observable Store? Before jumping in to what’s new in 2.0, let me give a quick overview of the Observable Store project in case you’re new to it. Several years ago I was working with a few large companies here in the United States who were building Angular and React apps. One in […]


New Pluralsight Course – Kubernetes for Developers: Core Concepts

I’m excited to announce the release of my next course on Pluralsight titled Kubernetes for Developers: Core Concepts! Since creating the Docker for Web Developers course I’ve been wanting to create a course that takes developers to the “next level” with containers and the new Kubernetes for Developers course does that! Here are a few questions this course will help you answer: Why should I learn about Kubernetes if I’m a developer? What are the core concepts that I should know about to get started? How can I get Kubernetes running on my development machine? What is the role of […]


RxJS Error: “Types of property ‘source’ are incompatible” and How to Fix It

I’m working on an npm package that requires RxJS as a peerDependency which means that whatever app uses the package must also install RxJS. Since my npm package project needs RxJS to build, I add it as a devDependency which of course adds it into the node_modules folder of the project. To use my npm package locally in sample apps I have I do the following which is a nice trick to avoid having to publish the package to npm (which I don’t want to do when I’m still working on it): Run npm link [package-name] where package-name is name […]


Debugging jasmine-ts Unit Tests in VS Code

I’m currently working on a project that relies on jasmine-ts to run unit tests. While it’s been working great, I encountered a bug in a unit test that required a lot more than a simple console.log() statement to figure out. I needed real debugging! Since my unit tests were running and providing output directly to the console, the question became, “How do you attach to a jasmine-ts unit test in VS Code?”. I found a few StackOverflow posts and finally went with something mentioned here (shout-out to isaacfi for providing the answer that actually worked). To debug a jasmine-ts unit […]


Angular Architecture Concepts – ngVikings Keynote

The ngVikings conference was held in Copenhagen, Denmark this year and I had a great time speaking at it and talking with the people that attended. One of the more fun aspects of attending any conference is listening to and learning from what others are doing, hearing about problems they’re trying to solve, helping out where possible, and making new friends along the way. I had the opportunity to give one of the keynote talks this year and focused on a topic that is near and dear to me – architecture. Some companies seem to have the viewpoint that because […]


Deploying Your Angular Apps (using containers) – ngVikings Talk

I had the opportunity to attend and speak at ngVikings this year in Copenhagen, Denmark which was a lot of fun. Copenhagen is a beautiful city and the conference organizers did a great job putting the event together. One of the talks I gave at the conference covered deploying Angular applications using containers. While the focus was on Angular and any services it may call, the concepts can really be applied to any front-end back-end application or service. Topics covered in the talk include: Deployment Challenges What is Docker? Images and Containers Orchestration with Docker Compose Orchestration with Kubernetes (introductory […]


ng-conf Talk: Mastering the Subject – Communication Options in RxJS

If you ever get a chance to attend the ng-conf conference in Salt Lake City, Utah I highly recommend it. It’s one of my favorite conferences to attend and speak at due to the great content, huge community of developers, and many fun events throughout the week. The conference organizers do a great job putting on the event. This year I had the opportunity to do a 2-day workshop with my good friend John Papa on Angular Architecture concepts. We had a very interactive group of nearly 200 people in the workshop and enjoyed sharing project battle stories, best practices, […]


Docker for Web Developers – Now with Kubernetes!

Over the past year I’ve done several big updates to my Docker for Web Developers course on Pluralsight that I wanted to mention. First, all of the code samples have been updated and Docker Desktop (formerly called Community Edition) is now covered in addition to Docker Toolbox. The biggest update came when I added a new module into the course titled “Moving to Kubernetes”. This module provides an overview of Kubernetes and what it is (a very exciting technology!), examples of using key Kubernetes commands, and an example of moving the Docker Compose orchestrated application shown in the course to […]