Getting started with Svelte, Tailwind, and Nrwl NX, a powerful combo
Learn how to create a Svelte application using Nrwl NX and how to add Tailwind support.
How periodic journaling can lead to a more fulfilling life - Part 2: Going further
On why periodic journaling can help you live a happier, more fulfilling and more productive life. Part two.
How periodic journaling can lead to a more fulfilling life - Part 1: Introduction
On why periodic journaling can help you live a happier, more fulfilling and more productive life. Part one.
Quality vs user satisfaction
Software crafters care a lot about the quality of their work, but business realities are generally much more important. Let's explore some of the tradeoffs.
How to get started in IT and grow as a Software developer
Learn how get started in IT, and how to grow as a software developer
What is the difference between software developers, engineers, coders, and programmers
Understand why those terms may differ
Why Tailwind's Just-In-Time mode is a game-changer and how to use it right now
Learn how to migrate to Tailwind 2, and enable just-in-time for applications and Storybook
21 months in and 80K views later
How my failed startup experience led to 80K views in a month
Configuring and using the Apollo client in a Next.js TypeScript application
Learn how to integrate the Apollo GraphQL client in a Next.js TypeScript application
20 months in, 2K hours spent and 200K € lost. A story about resilience and the sunk cost fallacy
I’ve been working for ~20 months on my current project, spend 2K hours on it, and “lost” 200K € by not doing something else. That project is not ready yet. Here’s the story behind it.
Creating a table of contents with HTML and CSS
Learn how to use HTML and CSS to build a table of contents
Mocking TS method overloads with Jest
Here's how to mock TypeScript method overloads with Jest
Software Development Concepts e-book collection
Here's how to become a real full-stack developer.
10 more ways to kill a team
Teams are way more fragile than you can imagine. Here are ten more things that can demolish one.
Don’t leave junior team members alone
Junior team members should never be left alone. Here's why
The journey from 4K to 30K views per month. Lessons learned
Let me tell you how I managed to be more successful with my writing
Translating the MatPaginator Angular Material component
The MatPaginator component of Angular Material can be translated, but it requires a specific approach.
Typesafe checks against TypeScript interface property names at runtime
With TypeScript, interfaces only exist during development time. Still, sometimes, we might want to refer to interface property names at runtime. Here's a good solution!
Input validation with NestJS
Validating incoming data is of the utmost importance for security. Let’s explore why and how to handle this concern with NestJS and class-validator
Iterating on a TypeScript string enum
Here are a few useful tips showing how to loop over TypeScript enum keys and values
Introduction to TypeScript
Here’s a real quick introduction to the TypeScript programming language.
Forcing change detection on third-party Angular components
Let's see how to access the ChangeDetectorRef for any third party Angular component and use it to work around bugs!
Removing Moment.js locales from your Angular app JS bundles
Your bundle size exceeds the allocated budget or is getting close to it? Moment.js might be one of the major culprits. Let’s see how to fix the situation using a custom Webpack configuration
Analyzing Your Angular app JS bundles
Discover how to analyze the JS bundles of your Angular applications to identify and fix issues using webpack-bundle-analyzer.
NGRX component-store deep dive
Part 2: Let's dive into the new Component-store library of NGRX!
Introducing NGRX component-store
Part 1: Component-store is an upcoming reactive library of the NGRX family. Let’s discover it and see what it’s all about!
Angular Template Type Checking
In Angular, a neat new template type checking mode has been introduced, called strictTemplates. Let me tell your what it is and why you should enable it.
Customizing your Angular app’s Webpack configuration
In this article, I’ll explain why you might need to customize the Webpack configuration of your Angular applications and I’ll of course also show you how to do so using angular-builders webpack-config.
Do you ever forget things at work?
I almost never forget things at work. When I do, I really feel embarrassed. What about you? Here's what I do to keep track of everything.
How to access the Web from tools and terminals in corporate environments
In medium to large companies, it’s almost always the case that your Web traffic has to go through a corporate proxy to reach the Web. Here’s how to find out more about those proxies and how to use them from your tools and terminals.
Git concepts for newcomers — Part 3: Commits, log and amend
In this third article of the series, we’re going to discover how to create and modify commits with Git, but also how to look at the commit log.
Embedding translations in your JS bundles with ngx-translate
Embedding translations in your JS bundles can be useful to speed things up if you know that users need to switch between languages regularly. Here's how to do it
Never miss a switch case with TypeScript
Switch statements are sometimes considered a code smell, but when they do make sense to use, you’d better make sure you don’t forget a single case. Luckily, TypeScript can help.
How to choose between constructor and ngOnInit in your Angular apps
Learn why ngOnInit is not always the best solution
Why you should stop installing npm packages globally
There is almost no use in installing npm packages globally. Here's why
Strongly typing your Angular route data
As Angular projects grow, it is quite common to add data to your routes. This article shows how to strongly type such data
Git concepts for newcomers - Part 2: Git repository, working tree and staging area
This article explains what git repositories are, as well as how the working tree and staging area works
What's coming with TypeScript 4.0 -- Language features
Learn everything about git, step by step. Part 1
Git concepts for newcomers — Part 1: What is a DVCS?
Learn everything about git, step by step. Part 1
Handling scrolling on Angular route transitions
How to correctly handle scrolling upon Angular route transitions
Drastically reducing your stylesheet size with Tailwind and PurgeCSS
Learn how to configure PurgeCSS with Tailwind to reduce get rid of useless styles
Getting rid of Kubernetes pods stuck on "Terminating"
How to get rid of pods that are stuck in the "Terminating" state
Dynamically translating a PrimeNG menu using ngx-translate
How to translate a PrimeNG menu dynamically
Improvements coming with TypeScript 3.9
The coolest improvements coming with TypeScript 3.9
The goals of TypeScript are obvious, but do you know about its non-goals?
How to write code comments like a pro
In this article, I’ll explain how my commenting practice (yes, that’s a thing :p) has evolved as well as what I currently recommend, whether you’re a junior fresh out of school, a seasoned developer…
Creating a Storybook instance including stories from multiple libraries in a Nrwl Nx workspace
Learn how to create a Storybook including stories from multiple libraries in a Nrwl Nx workspace
Why you should generally prefer TypeScript interfaces and custom types over classes
TypeScript interfaces and custom types are great. Use them as much as you can; here's why
Fixing the “can’t resolve all parameters” exception with Angular DI
How to fix the “can’t resolve all parameters” exception with Angular
Dynamically customizing Quill/ngx-quill editors in an Angular application
How to customize Quill editors through ngx-quill in an Angular application
Avoiding Import Issues in TypeScript Monorepos
Leverage TypeScript paths to avoid problems with your imports
Leveraging Type-Only imports and exports with TypeScript 3.8
How to use Type-Only imports and exports with TypeScript 3.8
Why and how to use stable node and npm versions across your project & team
Use stable versions of Node.js and npm to avoid surprises
Speeding up your CI/CD build times with a custom Docker image
How to drastically reduce CI/CD build times for Node.js projects using a custom Docker image
Adding Tailwind support to a Nrwl NX workspace with Angular and Storybook
How to configure Tailwind in Angular and Storybook
Why you shouldn’t implement authorization “around” your application and what to do instead
Here's how to writer more secure applications
Kickstart your writing with these tools
A writer's process and tools. Kickstart your writing!
Steps towards a better work/life equilibrium
Practical advice to better balance life and work.
Building a Service Worker with Workbox 5, TypeScript, Webpack and Angular
How to implement a service worker using Workbox, TypeScript, Webpack, and Angular
Deploying TLS certificates for local development and production using Kubernetes, cert-manager, mkcert and Let’s Encrypt
How to deploy TLS certificates for local development and production using Kubernetes, cert-manager, mkcert and Let’s Encrypt
VS Code extension packs to boost productivity
Awesome extension packs to boost your productivity with VS Code
Tagging your daily todos: When MoSCoW is not enough
Extending the MoSCoW method to tag daily tasks
Configuring sourcemaps with the Angular CLI
How to configure sourcemaps with the Angular CLI
Tip of the day: using capture groups and back references to search and replace in IntelliJ
Using capture groups and back references to search and replace in IntelliJ
Searching for final methods in a Java project
Efficient way to find final methods in a Java project
Fixing ‘bash’ is not recognized as an internal or external command when used within npm scripts on Windows
Fixing bash is not recognized as an internal or external command error
The story behind my upcoming book: Learn TypeScript by Building Web Applications — part 1
The story behind my TypeScript book
GraphQL API integration tests in a Spring Boot 2.x Kotlin application
How to write integration tests for a GraphQL API using Spring Boot 2.x and Kotlin
Cleaning up database tables after each integration test method with Spring Boot 2 and Kotlin
How to clean database tables after each integration test in a Spring Boot application using Kotlin
Using JUnit 5 with Spring Boot 2, Kotlin and Mockito
How to setup and use JUnit 5 and Mockito in a Spring Boot Kotlin based project
Kotlin UUID bean validation
A small bean validation constraint annotation in Kotlin for UUIDs