The difference between Shallow Size and Retained Size in the Chrome DevTools memory panel When profiling memory usage with Chrome DevTools, we notice two key metrics: shallow size and retained size. These metrics pop up frequently in heap snapshots and can be crucial for understanding memory behavior: In this article, we'll dive into what these terms mean, their differences, and how they
A 4-minute primer to memory management and garbage collection in Node.js Node.js manages memory using different memory spaces. In this article, we will learn in under 4 minutes what the different spaces are, how they relate to each other and what it means when your Node.js script throws a FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap
How to prepare for a future without third-party cookies In Q4 2023, Chrome has started restricting third-party cookies. According to The Privacy Sandbox Timeline for Web, third-party cookies have been deprecated already for 1% of Chrome Stable users globally since Q1 2024: That means Chrome users visiting your applications may already have third-party cookies disabled. The plan is to
How to execute a command every time an Nx project changes Recently, I was working on a CLI tool to display dependency information from the Nx project graph. The tool proved to be valuable, but would even be more valuable if the information would update every time a file changed in one of the Nx projects. That would enable fellow engineers
How to quickly restart Chrome without losing tabs on a Mac Have you ever had a situation where you're working in Chrome and things start to slow down? Maybe you're a developer and you're tweaking code. Maybe you're visiting a website that has performance issues and slows down your experience over time. You
How to deal with the TSLint error "A project without tags cannot depend on any libraries" in an Nx monorepo Have you ever faced the following lint error in your Nx monorepo: A project without tags cannot depend on any libraries while your project clearly has tags defined in nx.json? Then this article is just for you! In just a few minutes you will understand what causes the error
Review on Angular Architecture workshop by Strongbrew On September 7, 2019, I attended the Angular Architecture Workshop by Strongbrew in Laarne. The purpose of this review is to share how I experienced the workshop as an attendee. It summarizes my personal thoughts only and is by no means influenced by the instructors. Workshop details * Date: September 7,
Review on Angular Security Workshop by Philippe De Ryck On November 24, 2018, I attended the Angular Security Workshop by Philippe De Ryck in Holiday Inn Ghent Expo. The purpose of this review is to share how I experienced the workshop as an attendee. It summarizes my personal thoughts only and is by no means influenced by the instructor.
A 10-minute primer to Service Workers In this article, we have a look at what service workers are, why they are used in modern web development and how you can add them to your web applications. I just 10 minutes, you will learn: * what service workers are * which superpowers service workers provide you with * which security
How to update an existing project in your Nx workspace to use Jest as a test runner instead of Karma Nx v6.3 introduced the ability to use Jest as a unit test runner. When you generate a new library or application in your Nx workspace, Nx conveniently asks you whether you want to use Jest or Karma as a unit test runner. But what if you have an existing
How to use environment variables to configure your Angular application without a rebuild In February 2016, I published an article on how to configure your AngularJS 1.x application using environment variables. The article explains how we can extract all configuration details out of an AngularJS 1.x application so that we can: * deploy our AngularJS 1.x application in different environments (staging,
The 7-step process of Angular router navigation There are many great articles and books available on how to use and configure Angular router. In contrast, little information is available on what Angular router actually does once it is running. This article is not an introduction to Angular router or a guide on how to configure it. Instead,
A 10 minute primer to JavaScript modules, module formats, module loaders and module bundlers Modern JavaScript development can be overwhelming. When working on a project, you may wonder why all the modern machinery and tooling is needed. What are tools like Webpack and SystemJS doing? Or what do AMD, UMD or CommonJS mean? How do they relate to each other? And why do you
Review of Angular 2 Master Class by Thoughtram On July 6 and July 7, 2016 I attended the Angular 2 Master Class by Thoughtram in the Showpad offices in Ghent. The purpose of this review is to share how I experienced the class as an attendee. It summarizes my personal thoughts only and is by no means influenced
Review of Angular 2 Workshop by Brecht Billiet On June 29 and June 30, 2016 I attended Brecht Billiet's Angular 2 Workshop at Holiday Inn Ghent Expo. The purpose of this review is to share how I experienced the class as an attendee. It summarizes my personal thoughts only and is by no means influenced by
Simple metaphor to easily understand and remember how token-based authentication works In this modern era, software is often using token-based authentication so that parts of the software can be isolated as stateless processes. Although this is a great practice and allows for highly scalable software, it increases the complexity for us, front-end developers, because we now also have to understand the
How I feel about Angular 2 A few weeks ago I was privileged to spend time with Pascal Precht while he was preparing his talk for NG-NL on Angular 2 change detection. We spent hours and hours figuring out how change detection works. The more we examined the Angular 2 source code, the more I was
How to configure your AngularJS application using environment variables Most AngularJS applications contain logic. And thus most AngularJS applications typically have a config, containing things like: * the url of the API to communicate with * the base url of the application * whether or not to output debug logging * etc. Until recently I used to store such a config in an
How to properly integrate non-AngularJS libraries in your AngularJS application There may be times when you need to use a non-AngularJS library such as lodash or underscore in your AngularJS application. If you use a bundler like JSPM, webpack or browserify, you can simply include the library in your bundle. But what if you need to load the library from
How I optimized Minesweeper using Angular 2 and Immutable.js to make it insanely fast In my previous article I showed you how to build Minesweeper using Angular 2 and Immutable.js. You can try out the game right here. One thing that bugged me is that it turned out to be slow on mobile. After all we are using Angular 2, which is supposed
How to build Minesweeper using Angular 2 and Immutable.js This is the first in a series of articles on Angular 2. If you want me to send you a quick note when a new article is available, just leave your email at the bottom of the article or follow me on Twitter. After watching Christian Johansen's talk
Thoughtram Angular Master Class review On August 25th and 26th I attended the 2-day Angular Master Class by thoughtram at Silversquare Brussels. The purpose of this short review is to share how I experienced the class as an attendee. It summarizes my personal thoughts only and is by no means influenced by thoughtram or the
How to use areas and border states to control access inside an Angular application with ui-router UI-router is awesome! You can create nested states and do all kinds of fancy stuff. But what if you need to restrict access to a certain part of your application? Or what if you have a public area, a members area and an admin area in the same application? In
How to access Angular $log debug messages from within Karma Angular has a convenient $log service that allows you to log debug messages to the console: $log.debug('Some debug message'); The cool thing about debug messages is that you can easily turn logging on/off in one place using the $logProvider: (function (angular) { angular .module('app&
Learn how to make authentication in your Angular applications simpler and more consistent Auth0! Parse.com! Firebase! They are just a few of the so many cool services and libraries that are available today to easily authenticate users in your Angular application. Unfortunately such a rich set of options also come with an equally diverse set of API's: <!-- auth0