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 […]


Data-Oriented vs. Control-Oriented Programming

I recently had someone ask me a question on Twitter about moving to Single Page Application frameworks and why they’d do that over choosing vanilla JavaScript or jQuery. It’s a great question but tough to question on Twitter with the limited amount of characters. So, I thought I’d dust off an old post I wrote many years ago to address the subject. I also wrote a post titled Choosing the “Right” JavaScript Library/Framework for Your Application that has some additional ideas to consider as well. Any type of front-end app can be built using vanilla JavaScript, jQuery, or a Single […]


4 kubectl Commands to Help Debug Pod Issues in Kubernetes

If you’ve worked with containers a lot you’re probably good at commands like docker logs and docker exec to retrieve information about containers that may be having problems. One of the challenges that comes up as people move to Kubernetes is understanding how to get similar details about Pods and any containers running within them. I’ve had several people ask me about this recently in my instructor-led Kubernetes course as well as online with my Docker for Web Developers course (which has a module on Kubernetes) so I decided to post a few of the initial commands you can use […]


Using the Iterator Pattern in JavaScript

I recently had to parse some markdown using the marked npm package and convert it into JSON objects for a project I’m working on. When I parsed the markdown I’d get back an array of tokens that would look something like the following: I started out the “normal” way by doing a for…of loop to iterate through the tokens in the array. This worked, but tracking the start and end of a token meant adding extra variables which ultimately complicated the code. For example, how do you know if you’re in a list? You track it with an inList variable […]


Docker Volumes and “print working directory” Command Syntax

I often use Docker to run an application in a container as I’m writing and testing code. That involves creating a volume that points the container to a path on my machine. The challenge with setting up volumes is that the “print working directory” command that is often used to easily identify the location of your source code on the host machine is different depending on what command terminal you’re using (especially on Windows). Here’s a quick summary that shows the syntax for “print working directory” in different command terminals when using volumes (if you’re new to volumes you can read […]