Dan Wahlin


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


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


New Pluralsight Course: Containerizing Angular Applications with Docker

I’m excited to announce the release of my next course on Pluralsight titled Containerizing Angular Applications with Docker! This course walks you through the process of containerizing front-end applications (with a focus on Angular) using Docker images and containers. Here are a few questions this course will help you answer: Why “containerize” front-end applications? Should I consider using a CDN? How can I serve front-end applications created with Angular (or other libraries/frameworks) using nginx? How do I create a custom Dockerfile and custom image for my application? What is a multi-stage build and how can I use it to build […]


8 Tips to Maximize Your Productivity

Getting things done has always been a challenge for most people – and I include myself – regardless of where you work or what you do. No matter how hard some people try, they end up procrastinating tasks until the last minute. Some people simply focus better when they know they’re out of time and can’t procrastinate any longer. How many times have you put off working on a term paper in school until the very last minute? With only a few hours left your mental energy and focus seem to kick in to high gear especially as you realize […]