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


Simplifying Front-End State Management with Observable Store

I admit it – I think the use of some front-end JavaScript state management patterns has gotten out of control. When you’re spending a significant amount of time writing code (and often a lot of it) to handle application state or relying on a scaffolding tool that generates 100s or even 1000s of lines of code then it’s time to take a step back and ask, “Do I really need all of this?”. While you’re at it you might also ask, “What can I do to simplify my code and bring some sanity back to it?”. Rather than ranting about […]


Enabling Metrics Server for Kubernetes on Docker Desktop

Lately we’ve been working on a new Docker and Kubernetes instructor-led training class that we’ll be running onsite at several companies this year. The class uses Docker Desktop and the Kubernetes features it provides for several of the chapters. We needed to get the local cluster students will use to match as closely as possible to a cloud-based Kubernetes cluster that would be found on Azure, AWS, or GCP. The class covers using AKS as well, but most of the lab exercises rely on Kubernetes in Docker Desktop so running key features like the dashboard and Metrics API was important. […]


CloudSkills Podcast Interview: Docker, Kubernetes, and Microservices

I recently chatted with my friend Mike Pfieffer who runs the CloudSkills.fm podcast about Docker, Kubernetes, and Microservices. Mike works a lot in the DevOps space and I work in the developer space (and do some DevOps as well) so it was a fun discussion about challenges that come up in both worlds. We discussed the benefits of containers, the role of Kubernetes, and how both can play an important role when working with Microservices. Listen to the podcast here: CloudSkills.fm Website Video of the Podcast 


New Pluralsight Course: Angular Architecture and Best Practices

I’m excited to announce the release of my next course on Pluralsight titled Angular Architecture and Best Practices! The goal of this course is to provide you with solid, proven guidance to plan out your Angular application architecture, address various challenges that typically come up, and ultimately create a more maintainable and flexible application. Here are a few questions this course will help you answer: Is there one “right” way to architect and build an Angular application? Short answer – NO! What are some key concepts I should consider when planning my application architecture? Is there any type of planning […]


Free Interactive Coding Course: Build Your First Angular App

About a year ago I was browsing the web and came across a site called Scrimba.com. It provided a unique way to learn about web technologies through a live code editor combined with audio that syncs with the code – something you have to actually try out to realize the full potential. Since I do a lot of training for companies the Scrimba tool really caught my eye. I was so impressed with the features Scrimba provided that I decided to contact the creators (Per Harald Borgen and Sindre Aarsaether) to let them know that I thought the tool they had […]


Real Talk JavaScript Podcast: End to End Testing with Cypress.io

I had the opportunity to talk with my good friends John Papa and Ward Bell about Cypress.io and end to end testing on the Real Talk JavaScript podcast.  We talked about why I think end to end testing should get more attention, how I’m using it in a current project, as well as the benefits it can offer developers. I wasn’t a huge fan of end to end testing in the past mainly because I hadn’t used it much on projects, had the misconception that it was for “dedicated testers”, and felt like it would require a lot of time […]


ngAir Podcast: Containerizing Angular Apps with Docker

I had the opportunity to chat with Justin, Bonnie, Alyssa, and Austin about Angular and Docker on the ngAir podcast recently and really enjoyed talking with everyone. We talked about the benefits of containers from a developer and DevOps standpoint, how to create custom images with Dockerfiles, how to build/push/pull images, and how to run containers. We of course focused on the role that containers can play with Angular applications but the concepts apply to any front-end app (or back-end app for that matter). Here are some of the key links mentioned in the podcast: ​Containerizing Angular Apps with Docker […]