rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

316 feeds


Playful Programming's RSS Feed

Posts

What I Did When I Inherited Bad Tech 🔗

How I helped turn around a struggling engineering team by rethinking our approach to development. [...]

How a Promotion Can Kill a Career 🔗

Why you should be cautious of moving too quickly with your titles. [...]

In-Person vs Remote Engineering Teams 🔗

An exploration of the pros and cons of in-person and remote engineering teams, drawing from personal experience. [...]

Merging the "This Is" Community into "Playful Programming" 🔗

This is Learning and Playful Programming are merging to create a stronger open-source education community with 750+ articles and expanded resources. [...]

How AI is changing my development workflow and I am excited about it 🔗

If you are here, I am sure either you are excited about AI or you are scared about it. I am in the first category and super excited about AI and how i [...]

Onboarding in the Ever-Changing World of AI 🔗

I’ve recently joined a new company, and I wanted to share my experience from my first week, what onboarding used to look like, and how AI is changing [...]

Tradeoffs in Engineering Identity 🔗

Finding your engineering identity is a journey of balancing tradeoffs. Let's explore the key tradeoffs that shape your path. [...]

Why I’m Building My Own Home Server 🔗

Exploring the motivation behind why I'm building a home server. [...]

AI Context as Configuration, Not Prompts 🔗

Stop repeating yourself in every prompt. Use files like agents.md to define project conventions, rules for universal constraints, and skills for optio [...]

Adapting Library Logic for React Compiler 🔗

A deep dive into debugging React Compiler issues involving object mutation and referential stability. [...]

How I read technical books and documentation 🔗

Don't skip out on a book just because it's long! [...]

Committing to learning Go in 2026 🔗

Time to learn Golanguage [...]

Making Mistakes in Public Isn’t a Failure 🔗

Working in public means being visible while learning. That isn’t a weakness—it’s how real software gets built. [...]

Rust's `'static` doesn't imply memory leaks 🔗

Leaking memory is one way to get a value living for `'static`, but it's not the only way [...]

Ads as a Performance Budget Problem 🔗

Exploring how ads impact website performance and strategies to manage their effects. [...]

Where React performance issues start 🔗

Let's dive into the React fundamentals. This will help us build up a solid mental model that will allow us to understand what happens when react updat [...]

Take control of your job with GitLens Launchpad 🔗

As a developer, you have to take control of your projects every day. Whether it is a company... [...]

Building for the World: A Developer's Guide to Internationalization and Localization 🔗

Practical introduction to internationalization (i18n) and localization (l10n) - from a developer's point of view. [...]

Fundamentals of Rich Text Editors 🔗

The mental model I wish I had when I started working with WYSIWYG editors: document models, transactions, and custom nodes explained in 10 minutes. [...]

Psychosis, Hyper-Logic, and Engineering 🔗

A personal story about trauma, mental health, and how technology helped me survive long-term. [...]

Terraform: From Zero to Hero 🔗

A guide to learning Terraform from scratch, including key concepts, setup, and workflow. [...]

How I created a Cozy Workspace in VS Code 🔗

I love VS Code. It is fast, flexible, and works for almost any stack. But the default layout is not... [...]

Confronting Career Inequalities 🔗

Reflecting on the disparities in pay and respect in the tech industry. [...]

The Mood Mirror App - My Antigravity first experience 🔗

Just a week ago, Google launched Antigravity, and why not give it a try and share my experience? And... [...]

Confronting Survivorship Bias 🔗

A cautionary tale about successes in my career and survivorship bias. [...]

Negotiating for a VP Role 🔗

The story of how I negotiated my way into a VP role and the lessons learned along the way. [...]

Automate UI Bug Fixing with Chrome MCP Server and Copilot 🔗

I recently had a look at the Chrome MCP server and it looks really cool. So, let me show you a quick... [...]

Why I Built TaskDeck and How It Improves Your VS Code Workflow 🔗

VS Code tasks are powerful, but most developers barely use them. The problem is not the feature... [...]

How GitHub Copilot Uses MCP Tools Behind the Scenes 🔗

Before we dive into the details, here is the video version of this article if you prefer to watch it... [...]

Fractional Leadership in Practice 🔗

How taking on a short-term leadership contract can pave the way to long-term opportunities. [...]

On-Device AI with the Google Chrome Prompt API 🔗

Unless you’ve been living under a rock, it’s hard to miss the rise of Generative AI. At the centre of... [...]

Why I Use JetBrains Rider for .NET Development 🔗

Finding the ideal IDE for .NET work is rarely a straightforward journey. As .NET developers, I invest... [...]

The Power of Showing Up 🔗

How being active in your local developer community can open unexpected career doors. [...]

Prepping Your Ecommerce Site for the Agentic Apocalypse 🔗

A guide on how to prepare your e-commerce site for AI-driven search and shopping, covering on-site content, structured data, and off-site brand presen [...]

How I Chose The Tech Stack For Job Helper 🔗

Choosing a tech stack isn’t just about picking trendy tools, it’s about aligning architecture with real-world needs. [...]

Codemotion Milan 2025: Why Large Tech Conferences Matter 🔗

I have wanted to write about tech conferences for a while, and last week I was at Codemotion in... [...]

Navigating the Risks in Leadership 🔗

Understanding the challenges and rewards of stepping into leadership roles. [...]

ReactJS Day 2025: TanStack Start & Real World Experiences 🔗

When I'm writing this I'm still on the train back from ReactJSDay, the largest conference on ReactJS... [...]

Essential Angular SSR Config To Deploy On Vercel 🔗

The world of web development is constantly evolving, with a strong emphasis on performance, user... [...]

Building My New Website with Astro, GitHub Copilot, and AWS Amplify 🔗

For me, in general, the best way to learn something new is to start from zero and hit... [...]

Seamless Synergy: Hosting Your Angular App on Firebase 🔗

In the world of web development, building dynamic and engaging user interfaces often leads developers... [...]

Improve Your Git Commit Messages with GitLens Tips 🔗

In the AI era, we can do many different things with LLM: generate code, images, videos or ask... [...]

🌱 Introducing Green Software Indicator: a Browser Extension for a greener web 🔗

As developers, we obsess over performance, accessibility, and design — but how often do we think... [...]

Deploying Your Angular App to Azure 🔗

Every business need for a reliable and scalable cloud infrastructure, this is precisely where Azure... [...]

Let’s Be Specific: CSS Specificity Explained 🔗

Struggling with stubborn CSS rules? Learn how specificity works so you can write styles that apply the way you want, every time [...]

Unleashing Creativity: Gemini Image Generation with Angular 🔗

In the ever-evolving landscape of web development, captivating visuals are no longer a luxury but a... [...]

TanStack Router: Go to Previous page after Sign In 🔗

Welcome back to the TanStack Router series, today going double digits with chapter 10! Let's fix a... [...]

Quick SEO Guidelines for Your Next.js App 🔗

A practical guide to optimizing SEO in your Next.js application. [...]

4 Free Methods to use LLM APIs in Development 🔗

You might be in the situation I was the other day: I wanted to develop a small AI feature for... [...]

✨ Advanced Tips and Tricks for GitHub Gists (Part 1: Unlocking the Power of Gists) 🔗

If you’ve been coding for a while, chances are you’ve stumbled across a GitHub Gist. Maybe you copied... [...]

🚀 GitHub Copilot: A Persona-Based Approach to Real-World Development 🔗

If you’ve ever used GitHub Copilot for more than a quick boilerplate snippet, you’ve probably felt... [...]

TanStack Start: light, dark, and system theme without flickers 🔗

Having multiple themes is a common request on (web) applications nowadays, at least having light,... [...]

It takes 26 yottabytes of RAM to typecheck a union of Safe Integers 🔗

Sometimes `number` is good enough [...]

Sharing Code Across Python Microservices with Poetry, Pip, and Docker 🔗

When working on multiple Python projects within a microservices architectured solution, it makes sense to reuse code. [...]

Bring Your Angular App to Life with Anime.js 🔗

With recent updates to the Angular framework, it is now recommended to move away from the... [...]

Writing Emails: Tips & Tricks (Especially for Developers) 🔗

You can write clean, efficient code. But can you write a clean, efficient email? As developers, we... [...]

What would Monads in JavaScript look like? 🔗

Some languages support monads with first-class syntax support. But what does that even mean? How would we support monads, in, say, JavaScript? [...]

How I Organize My Microsoft Teams Chats (Without Losing My Mind) 🔗

If you’re anything like me, your Microsoft Teams chat list can go from zen garden to dumpster fire in... [...]

Monads explained in JavaScript 🔗

You may have heard of a "monad" in programming spheres, especially in regards to functional programming terminology. So what on earth even IS a monad? [...]

Azure Foundry: Creating a Pay-As-You-Go LLM Service 🔗

Large Language Models (LLMs) offer incredible potential for businesses, but managing the costs... [...]

Firebase Data Connect Introduces Enum Support for Enhanced Data Modeling 🔗

Enums allow you to quickly define a list of static, predefined values with a specific order, which... [...]

Let's Write React Hooks From Scratch 🔗

Ever wondered how React's hooks function under-the-hood? Let's write our own implementation and find out together. [...]

Secure Airtable Integration: Mastering OAuth 2.0 PKCE with Node.js 22 and Angular 20 🔗

Integrating third-party services into B2B and SaaS applications demands robust security. When... [...]

Full-Text Search with Firebase Data Connect 🔗

In the previous article, you saw how to create a project from scratch with Firebase Data... [...]

Power Your Innovation: LLM Model Selection within Azure's Ecosystem 🔗

The rise of Large Language Models (LLMs) has opened unprecedented possibilities for businesses, from... [...]

You should be using unitless values for line-height 🔗

I've seen every value in the book used to set line-height values in CSS. This is why you should just use unitless. [...]

Supercharge Your Firebase Projects: The Power of MCP Integration 🔗

Firebase Studio is rapidly evolving into a robust, agentic development environment that leverages... [...]

I vibe coded an online visitors counter for my blog 🔗

You know that old-style "X users online" counter on a website? I've recently seen it on roe.dev's... [...]

Firebase hybrid on-device with Angular 🔗

Some of you asked me to create an example of integration between Angular and one of Firebase's latest... [...]

The History of React Through Code 🔗

Learn React's history using pragmatic code samples and deep dives. This journey reveals the consistent design in React's APIs stemming from the very b [...]

Create Raw Loader Plugin for NX Angular Application Executor 🔗

In this article I am going to share the plugin I created for Angular Material Blocks to preview code... [...]

Firebase: Unleashing Hybrid On-Device Inference for Web Applications 🔗

The realm of Artificial Intelligence (AI) is rapidly evolving, bringing with it exciting new... [...]

Next.js Promise Racing 🔗

Learn how you can use Next.js' and React's primitives to achieve a neat party trick: Conditionally show a loading spinner based on a given wait time. [...]

Running External Commands in C# and Wait Until They Finish 🔗

Ever needed your C# application to run a PowerShell script, wait until it's done, and print the... [...]

Firebase Data Connect: Rapid Development and Granular Control with GraphQL 🔗

Firebase Data Connect is simplifying the interaction between your applications and your databases. It... [...]

Do you really need the Cloud to work with AI? 🔗

We are in the AI era. New models emerge daily, and many applications have already integrated AI into... [...]

How we'll measure performance of our DevRel activities 🔗

▶️ This article is extracted from a video transcript, slightly tweaked for better readability. Watch... [...]

TanStack Router: How to protect routes with an authentication guard 🔗

Some routes in your application require authentication or other conditions to be met before users can... [...]

Firebase Data Connect: forget about boring repetitive tasks 🔗

For years, the Firebase platform has been synonymous with rapid, scalable application development,... [...]

Firebase Data Connect: forget about boring repetitive tasks 🔗

For years, the Firebase platform has been synonymous with rapid, scalable application development,... [...]

Linters, Formatters, and Type-Checkers 🔗

Learn about the tools that help you write better code, including ESLint, Prettier, and TypeScript. [...]

Bundling 🔗

Bundling is the process of taking your source code and transforming it into a format that can be run in the browser. Let's learn more about it and how [...]

Styling 🔗

Styling your web application comes in many flavors. Let's explore the different approaches you can take in your projects. [...]

I'm starting a Developer Relations program, somehow 🤷 🔗

▶️ Video version on YouTube: https://youtu.be/ERWzk5iOAiU Hey everybody, look at that! I finally had... [...]

Structuring GitHub Enterprise: Best Practices from the Org Level Down 🔗

Ever joined a GitHub Enterprise and thought, “Who organized this… chaos?” I created this post... [...]

Genkit Tool Calling: Give AI Models (LLMs) the Tools to Get Things Done 🔗

AI Models are taking over the world, and we are all looking for ways to use them to solve different... [...]

How to Protect Your API with OpenFGA: From ReBAC Concepts to Practical Usage 🔗

Learn how to implement complex authorization patterns using OpenFGA and Relation-Based Access Control (ReBAC) through a practical example of a cat sit [...]

Tools I Use Every Day (June 2025 Edition) 🔗

As a developer and productivity geek, I’m always on the lookout for tools that actually make a... [...]

Firebase ML: AI-Powered Apps Made Easy 🔗

How many times have you needed to translate your application, but didn't know where to start? One of... [...]

Monitoring Firebase Genkit to Ensuring Performance and Reliability 🔗

As we increasingly integrate Large Language Models (LLMs) into our applications, understanding and... [...]

Tips for Improving API Performance in ASP.NET Core 🔗

APIs are the backbone of modern applications, but even the cleanest code can drag if performance... [...]

Contributing to Open Source is Easier Than You Think: My Journey with Firebase Genkit 🔗

I work full time as a software engineer and don't do open source to pay the bills, but I recently... [...]

Git: Into the Weeds 🔗

In our second chapter, we expand on the topics we've discussed and talk about the bothersome and tricky portions of Git! [...]

How to Configure YubiKey with GitHub 🔗

If you're anything like me, you’ve probably typed in authenticator codes a hundred times a day, just... [...]

Firebase Studio: Your Perfect Full Stack Picky Companion 🔗

Okay, you've seen it all, built it all, and probably debugged it all (more than once). You recognise... [...]

Increase Your Sales by 70% with Firebase Genkit AI 🔗

Imagine your online store as a giant warehouse. You've got tons of cool stuff, but customers are... [...]

A special secret to prevent AI hallucinations with a practical Google genkit-ai example! 🔗

Generative AI models possess the remarkable ability to generate human-quality text, code, images, and... [...]

The Art of Accessibility: Labels 🔗

Forms and how we label them make up a large part of our apps, let's take a cursory glance at how we can make them more accessible. [...]

Level Up Your Testing Game with Jest Spies and Asymmetric Matchers 🔗

Over my long career as a software engineer, unit testing involving third-party APIS, such as database... [...]

The Art of Accessibility: Preface 🔗

When building a product, your users will come from many walks of life. How do you support them all? Answer: Accessibility. Let's dive in and learn mor [...]

Semantic Markup 🔗

When talking about web accessibility, the story starts and ends with semantic markup. Let's learn what that means and how to leverage it in our apps. [...]

The Art of Accessibility: Text 🔗

Text makes up most of our apps. Lets make sure that our app's text is legible and able to be accessed through assistive technologies like screen reade [...]

Firebase Cloud Functions: Your Gateway to Serverless Backend Development 🔗

The digital landscape is evolving at an unprecedented pace. Demands for faster, more scalable, and... [...]

Angular's proxyConfig: Unlock a senior-level technique used by only 10% of developers 🔗

In the world of modern web development, Angular has established itself as a leading framework for... [...]

From Hello World to Hello Customers: Why Programs Aren’t Products 🔗

We’ve all been there. You knock out a script in an hour, it runs, it works, and you feel like a... [...]

A Decade of SolidJS 🔗

As of today, it has been 7 years since I open-sourced SolidJS. It wasn't for noble reasons. I wasn't... [...]

Firebase Genkit-AI: Level Up Your Skills with AI-Powered Flows 🔗

The rapid evolution of artificial intelligence is fundamentally transforming how we build and... [...]

Git: The Basics 🔗

In our first chapter, we tackle the most common aspects of git and explain how they work in tandem with one another. [...]

Firebase Studio: 6 tips only senior engineers know 🔗

Firebase, Google's comprehensive platform for building mobile and web applications, has continually... [...]

Emulating the Cloud: why you should use Firebase Emulator Suite 🔗

In the fast-paced world of modern application development, iteration speed and robust testing are... [...]

Scale Your Project with Layered React Structure 🔗

Learn how to scale your React project using Layered React Structure (LRS). Take your app from small-time to enterprise grade by organizing your code b [...]

3 Pillars Only Senior Developers Know About Firebase and Firestore Databases 🔗

Google offers robust, real-time NoSQL database solutions: the original Realtime Database and the... [...]

Exploring Firebase Database Security Rules 🔗

Firebase Realtime Database offers incredible power and ease-of-use for building collaborative,... [...]

IIFEs — a JavaScript Idiom of Yore 🔗

IIFEs were very useful back in the day, but modern JavaScript has made them irrelevant [...]

Building Realtime Web Apps with Angular and Firebase Database 🔗

In today's web development world, building dynamic and real-time applications is more important than... [...]

Git stashing: save and restore your code 🔗

Have you ever been in the middle of coding when suddenly you needed to switch branches, but your work... [...]

Building Single Executable Applications with Node.js 🔗

Discover how to package your Node.js applications into single executable files, reducing deployment complexity and improving security. [...]

C# to Typescript Cheatsheet 🔗

As a consultant, sometimes, I have to switch from a project to another. My main (and favorite)... [...]

What’s in My Bag: The Essentials for a Productive Day at the Office [2025] 🔗

As a developer and cloud engineer (or Architect, they call me like that), my work isn't confined to a... [...]

Angular and Firebase Remote Config: Your Secret Weapon for Personalized & Adaptable Apps 🔗

In today's rapidly evolving digital landscape, adaptability is key to success. Applications need to... [...]

JavaScript Holes and Tolls (On Performance) 🔗

Compiler optimizations that you shouldn't worry about but are cool. [...]

Building Dynamic Push Notifications with Firebase and Node.js 🔗

In the previous article we saw how Firebase Cloud Messaging (FCM) is a versatile solution for... [...]

Node.js & Azure Blob: Unleashing Scalable Storage in the Cloud 🔗

Azure Blob Storage is a cost-effective and scalable cloud storage solution for storing unstructured... [...]

Why Can't Angular Cast An Element to Another? 🔗

While I'm a huge fan of Angular at heart, I've often used React at my day jobs. While working with React component libraries - either internal or ... [...]

Push Notifications in Angular 19 with Firebase Cloud Messaging 🔗

Push notifications are a powerful way to re-engage users, deliver timely updates, and drive traffic... [...]

Setup Adobe ColdFusion in Docker 🔗

Adobe ColdFusion can feel daunting to set up. Luckily for us, there's an easy method of getting up and running using Docker. Let's explore that option [...]

Firebase Authentication with Angular 19 🔗

Firebase Authentication provides a robust and easy-to-implement backend service for user... [...]

My First Year in Love with TanStack 🔗

I had no idea how much would have happened in 365 days 🤯 One year ago, on February 20th, 2024, I... [...]

You don't need importProvidersFrom with Angular Material 🔗

Cover photo generated with Microsoft Designer. Traditionally, we had to import mixed Angular modules... [...]

Vue "as" Prop using TypeScript 🔗

Vue can dynamically change a rendered HTML tag using a special syntax. Let's learn how to use it with TypeScript. [...]

Firebase: deploy a React application with Firebase Hosting 🔗

Create the React application Once upon a time you had to struggle with a thousand... [...]

React "as" Prop Using TypeScript 🔗

Learn how to type the "as" prop in React to dynamically change the rendered HTML tag. [...]

Exploring Routes Rendering Modes in Angular 🔗

Over the last few years, Angular has grown through some significant and important changes. One of... [...]

Is AI Stealing from You? 🔗

Artificial intelligence has access to information available on the internet, including people's work. [...]

Announcing Playful Programming's Non-Profit Status 🔗

Playful Programming is becoming a formal non-profit! Let's talk about the who, the what, and the why behind the decision. [...]

Intro to VeeValidate 🔗

Learn how to simplify form validation in Vue.js with this powerful library, featuring seamless integration and customizable rules. [...]

Intro to Formik 🔗

Learn how to streamline form handling in React with this popular library, featuring easy validation, state management, and submission handling. [...]

Intro to Angular Forms 🔗

Learn the basics of Angular Forms! Explore different approaches to build dynamic, user-friendly forms with ease. [...]

How to Enhance the API Response with a Wrapper Class with Additional Information with .NET Minimal API 🔗

One of the challenges of using API (minimal or not) is how to customize the response format and... [...]

My Favorite Tech Stack for Startup Success in 2025 🔗

In 2025, building a scalable and efficient tech stack is more critical than ever for startups aiming... [...]

Mastering Angular Unit Testing: Best Practices and Tools 🔗

In this article, I’ll share the insights and experiences I’ve gained over the years with unit testing in Angular, along with the best practices I’ve a [...]

How I Set Up an Awesome PowerShell Environment for Script Development 🔗

Over the past few years, I’ve had the opportunity to help colleagues write and refine PowerShell... [...]

JavaScript Frameworks - Heading into 2025 🔗

I admit I wasn't sure I'd be writing this article this year. It's easy to write articles that excite... [...]

What's gonna change in 2025 🔗

I just realized that I should probably open source my mind. I wrote this script and recorded a video,... [...]

Angular Pipes: A Complete Guide 🔗

Angular Pipes are a core part of the framework. They allow you to derive state via a function called in the template. How does this work? Let's dive i [...]

Framework Comparison Table 🔗

Let's compare and contrast React, Angular, and Vue's APIs all in one place. [...]

Accessing Children 🔗

Oftentimes, when passing children to a component, you want a way to programmatically access that passed data. Let's learn how to do that in React, Ang [...]

Directives 🔗

If components are a way to share JS logic between multiple, composable DOM nodes; directives are a way to assign logic to any single DOM node. [...]

Shared Component Logic 🔗

Components provide a great way to share layout, styling, and logic between multiple parts of your app. But what about times you only need to share log [...]

Portals 🔗

When building an app in React, Angular, or Vue, you'll often find that overlapping components can become a real problem. Rendering order can be confus [...]

Dependency Injection 🔗

Passing around props suck. They're repetitive, get out of sync, and are easy to forget to pass. What if there was a better way to pass data between di [...]

Error Handling 🔗

Bug are a constant in development. How can we make error handling lead to a nicer user experience when they occur in React, Angular, and Vue? [...]

Component Reference 🔗

While you usually want to pass data to child components, sometimes you need to access arbitrary data from the child without needing to explicitly pass [...]

Element Reference 🔗

React, Angular, and Vue provide powerful APIs that let you avoid DOM manipulations most of the time. But sometimes you need to access the underlying D [...]

Passing Children 🔗

Just like HTML nodes have parents and children, so too do framework components. Let's learn how React, Angular, and Vue allow you to pass children to [...]

Transparent Elements 🔗

There are specific instances where you may want to have a wrapper element in a framework that renders to nothing in the DOM. This is how. [...]

Derived Values 🔗

Often in application development, you'll want to base one variable's value off of another. There are a few ways of doing this - some easier than other [...]

Side Effects 🔗

Some call them "lifecycle methods", others "effect handlers". However you spin it, they both handle side effects in your apps. How can we leverage the [...]

Dynamic HTML 🔗

One of the primary advantages of using a framework is the ability to quickly generate dynamic HTML from JavaScript logic. Let's walk through some exam [...]

Introduction to Components 🔗

Components are the core building block in which all applications written with React, Angular, and Vue are built. Let's explore what they are and how t [...]

Preface 🔗

Learning web development is a vital skill in a software engineer's toolbox. Let's talk about why you should learn it and what this book will cover. [...]

Transforming Windows Terminal into a Productivity Powerhouse 🔗

Everything is started from this post on bluesky, by Thomas - ... [...]

The Tree Shaking Journey in Angular: A Deep Dive 🔗

Hey friends, how are you doing? This year, I tried a new Angular version and wanted to experiment... [...]

Using Git Maintenance in GitHub Actions: Optimize Your Repositories Automatically 🔗

Integrating the git maintenance command into your GitHub Actions workflow can help keep your... [...]

Optimizing Your Repository for Speed and Efficiency 🔗

In the last few weeks one of my repository started to be very slow and bloated. I try to commit all... [...]

The Secret Life of a Microsoft MVP 🔗

For over a decade now (11 years right now), I’ve carried the title of Microsoft Most Valuable... [...]

Cracking the FAANG Code: My 2024 Google Interview Journey & Key Takeaways (with Actionable Tips!) 🔗

Earlier this year, I had the opportunity to interview for a role at Google. A recruiter reached out... [...]

Writing Modern JavaScript without a Bundler 🔗

Let's explore how we can build a website using many of the conveniences of a Vite app while remaining buildless. [...]

UUIDv6, UUIDv7, and UUIDv8; what are they? 🔗

There's new UUIDs on the block! Let's explore what's new with UUIDv6, v7, and v8. [...]

Angular 19: linkedSignal & Resource API 🔗

Let's learn about Angular19's linkedSignal & Resource APIs! [...]

Angular Internals: Lifecycle Methods and Effect Timings 🔗

Let's dive into the timings for Angular's lifecycle methods and effect APIs. We'll even be reading a fair amount of Angular source code to explain it [...]

Quick Guide to Building a PWA with Next.js 🔗

Learn how to turn your Next.js app into a Progressive Web App (PWA). [...]

Web Fundamentals: Manipulating the DOM with JavaScript 🔗

The ninth chapter of this series finally goes over the DOM, how to manipulate it, and how to make our components interactive! [...]

Web Fundamentals: JavaScript Basics 🔗

The seventh chapter of this series contains the first look into JavaScript and its basic components. [...]

GitHub Spark ✨ isn't even trying to steal your job - 3 Real Examples 🔗

Spark is the latest creation from the GitHub Next team, which was announced on stage at GitHub... [...]

Web Fundamentals: Responsive Design 🔗

The sixth chapter tackles responsive design, breakpoints, media queries and more! [...]

Web Fundamentals: CSS - Inheritance & Hierarchy 🔗

The third chapter of our series talks about the cascade hierarchy in CSS, including inheritance and specificity. [...]

How does Zoneless Angular Work? 🔗

In the future Angular will not have Zone.js enabled by default and will not need it for change detection. But how will that work in a technical sense? [...]

How we built our custom semantic search page 🔗

Let's learn how we managed to improve our search experience using semantic search, powered by Orama. [...]

Angular 19 - 5 Game-Changing Features You Need to Know 🔗

Angular continues to evolve, bringing exciting features with each release. Angular 19 is no... [...]

Codemotion 2024 Milan: Rediscovering My Voice and Passion as a Speaker 🔗

Codemotion 2024 in Milan was nothing short of spectacular. Imagine being in a place filled with over... [...]

Angular 19 - Streamlining Data Retrieval with Experimental Resource and rxResource APIs 🔗

Angular 19 introduces two exciting experimental APIs, resource and rxResource, designed to simplify... [...]

A forgotten C++ idiom revisited: pass-key 🔗

So you have a class, and you want to control who can create instances of it? Easy, make constructors private, and make friends with those who can c... [...]

Angular 19 - Introduction to linkedSignal 🔗

Angular 19 is on the horizon, and it’s bringing a host of exciting new features to the table. One of... [...]

What are Signals? 🔗

Signals are seemingly everywhere today. So here's the question? What are they? Let's build an implementation ourselves to understand them better. [...]

Mutable Derivations in Reactivity 🔗

All this exploration into scheduling and async made me realize how much we still don't understand... [...]

Core Web Vitals — Now Built-n to Chrome 🔗

Have you wondered what these numbers in the DevTools are? Earlier this year, Google introduced an... [...]

Dynamic NestJS Listeners: Discover the Power of Lazy Loading 🔗

Declare lazy-loaded routes in NestJS and in-depth review of the DiscoveryService [...]

Impostor Syndrome: from A - Z 🔗

Impostor Syndrome is something many of us have faced at one point or another—a persistent, nagging... [...]

Recap of Experts Live 2024 in Budapest: Three Days of Cloud, Code, and Connections 🔗

In a previous post I wrote why it's important to join events and especially, in this case, Experts... [...]

Improving Core Web Vitals including LCP and CLS with Partial Hydration in Angular 18 🔗

Angular 18 introduced Partial Hydration in ng-conf 2024, a powerful technique that significantly... [...]

Angular Change Detection from zone.js to Experimental Zoneless 🔗

Change detection is a fundamental aspect of Angular, responsible for identifying and updating parts... [...]

Web Fundamentals: Grid 🔗

In the fifth chapter of our series, we're going to be introduced to CSS grid, a well-known feature to display content, and used in almost every websit [...]

Web Fundamentals: Flexbox 🔗

In the fourth chapter of our series, we'll look at flexbox, a powerful layout feature that allows you to create responsive designs with ease. [...]

Monorepos with Nx: Why You Might Want a Single Home for All Your Code 🔗

Ever felt like your codebase is scattered across a million different repositories? That’s the life of... [...]

The Impact of Not Turning Off Your PC for Three Weeks: A Deep Dive into Hibernate Mode and Application Performance 🔗

What happens when you rely solely on hibernate mode and don't turn off your PC for three weeks... [...]

Web Fundamentals: CSS - The Basics 🔗

The second chapter in our front-end series. Let's delve right into the world of CSS, variables and selectors. [...]

Web Fundamentals: HTML 🔗

The first chapter of this series offers an introductory dive into the box model, HTML defaults and semantic elements. [...]

Leveraging Django 5.1.1 and PostgreSQL 16 for an Efficient Geo-Targeted Rating API 🔗

Last week, I had a chance to dive into a case study that involved developing an HTTP-based REST API.... [...]

Building and Serving Angular Applications Across Environments with environment.ts (Angular 15+) 🔗

As an Angular developer, deploying your application to different environments – development (dev),... [...]

Why You Should Attend Experts Live Europe 2024 in Budapest: Unlocking Opportunities in the Heart of Innovation 🔗

The IT landscape is ever-evolving, and staying ahead of the curve is crucial for professionals... [...]

Entity Component System: The Perfect Solution to Reusable Code? 🔗

The ECS pattern is used by many game engines to create stateless, reusable game logic. But how does it work? [...]

Where should you start building your application 🔗

Talking about where you should start building your full stack application [...]

Why Reading Official Documentation First Made Me a Better Developer 🔗

As a developer, the constant need for learning and adapting to new technologies is a given. However,... [...]

Weekly 0074 🔗

Monday Dedicated time to meticulously outline the comprehensive roadmap for Cloud Glow, my... [...]

Why is CSS-in-JS slow? 🔗

If you've worked with frameworks like React, Angular, or Vue in the past you'll likely have used (or heard of) a CSS-in-JS solution like Styled Com... [...]

🎉 Celebrating 11 Years as a Microsoft MVP: A Journey of Perseverance and Gratitude 🌟 🔗

Introduction to the Microsoft MVP Program The Microsoft Most Valuable Professional (MVP)... [...]

Angular 18.2: Enhanced Template Syntax and Streamlined Migrations 🔗

Angular 18.2 has arrived, and while it may be a minor release, it holds some valuable improvements... [...]

Navigating Tech Debt in Early-Stage Startups: The Double-Edged Sword 🔗

Introduction Whether you're a coding ninja or a startup wizard, understanding tech debt,... [...]

Async Derivations in Reactivity 🔗

Congratulations on making it through the series thus far. But this is where things start to go off... [...]

Create a CI Workflow with Minimal Boilerplate Using Nx, Docker, and GitHub Actions 🔗

In this post, I share my blueprint for a hybrid CI workflow that neither forces you to adapt to a... [...]

Cracking the LeetCode 122. Best Time to Buy and Sell Stock II 🔗

In my ongoing quest to sharpen my LeetCode skills, I tackled the "Best Time to Buy and Sell Stock II"... [...]

Scheduling Derivations in Reactivity 🔗

Most developers think about Reactivity as an event system. You have some state. You update that state... [...]

LeetCode Problem 121: Best Time to Buy and Sell Stock 🔗

I recently tackled a classic LeetCode problem: "Best Time to Buy and Sell Stock." This problem asks... [...]

Two-way Binding is a Two-way Street 🔗

In some circles, two-way binding is seen as the scourge of modern frontends, while in others it is... [...]

It's Time For A Change: Rebranding Our Platform 🔗

"Unicorn Utterances" is now "Playful Programming". Let's talk about why, what's different, what's the same, and what's next. [...]

A Complete History of Unicorn Utterances 🔗

Now that "Unicorn Utterances" is called "Playful Programming", let's look at the history of the project. [...]

Exploring DotenvX 🔗

Evaluate DotenvX to manage environment variables [...]

Effortless Theme Toggling in Angular 17 Standalone Apps with PrimeNG 🔗

As I delved into PrimeNG and PrimeFlex for my recent Angular 17 standalone app with SSR, one aspect... [...]

Safely Experiment with Angular 18: A Guide for Developers with Existing 16 & 17 Projects 🔗

Exploring Angular 18 Without Disrupting Existing Projects I was recently working on an... [...]

Implementing i18n Internationalization in Next.js 14 with Next-Intl 🔗

As a full-stack developer, I strive to create applications that cater to a global audience. This... [...]

Integrating Creative Data Visualization in My Developer Portfolio Using Next.js 14 and Recharts 🔗

As a full-stack developer, my portfolio is my digital handshake to potential employers. It showcases... [...]

Testing Components In Angular: NO ERRORS SCHEMA, Stub Components, and NgMocks 🔗

When we need to write a test for components, it is not hard. The pain starts when our components... [...]

The Missing Shadcn/ui Component 🪄 🔗

The beauty of shadcn/ui is that it's not a component library, but a set of components that you can... [...]

TanStack Form Tutorial: Arrays & Dynamic Fields 🔗

Your form might not have a fixed number of fields, that's where arrays come in! Let's see today how... [...]

🌈 2 Colors Extensions to make Visual Studio Code even better! 🔗

Colors 🌈 help us identify things in our surroundings, including Visual Studio Code instances and... [...]

TanStack Form Tutorial: Advanced Validation 🔗

Validation is one of the core features of forms, probably the most important one. In the last... [...]

Play 4 Multiplayer Games 🎮 on Github Profiles (README.md) 🔗

You can play online multiplayer games on Github profiles! 🎮 Setting up a profile on GitHub is easy,... [...]

Building Real-Time Boards with Angular and NestJS Using Server-Sent Events 🔗

When I need to build real-time apps with Angular, most of the time I use SignalR, but a few days ago,... [...]

Set up a React Native Web Project in a Monorepo 🔗

Setting up a React Native Web project in a monorepo is challenging. Let's do so and see what challenges we run into! [...]

TanStack Form Tutorial: Setup and simple validation (with shadcn/ui) 🔗

Forms are not an easy business 🤯 Luckily there are many libraries helping out with that and today... [...]

Making Generics Types Optional - Generics Fundamentals in Typescript 🔗

In the last two issues, we started exploring generics, where we looked at the fundamentals of... [...]

Unlocking the Power of Out-GridView in PowerShell 🔗

Unlocking the Power of Out-GridView in PowerShell When it comes to PowerShell, every seasoned... [...]

Copilot Workspace - GitHub's latest innovation 🔗

GitHub just announced Copilot Workspace a new integrated AI feature with Copilot being your companion... [...]

What's in my bag when I go to the office [April 2024 Edition] 🔗

As a developer, my workdays are filled with coding, designing, and collaborating with colleagues both... [...]

What I DON'T like about shadcn/ui 🔗

Shadcn/ui is great, components are good-looking, easy to setup and customize, and everyone likes it…... [...]

Feeling overwhelmed by technical articles? Let's find a solution 🔗

Sometimes I feel that I'm reading a lot of technical articles and watching videos, but nothing really... [...]

TanStack Router: Nesting & 404 pages 🔗

Welcome to the fifth article of a series where we will explore TanStack Router, the new typesafe... [...]

Generic Constraints - A Gentle Introduction to Generics in Typescript 🔗

In a previous issue, we learned about the fundamentals of Generics in Typescript and how we can use... [...]

Bun - The One Tool for All Your JavaScript/Typescript Project's Needs? 🔗

In most issues for this newsletter, I have focussed on Typescript and its type system, which I will... [...]

A Gentle Introduction to Generics in Typescript 🔗

One of the more advanced topics in Typescript is Generics and understanding and adding them to your... [...]

Navigating Open Spaces: Survival Guide for Neurodivergent Individuals 🔗

Navigating open spaces can be challenging for anyone, but for neurodivergent individuals, it can... [...]

Explaining Promises, Async, and Await in JavaScript 🔗

Modern JavaScript is built on promises and callbacks. Let's learn what promises are and how we can make their usage easier using async functions. [...]

A Deep Dive into the satisfies operator in Typescript 🔗

In Typescript version 4.9, Typescript introduced the satisfies operator. Over the last few months, I... [...]

TanStack Router: Authenticated routes & Guards 🔗

Welcome to the fourth article of a series where we will explore TanStack Router, the new typesafe... [...]

TanStack Router: Query Parameters & Validators 🔗

Welcome to the third article of a series where we will explore TanStack Router, the new typesafe... [...]

Boost your productivity by mastering Oh My ZSH git aliases 🔗

Since I discovered Oh My Zsh a few years ago, it has been a god-sent gift to me. I believe it has... [...]

Embedding Interfaces in Go 🔗

Creating tests can feel tedious, but doing it in Go can be, dare I say, *fun*. Let's take a look at how embedding interfaces clears some of that tediu [...]

TanStack Router: Path Parameters & Loader 🔗

Welcome to the second article of a series where we will explore TanStack Router, the new typesafe... [...]

Build a Vite 5 Backend Integration with Flask 🔗

Learn how to build a lightweight backend Vite integration using a Flask Blueprint in ~50 lines of code. [...]

TanStack Router: Setup & Routing in React 🔗

Welcome to the first article of a series where we will explore TanStack Router, a new router for... [...]

How to Push All Branches from Command Line 🔗

Pushing all branches simultaneously streamlines the process of synchronizing your local repository... [...]

Implicit Dependencies Management with Nx: A Practical Guide through Real-World Case Studies 🔗

In this article, I will present two concrete cases of implicit dependencies and show you how to... [...]

The Dilemma of Perfection: Balancing Timeliness and Quality in Product Development 🔗

In the fast-paced world of technology and innovation, product development teams often face a critical... [...]

Decoding Startup Jargon: A Comprehensive Guide for Entrepreneurs 🔗

In the fast-paced world of startups, communication is key. However, navigating through the sea of... [...]

Conventional Comments: Stop Fighting in Code Reviews 🔗

I’m sure you’ve heard about conventional commits, but what about conventional comments? The... [...]

Move manifest.json to the Output Directory's Parent in Vite 5 🔗

Move Vite's manifest.json file outside of the build directory. [...]

Restore deleted/lost files with git 🔗

Remember that file you deleted last week? Too bad, now you need it. Let's see how git restore can... [...]

A Promise is forever 🔗

In the ever-evolving world of web development, mastering asynchronous operations is a crucial skill... [...]

How to Manage Variables Configuration in a PowerShell Project 🔗

One of the challenges of writing PowerShell scripts is how to handle variables configuration, such as... [...]

15 Minutes of Documentation 📖 for 15 Days 🔗

I spent 15 minutes every single day reading documentation and here’s what I learnt. In the last two... [...]

How Endel App Boosted My Productivity as a Developer and CTO 🔗

As a developer and CTO, I have to juggle multiple tasks and projects every day. I need to write code,... [...]

Beginner-friendly Open Source projects to learn Web Development 🔗

I'm launching a GitHub organization to host community projects. The mission is to learn Web... [...]

How To Add Controllers To A Blazor Server App 🔗

In this post, I will show you how to add controllers to a Blazor Server app and how to use them to... [...]

Fuzzing an API with libfuzzer 🔗

[Edit] I was just told that libFuzzer is deprecated. I think the ideas presented are valid for any fuzzer, but the details will differ. When I ment... [...]

My Wrap Up of 2023: A Year of Growth and Recognition 🔗

Hello everyone, this is my last blog post of the year and I want to share with you some of the... [...]

Derivations in Reactivity 🔗

There is a reason why the first time you learn about a reactive system the example always looks... [...]

Fantastic JSON Schemas and where to find them 🔗

Everytime you write a config for a common tool, for example you're writing a GitHub Action in Visual... [...]

Web Framework Quickstart Guide 🔗

Here's the quickest ways you can get up-and-running with templates for React, Angular, and Vue; using official tools. [...]

Keep Your Email out of Recipients’ Spam Folders 🔗

Spam is a common problem for email users and administrators. Spam messages can clutter your inbox,... [...]

You shouldn't ignore warnings in the console 🔗

How often when you run your build command you see a bunch of warnings in the console? I mean, they've... [...]

How to Speak the Language of the Internet: A Introduction to the Most Common Network Protocols 🔗

Network protocols are sets of rules and standards that enable communication between devices over a... [...]

Astro Healthcheck 🔗

Monitoring Your Blog for Issues [...]

Angular Dynamic host Property Usage 🔗

In directives and components alike, it can be a pain to add attributes and bindings to the host element. Instead of using DI to change the host, try t [...]

2023 Retrospective 🔗

Here it is, the end of 2023. What a year it has been. I've been thinking about what I want to do in... [...]

Angular's Templates Don't Work the Way You Think They Do 🔗

Angular templates are mission-critial for components. But how do they work? Using a compiler, yes, but how do they bind to the DOM itself? Read on to [...]

The Power of Atomic Commits in Git: How and Why to Do It 🔗

Using Git effectively requires some good practices and habits, such as making atomic commits. ... [...]

JavaScript Frameworks - Heading into 2024 🔗

I won't be the first to say it, but I will say it nonetheless, 2023 was quite the year for JavaScript... [...]

What is React's useActionState and useFormStatus? 🔗

React Server Actions are an awesome way to pass data to and from your React client and server. Like all functions, they need a way to return data. [...]

What are React Server Actions? 🔗

While React Suspense APIs enable you to load data asynchronously from the server, Server Actions allow you to send data to the server from the client. [...]

About time - how to unit test code that depends on time 🔗

Suppose that the logic of your program depends on time. That is, you need to keep track of when something in the past happened, and what time it is... [...]

What is React Suspense and Async Rendering? 🔗

Handling async code in React code has historically been fairly challenging to get right. Let's see how React's official solutions for promises stack u [...]

Exploiting the Hype Cycle in Tech 🔗

Hold on a second, it's called Hype Cycle, but actually... it's not a cycle. I mean, there are 5... [...]

Explaining React's cache Function 🔗

React's dipping its toes into data fetching! With this comes a big requirement to cache the results of a given function. Luckily, React's done that. L [...]

What are React Server Components (RSCs)? 🔗

React Server Components have been a topic of regular discussion in the WebDev space as-of late. What are they? How do they improve the SSR story for R [...]

What is Reconciliation and the Virtual DOM (VDOM)? 🔗

How does React handle update the DOM? The answer? "The Virtual DOM and reconciliation." Let's explore what these are and how you can leverage them the [...]

What is Reactivity? 🔗

When researching frontend frameworks, you're likely to hear about "reactivity". But what is it? Why does it matter? Let's explore this and more in thi [...]

Pains and solutions in localization for the web 🔗

There's nothing wrong in writing plain text in your HTML/JSX code, it renders nicely on the browser... [...]

Add Router Animation Transitions for Navigation in Angular 17 🔗

I'm constantly exploring ways to improve user interaction on websites. Recently, while building a... [...]

When private member function? 🔗

I've seen this a few times too many recently, and need to get it off my chest. Ponder a class that has a private member function. The function does... [...]

How to retrieve sub properties in a PowerShell script with the Invoke-Expression method 🔗

Sometimes, you may want to access the sub properties of an object, which are the properties of the... [...]

Testing routed components with RouterTestingHarness 🔗

RouterTestingHarness uses the actual Angular Router API in our routed component tests. [...]

Fetching and Publishing Settings for Azure Functions with Azure Functions Core Tools Command Line 🔗

During my daily activities I develop a lot of Azure Functions. Every time I struggle to synchronize... [...]

Level UP your RDBMS Productivity in GO 🔗

IMPORTANT: All the things in this article are highly opinionated, and they are not a standard. I'm... [...]

Advent of Code Automation for Javascript/Typescript 🔗

December means Advent of Code for many of us 🎄 (or at least, the first few days of December) These... [...]

The Most Upvoted Visual Studio Code Feature 🔗

Up until yesterday (technically, a few days ago), tabs were bound to the same vscode window, but... [...]

Developers and Sherpas: A Mountainous Analogy 🔗

Have you ever wondered what it takes to be a successful software developer? Do you think you have the... [...]

How to handle browser storage in Angular SSR? 🔗

In this quick tutorial, we will learn best way to handle browser storage with Angular SSR [...]

Set up GitHub Codespaces for a .NET 8 application 🔗

A few days ago Microsoft released the new version of .NET: .NET 8. This is the stable version of the... [...]

GitHub Codespaces: A Faster Way to Develop in the Cloud 🔗

It's been a long time in my mind to write a series of posts regarding Codespaces but now it occurred... [...]

A deep dive into new control flow syntax for Angular (17) 🔗

With the release of Angular 17, I wanted to explore the control flow syntax in Angular and... [...]

Debug a React app with Visual Studio Code 🔗

Debugging a React app is far from being an easy task... if you don't know the tools you already have,... [...]

Why I love Monaspace font for coding 🔗

As a developer, I spend a lot of time writing and reading code. And one of the most important aspects... [...]

The Reflect API: The Swiss Army Knife Every JavaScript Developer Needs 🔗

Ever wished for a magical toolkit that gives you superhero-like control over JavaScript objects? Say... [...]

Figma to Compose: Line Height & Baseline Grids 🔗

A detailed guide on how to make text in Jetpack Compose match your mockups, and why baseline grids are not all that they're hyped up to be. [...]

How to Build Original Projects 🔗

People often say that you should build your own projects to grow as a developer, without explaining how. Let's learn how to actually plan and build yo [...]

Cracking the JavaScript Code: Unveil the Magic of Object Property Descriptors 🔗

👋 Hey, JavaScript developers! Ever wondered what makes your objects tick? Or how to go all... [...]

I Fixed Trello 🔗

Having a unique ID on each card is so important to efficiently communicate, but Trello does not show... [...]

Recap Codemotion 2023 🔗

Last week, I had the opportunity to attend Codemotion 2023, one of the biggest tech conferences in... [...]

How to Release a Side Project as a Real Product 🔗

Many developers have side projects that they work on for fun, learning, or solving a personal... [...]

Securing Secrets in the Age of GitOps 🔗

Kubernetes and GitOps offer a powerful way to manage your infrastructure and applications. However,... [...]

JavaScript FinalizationRegistry Unraveled: Memory Management Magic Explained! 🔗

Introduction JavaScript's memory management can be tricky, especially when it comes to... [...]

How to NOT decide the next tech stack: 4 decision making anti-patterns 🔗

These are 4 really easy ways of making horrible decisions, but don't worry, being able to recognize... [...]

Unlocking the Power of Proxies: JavaScript's Secret Superheroes 🔗

JavaScript's Proxy object is a powerful feature that enables you to intercept and customize... [...]

GitHub Form Templates 🔗

When you, as a contributor, want to create a new issue on GitHub, you're presented with a blank page... [...]

How To Handle Microsoft Graph Paging in PowerShell 🔗

When you query the Microsoft Graph API, you may encounter a limitation: the API only returns a... [...]

Thinking Locally with Signals 🔗

As the creator of SolidJS, I was very influenced by React when designing the library. Despite what... [...]

How to avoid Microsoft Graph API throttling and optimize network traffic 🔗

In the last few months I received a lot of requests from customers about avoiding Microsoft Graph API... [...]

Contributing to HUGE Open Source Projects 🔗

Let's say you want to contribute to a large Open Source project like React or VSCode: are you... [...]

JavaScript WeakRef Explained: Harnessing Memory Management Magic 🔗

Introduction to WeakRef WeakRef is a powerful feature in JavaScript that allows developers... [...]

Azure Automation vs Azure Functions with Powershell 🔗

In my last recent talks and at work (I helped a lot of customers with Azure Automation and Azure... [...]

Give credit to Open Source Contributors 🔗

Tables like this one are in a lot of repositories, giving well deserved credit to their... [...]

Unlock the Power of JavaScript WeakSet: Mastering a Hidden Gem! 🔗

In the vast landscape of JavaScript, many powerful features often go unnoticed. One such hidden gem... [...]

Experts Live 2023 - My Recap 🔗

I’m excited to share with you my experience at Experts Live Europe 2023, a premier conference for IT... [...]

Discovering Odd Behavior with Angular Error Handling 🔗

Angular has fairly consistent error handling behavior... Until it doesn't. Here's one place where it's off and why. [...]

Unlocking JavaScript's Secret Weapon: The Power of WeakMaps 🔗

Introduction JavaScript is a powerful and versatile programming language that has evolved... [...]

Unveiling the Magic: Exploring JavaScript Symbols 🔗

Introduction to JavaScript Symbols JavaScript Symbols are a new primitive data type... [...]

Creating your First Valid PR for Hacktoberfest 2023 🔗

Starting from September 26th you can register for the event. There will be a button on the official... [...]

What's in my bag for Experts Live Europe 🔗

I am very excited to attend Experts Live Europe, a community-driven IT conference focused on... [...]

JavaScript Async Generators Unleashed: Harnessing Asynchronous Power 🔗

In the dynamic realm of JavaScript, the ability to efficiently handle asynchronous operations is... [...]

Islands & Server Components & Resumability, Oh My! 🔗

It is no secret that the past 2 years have seen the beginnings of a fairly dramatic change in... [...]

GitHub Markdown Issue Templates 🔗

When you, as a contributor, want to create a new issue on GitHub, you're presented with a blank page... [...]

Where's the Hacktoberfest 2023 T-Shirt? 🔗

Hacktoberfest 2023 will NOT have the usual tshirt and stickers as a reward. This has been announced... [...]

Never forget where you come from 🔗

Photo by ROCCO STOPPOLONI on Unsplash Last week, I was traveling to speak at CityJs + HalfStack Conf... [...]

Building a Contact Form with Microsoft Azure and Blazor 🔗

In this blog post, I will show you how to create a simple contact form for your website using Blazor... [...]

Mastering JavaScript Async Iterators: Unlocking Asynchronous Magic 🔗

In the ever-evolving landscape of JavaScript, staying up-to-date with its latest features is crucial... [...]

Unleashing the Power: Demystifying JavaScript Generators 🔗

Welcome to this blog post, where we're diving into the fascinating world of JavaScript generators. If... [...]

Setting up VS Code for C# development 🔗

Visual Studio Code (VS Code) is a popular and versatile code editor that supports many languages and... [...]

My Smart Working Experience: Pros and Cons 🔗

I’m doing smart working in a full remote company for a couple of years. These are the pros and cons... [...]

PowerShell: Turn Your Custom Objects into CSV Files (and vice versa) with a Snap of Your Fingers 🔗

PowerShell is a powerful scripting language that can manipulate various types of data, such as... [...]

Iterate Like a Pro: Mastering JavaScript Iterators for Effortless Code 🔗

Welcome to this blog post, where we're about to unravel the power and versatility of JavaScript... [...]

Learning Web Development Together with a Real Project 🔗

Learning through tutorials alone is not enough, some hands-on practice is required in order to... [...]

A sweet spot between signals and observables 🍬 🔗

In collaboration with Chau Tran. The migration wave to signals is real, state management libraries... [...]

When Use Arrays, Tuples, Maps, and Sets In Typescript with Examples 🔗

A few days ago, a friend asked how to prevent duplicate keys in an array, and I told him there are... [...]

Developer Shape Makes It All 🔗

Since a couple of days I’m seeing this screenshot everywhere on Twitter and Linkedin, and I’m sorry... [...]

Create configurable Angular guards 🔗

When building web application, from time to time we have to protect routes from unauthorized access.... [...]

Chrome Debugger is easier to use than you might think 🔗

Please, don’t tell me you’re still using console.log to debug your application. Ok, everyone does... [...]

One Year of Dev YouTube 🔗

Exactly one year ago I started consistently posting on YouTube, at least a video every single week,... [...]

Custom scaffolding with Copilot - July 2023 Update 🔗

You got the idea for a new and fun side project which you will abandon after a few weeks, but that's... [...]

A message from an Impostor 🔗

Impostor syndrome is quite popular in the tech industry. People around you seem to be super experts,... [...]

How to prevent the screen turn off after a while in Blazor 🔗

One of the challenges of web development is to keep the screen awake when an application needs to... [...]

Who pushed failing tests again? Git Hooks with Husky 🐶 🔗

Three things you do NOT want in your repository: Unformatted code Warnings/errors Failing... [...]

Manage Nx library dependencies with the @nx/dependency-checks ESLint rule 🔗

The `@nx/dependency-checks` ESLint rule is an invaluable tool in managing peer dependencies of a buildable or publishable Nx library. [...]

Backend development is more than writing endpoints for frontend 🔗

Backend development is a crucial part of web development that involves creating and maintaining the... [...]

Secrets and Environment Variables in your GitHub Action 🔗

If you need to use some secret values in your pipeline, for example an API key to send a Slack... [...]

Introduction to Hash Tables 🔗

A high-level overview of how hash tables work behind the scenes. [...]

Porting a Next.js Site to Astro Step-by-Step 🔗

Let's port a site from Next.js to Astro, expanding on the official migration guide. [...]

Using JavaScript classes without the `class` keyword 🔗

Classes are a core feature of JavaScript - but they weren't always that way. How did earlier JS devs write classes? Let's learn how together. [...]

How to Setup a React Native Monorepo 🔗

React Native can be challenging to setup a monorepo for. Let's explore what an optimal monorepo setup looks like for it. [...]

Qwik introduction from Misko and Giorgio 🔗

On June 14th I've been in Florence to attend an amazing workshop about Qwik, held by Misko Hevery,... [...]

How To Debug Angular Applications Easy 🔗

As developers, we use a lot of our coding time to fix bugs. Debugging helps us find and remove errors... [...]

How to Clean Up Your Local Repository with Git Commands 🔗

Git is a powerful and popular version control system that helps you manage your code history and... [...]

Looking Up React Components Props Types 🔗

In an earlier post, in my All Things Typescript newsletter, we covered how we can look up types for... [...]

Create and Publish a GitHub Action in Typescript 🔗

GitHub Actions are a powerful tool to automate your workflow. They can be used to run tests, deploy... [...]

Architects Delight: Enforcing Layers and Project Boundaries with Nx 🔗

Introduction When I embarked on my journey as a software developer, I delved into the... [...]

🏆 My journey to the MVP Award 🏆 🔗

This history started many years ago! I was a student, and I was going to the ITS in Pordenone. I... [...]

Unraveling the Magic of the Virtual DOM 🔗

The VDOM is the secret sauce that empowers developers to create the captivating, dynamic web applications that we use every day. [...]

How to Boost Your Web Performance with HTML5 Features 🔗

Performance is a crucial aspect of web development, as it affects the user experience, accessibility,... [...]

React Query - Infinite Queries 🔗

Hey Folks, Today it's time to learn how you can build an infinite query with React Query. To build... [...]

Safari 17 Beta: A Game Changer for PWAs on MacOS 🔗

Safari 17 Beta is the latest version of Apple's web browser, which was released on June 5, 2023. It... [...]

Organize Your Firebase Functions For Easier Deployments and Maintenance 🔗

When developing Firebase functions, it's common to have everything in a single repository - all the... [...]

Astro Coding Session: "Series" feature on my blog 🔗

Hello! If you read my articles often here on devto you probably noticed that I also publish them on... [...]

Visual Studio 2022: A New Way to Work with HTTP Requests and Responses 🔗

One of the new features in Visual Studio 2022 is the support for HTTP files, which are text files... [...]

React Query - Paginated List 🔗

Hey Folks, Today it's time to learn how you can paginate a list with ReactQuery. It's common to... [...]

Enhancing your terminal experience: Warp or Fig? 🔗

After using Warp for over a couple of months (and collecting feedback from colleagues already using... [...]

Stop using the defaultProject Nx CLI setting and start using NX_DEFAULT_PROJECT 🔗

The defaultProject Nx CLI setting is deprecated. However, there's a hidden alternative. [...]

Understanding and Using ConfigureAwait in Asynchronous Programming 🔗

In this article, I will explain what ConfigureAwait is, why it is important to use it correctly, and... [...]

The Top 5 Best Takeaways from Microsoft Build 2023 🔗

Microsoft Build 2023 was a three-day event that showcased the latest innovations and tools for... [...]

How to Convince your Project Manager/Client to let you write Unit Tests 🔗

I recently shared a video where I showed how Copilot Chat can write tests for you, a funny demo, but... [...]

How to Write Better PowerShell Scripts: Architecture and Best Practices 🔗

PowerShell is a powerful scripting language that can automate tasks, manage configuration, and... [...]

Playing with Copilot CLI on top of Warp terminal 🔗

I recently got access to the new Copilot CLI, which basically gives you the full power of GitHub... [...]

Copilot Chat writes Unit Tests for you! 🔗

We don't write tests because we don't have time. How many times have you heard that? Or maybe you... [...]

React Query - Abort Request 🔗

Hey Folks, Today it's time to learn how you can abort an ongoing request with ReactQuery. Before... [...]

How to Unleash the Power of Multithreading in JavaScript with Web Workers 🔗

As I mentioned in my two previous articles, JavaScript is a single-threaded language, which means it... [...]

Improve user experience with optimistic update 🔗

Hey Folks, Sometimes to improve the user experience you can decide to bet on the success of your... [...]

How to Use Visual Studio Like a Pro When Presenting Your Code 🔗

Visual Studio is great to write code and create something amazing, but sometimes, you may want to use... [...]

How to Use Promise.all and Promise.race to Speed Up Your JavaScript Code 🔗

In my previous article I described how to use Async and Await in Vanilla JavaScript. ... [...]

GitHub Copilot CLI is your new GIT assistant 🔗

GitHub Copilot CLI comes with three aliases: ??: Ask for a generic shell command git?: Ask for a... [...]

Async and Await in Vanilla JavaScript 🔗

In the last couple of years I work a lot with Blazor WebAssembly for my personal projects and, first... [...]

React Query - Keys & Prefetching 🔗

Hey Folks, Today I want to share two important things if you are using ReactQuery. The first is how... [...]

Using Copilot: CLI to reorganize my blog 🔗

A few days ago I was working on my blog leonardomontini.dev as I'd like to give it a strong restyle... [...]

Create an Azure Function with PowerShell and Visual Studio Code 🔗

In this post, I'm going to show you how to create Azure Functions with PowerShell and Visual Studio... [...]

Lazy loading services in Angular. What?! Yes, we can. 🔗

We’re used to lazy loading modules or components in Angular. But what about lazy loading services?... [...]

React Query - Enable Query 🔗

Hey folks, Do you know that you can enable or disable a query in react query? Noooo! Ok, it's time to... [...]

Trying out a new terminal: Warp 🔗

When I moved from Windows to Mac a year ago I also developed the habit of using the terminal much... [...]

A Crash Course to Two-Factor Authentication 🔗

Two-Factor Authentication is a security feature that adds an extra layer of protection to your online accounts. [...]

10 more Javascript Challenges! 🔗

Do you know Javascript? After the success of the previous video, I've decided to make a second one... [...]

How to Clean Up ASP.NET and Visual Studio Cache and Temp Files 🔗

ASP.NET and Visual Studio are powerful tools for web application development, but like any software,... [...]

New way of passing data to dynamically created components (New Feature 🎉) 🔗

Topics covered in this article: How it works today How it can be done in Angular v16 How... [...]

React Query - Filter Your Data 🔗

Hey folks, Did you know that you can filter your data in react query? Noooo! Ok, it's time to learn... [...]

I QUIT from a TOXIC Software Development Workplace 🔗

I worked as a Full Stack Web Developer on what I realized it was to me a toxic workplace for software... [...]

GitHub Slash Commands! 🔗

Wait, what? Slash commands are available on GitHub? I recorded a two minutes video to showcase how... [...]

Why and When Use Ng-template, NgContent, and NgContainer in Angular 🔗

When I started to play with templates and dynamic content in angular, I get surprised by multiple... [...]

React Query - Authentication Flow 🔗

Every application should handle an authentication flow; in this article, you'll learn how to build an... [...]

Never Use the WRONG Package Manager Again! 🔗

npm or yarn, what does this project use? Or maybe it's pnpm? Or Bun? Well, let's just use ni! Is... [...]

Angular: The Framework of Past, Present, and Future 🔗

Photo by Drew Beamer on Unsplash I started using Angular in 2017 when version 4 was released. And I... [...]

Playwright - UI Mode 🔗

Hi folks, In release 1.32, Playwright released a new cool feature for us, the UI Mode! This feature... [...]

Bind Route Info to Component Inputs (New Router feature) 🔗

Pass router info to routed component inputs Topics covered in this... [...]

React Query - DevTools 🔗

Hey Folks, In this post, you'll learn how to debug and check whatever happens in your React Query... [...]

Manage GitHub Issues from Visual Studio Code 🔗

Stop! 🛑 You no longer need to open GitHub and search 🔎 for that issue you were assigned to. You can... [...]

OramaSearch, a full-text search in your React application 🔗

In some applications, you need to create a full-text search to improve the search of data. In some... [...]

React Query - useIsFetching & useIsMutation 🔗

Hey folks, Today it is time to talk about two hooks exposed by react query: useIsFetching and... [...]

Code Review on a GitHub Pull Request from Visual Studio Code 🔗

Doing Code Review 📖 on a GitHub Pull Request without leaving Visual Studio Code? Easy! 👇 Last week... [...]

My LinkedIn Course "Learning GitHub" by numbers 🔗

Introduction A few months ago I started to talk about my journey as a Technical Instructor... [...]

Advice for New Twitch Streamers 🔗

Twitch streaming can be fun and fulfilling, but has various roadblocks in the way for newcomers. Here's how you can overcome them and grow your Twitch [...]

What is Object Mutation in JavaScript? 🔗

When working with objects, you may hear the term "mutation". What is that? How does it work? How do let and const REALLY differ from each other? This [...]

Debugging Multiple .NET Projects in VS Code 🔗

It is quite common, especially in medium/large projects, to have to run multiple projects in debug... [...]

Create a Pull Request from Visual Studio Code on GitHub 🔗

Did anyone say the word Productivity? We're all used to the GitHub User Interface so we usually... [...]

React Query - useMutation 🔗

Hey Folks, It's time to talk about the second core concept in React Query, mutation. What is... [...]

What the FORK are you doing?! 🔗

How to Fork a repository on GitHub is as easy as pressing a button, we take this for granted, but why... [...]

Mastering JavaScript's `this` keyword using `bind` 🔗

JavaScript's `this` keyword is imperative when dealing with classes in JavaScript, but can introduce some headaches. Let's solve that using the `bind` [...]

React Query - useQuery 🔗

Hey Folks, It's time to take a journey on react query. Don't you know it? Perfect, you are in the... [...]

Do you know JavaScript? 🔗

Do you know Javascript? The language we all love has some weird and sometimes unexpected... [...]

The Awesome Side of GitHub - Awesome Lists 🔗

Free resources for developers, board games and chess... what do they have in common? You can find... [...]

Deep Dive: Writing a Twitch Chat Bot in Bash 🔗

bash? You mean the terminal where I do my git commands? [...]

Making the Case for Signals in JavaScript 🔗

Amidst all the conversation around Signals the recent weeks, I have forgotten to talk about arguably... [...]

Functions Are Killing Your React App's Performance 🔗

If you've ever built a production React application, you've likely ran into various performance problems along the way. Here are the most common and h [...]

React vs Signals: 10 Years Later 🔗

How does the old Winston Churchill quote go? Those who fail to learn from history are doomed to... [...]

Why I love GitLens in my VsCode - Interactive Rebase 🔗

One of the processes I typically do in my daily work is interactive rebase. I commit a lot, and then... [...]

The Evolution of Signals in JavaScript 🔗

There has been some buzz recently in the frontend world around the term "Signals". In seemingly short... [...]

How we built This is Learning Community 🔗

Photo by Clay Banks on Unsplash This is Learning was started in 2020 by @layzee. I presented how we... [...]

Playwright - Parametrize tests 🔗

Hey folks, Today it's time to speak about how to parametrize tests with Playwright. There are cases... [...]

Manage multiple Node.js versions with NVM 🔗

When you work on multiple projects, and this happens quite often if you're into Open Source, you will... [...]

Why I love GitLens in my VsCode - Blame & Compare 🔗

When you work with git, you want to get info about commits and who changed the codebase... [...]

Formik Works Great; Here's Why I Wrote My Own 🔗

Formik works incredibly, but I have some concerns with it. As a result, I ended up writing my own library called "HouseForm" to compete. Here's why. [...]

Playwright - Not just for Frontend 🔗

In this path with Playwright we spent a lot of time speaking about e2e tests and component testing in... [...]

Why I love GitLens in my VsCode - First Steps 🔗

In my daily routine, I work with git, and I suppose it's the same for you. I know all the standard... [...]

Move Commits Between Branches in Git - 3 Different Methods 🍒 🔗

Why do you need to move commits between branches? Let's imagine this scenario: You're so happy, the... [...]

100% Code Coverage is a Lie 🎯 🔗

On a project I finally hit 100% Code Coverage 🎯 what could go wrong now? I tested ALL lines of my... [...]

Playwright - Parallelism and sharding 🔗

Hey Folks, Today I'll speak about parallelism and sharding with Playwright, so don't waste time and... [...]

Testing Angular routing components with RouterTestingHarness, provideLocationMocks, and provideRouter 🔗

Learn how to implement integrated routing component tests with RouterTestingHarness, provideRouter, and provideLocationMocks. [...]

Creating project templates for Android Studio 🔗

Showing how we can build a Android Studio plugin to provide our own project templates in the Android Studio new project wizard [...]

Playwright - Visual Comparisons 🔗

Hi there, Today I want to speak about Visual comparisons with Playwright. In some projects is... [...]

Autocomplete and Artificial Intelligence in your Terminal 🔗

I get asked on every single video what is this autocomplete I’ve got on my terminal, and the answer... [...]

Common TestBed Pitfalls in Angular Component Testing 🔗

When talking about unit testing, the first definition that comes into our head is to test the minor... [...]

Angular 15: what happened to environment.ts 🔗

TL;DR: Nothing! Angular 15 simply doesn't ship anymore environment files by default. You... [...]

Playwright - Mock API 🔗

Hi there, Today I want to talk about how to mock API with Playwright. To do that, I add a new... [...]

Nx Module Federation bad Angular routing 🔗

While puzzling around with Nx' Webpack Module Federation support, I stumbled upon an issue that... [...]

Copilot Voice - You can now TALK with GitHub CopilotX! 🔗

I heard about "Hey, GitHub" (now called Copilot Voice) for the first time last November, in a very... [...]

Playwright - CI 🔗

Hi there, Today I want to speak about integrating Playwright in your GitHub action CI. So don't waste... [...]

Async pipe is not pure 🤯 🔗

Learn how angular's async pipe is not pure and how that's not a problem, by building async pipe from scratch. [...]

Async pipe is not pure 🤯 🔗

Yes, that’s normal! Why? Because of how Angular does change detection under the hood! To better... [...]

What Happened to UUIDv2? 🔗

You may have heard that "UUIDv2 is bad". Maybe you've never even heard of them and thought UUIDs went from v1 to v3. Why is that? What did UUIDv2 do w [...]

What are UUIDs? 🔗

When discussing ID generation in software, you may have heard of a UUID. What are they? Are they useful? What are the different versions? Let's explor [...]

⏪ 4 Ways to Undo a Git Commit - Amend vs Reset 🔗

I'm quite sure all of these happened to you at least once: You committed a change with the wrong... [...]

Material forms: mat-checkbox disabling controls 🔗

In previous article we analyzed a generic workflow for the creation of a directive capable of adding... [...]

Playwright - Components testing 🔗

Hi there, Today I'll speak about a beta feature in Playwright: Components. The team is building a... [...]

Manually Trigger a GitHub Action with workflow_dispatch 🔗

There's a plethora of triggers you can use to run a GitHub Action. You can run it on a schedule, on a... [...]

Visual Studio Code - Tips & Tricks - Profile 🔗

Intro During my daily work, sometimes I have to switch between different projects: backend... [...]

Angular forms: checkbox disabling controls 🔗

How to write a directive to add it. And why you shouldn't. If as a coder you... [...]

AWS Amplify: Let's add some unit tests into our pipeline 🔗

In the previous article, we saw how to set up a pipeline with AWS Amplify, but as long as things are... [...]

A Linux C++ programmers adventure in improving Windows CI on GitHub actions 🔗

TL;DR; Ninja is available directly in the windows images Use to set up the MSVC environment for building with Ninja. You need nested quotes for CX... [...]

Fun with Types 🔗

Making hilarious things with no emitted code. [...]

My GitHub Contribution History (2014-2023) 🔗

Green squares on GitHub aren't just a mere activity indicator. Move a step back and look at the... [...]

Playwright - Fixtures 🔗

Hey there, Today I want to speak about Fixtures, a vital friend if you're going to work with... [...]

Running Automated Tests with GitHub Actions 🔗

GitHub Actions can bring your project to life, for real! If you never used them, this video tutorial... [...]

Angular Internals: How Reactivity Works with Zone.js 🔗

Reactivity is core to JavaScript frameworks; changing data should cause a re-render. How does this work in Angular? Let's dive into the Angular source [...]

AnimationRenderer: listening and playing 🔗

In the first two articles of this series we learned how AnimationRendererFactory generates its... [...]

CI/CD pipelines with AWS Amplify 🔗

The company I work for is an AWS partner and it is natural that many of the applications we build are... [...]

JavaScript Frameworks - Heading into 2023 🔗

The wonderful thing about glimpsing into the future is that the path is never completely clear. We... [...]

Playwright - Generate tests' code 🔗

Hi there, today you will learn how to generate the code for your tests. First of all, you have to... [...]

Supercharge your Firebase App Development using NX 🔗

One of the pain points that I am sure some of us have come across when using Firebase projects that... [...]

Angular registering animation triggers 🔗

This post keeps digging into AnimationRendererFactory creation routine, with a focus on triggers... [...]

Who is the GOAT? 🔮 Vercel Edge Config stores my answer 🔗

A few weeks ago Vercel released Edge Config, a new feature available to everyone so I tried it... [...]

Playwright - debug your tests 🔗

Debug your tests One of the most popular things done by developers is to debug the code... [...]

AnimationFactory: how Angular creates animation renderers 🔗

This article is intended to be the beginning of a short series about Angular transition animations... [...]

How to run a GitHub Action in local - LIVE DEMO 🔗

GitHub Actions are so cool, you can automate your workflow for free and they’re really easy to set... [...]

Fastify on Azure Web App is super straightforward 🔗

Today I'll show you step by step how easy it is to deploy a Fastify server on Azure Function. ... [...]

My year in review 🔗

Photo by Mantas Hesthaven on Unsplash This is going to be challenging to write. This year felt like... [...]

Playwright - How to write tests 🔗

What are you going to learn in this post? In this post, you will learn how to write tests... [...]

How to Close a Pull Request - Merge Commit vs Squash vs Rebase on GitHub 🔗

When Merging a Pull Request on GitHub, you mainly have three options, with a merge commit, squash or... [...]

VSCode & GitHub Codespaces for my Python playground 🔗

Today I did some experiments with Python, I decided to do this activity with GitHub Codespaces... [...]

Chat GPT wrote THIS | The Power of Open Source: How Your Contributions Can Make a Difference 🔗

Everyone is going crazy for ChatGPT so I wanted to give it a try myself. I'm not the best person to... [...]

Playwright - Let's start 🔗

In the last period, in the frontend ecosystem, a new e2e tool has come up and it has started to... [...]

VSCode: my 5 vital extensions to be productive 🔗

Hi 👋 today I want to share with you 5 extensions that are vital in my daily job. I don't like too... [...]

4 Beginner Friendly Open Source Projects 🔗

If you're familiar with my content, you know I often talk about how to find new Open Source projects... [...]

How To Use Functional Router Guards in Angular 🔗

Today I was talking with my friend Leifer, and he asked me some about Functional Guards in Angular... [...]

Be aware of your codebase with Nx 🔗

Preface Is your team aware of the relations between your modules? Is a team member able to... [...]

Tidy up your machine with Visual Studio Code Dev Containers 🔗

I recently discovered the Visual Studio Code - Dev Containers feature and I thought to share with you... [...]

Resolving Merge Conflicts with Visual Studio Code 🔗

Today I launched my Discord server to talk about Open Source and Web Development, feel free to join:... [...]

YAML collections: Sequences and mappings 🔗

A quick overview of YAML sequences (arrays/lists) and mappings (hash maps/associative arrays). [...]

Conferences = Good vibes 🔗

After two days of conference I'm waiting for the flight to go home and I thought to share with you my... [...]

🔴 From being super shy, to my first LIVE Coding session 🔗

I'll share the link later, but let me spend a few words on how I got to this point first! This isn't... [...]

Use GitHub Desktop to open your first Pull Request 🔗

Contributing to Open Source projects that are hosted on GitHub has a barrier: git. Some fresh... [...]

Feature Flags with Azure and Angular 🔗

Recently I'm developing an Angular application, but with the increasing complexity and pressing... [...]

Working with GitHub Actions from your best editor 🔗

Hi folks, today I'm going to speak about another cool VsCode Extension. In many projects, I love... [...]

Client-side Routing without the JavaScript 🔗

It's been a while since I wrote a piece about a SolidJS technology innovation. It's been two years... [...]

Let's keep it green ✅ 🔗

Working as a consultant I often carry out refactoring activities. I want to talk about that in this... [...]

Working with Github from your best editor 🔗

In my daily work routine, many times I have to switch from VsCode and Github to create a PR, review a... [...]

Head Start With Standalone Components In Angular 🔗

Since version 14, we can play with Standalone Components as an easy way to build module-less... [...]

Some cool GitHub features to enhance your development experience 🔗

Hello everyone, Leonardo here! Today we talk about GitHub and some cool features it offers to... [...]

Validate your data with Zod 🔗

Preface Many developers don't know very well which is the line between Javascript and... [...]

In which phase is your software? 🔗

I recently gave a talk on testing and I focused the speech on the life cycle of a successful... [...]

Working With Lazy Loading Modules and Preload Routing Strategies In Angular 🔗

When we build an Angular application with multiple modules in a large app, the main script file... [...]

🕵️‍♂️ Learn git alias and boost your productivity 🔗

Setting up an Alias Repeating the same git commands over and over again can be such a... [...]

Open Visual Studio Code from the Terminal 🔗

Ok, it's not a super secret feature, but I noticed some of my colleagues and friends do not use it at... [...]

How to contribute to Visual Studio Code on GitHub 🔗

Do you want to add a new feature on Visual Studio Code, or fix an existing bug? Here’s how to do... [...]

The Power of Mentoring 🔗

It's been some time since I started my extra-work FREE mentoring path through the Mentorcruise... [...]

How to find Code Smells - with examples 🔗

What is a Code Smell? Let me provide you with my personal definition and some examples to... [...]

Why Z-Index Isn’t Working: CSS Stacking Contexts 🔗

z-index is a CSS property that helps control the z-axis height of an element, but it often doesn't seem to work. Why is that? How does it REALLY work? [...]

Not feeling ready for Open Source? 🔗

One of the major blockers for newcomers to Open Source is that unpleasant impression of not feeling... [...]

5+1 Basic GIT Commands you Need for Hacktoberfest 2022 🔗

Hacktoberfest is starting tomorrow!! Are you ready?? In case you're quite new to git, I will try to... [...]

It’s ok to use function calls in Angular templates! 🔗

“You should never use function calls on Angular templates!” — That’s what you will see all over the... [...]

How to find a repository for Hacktoberfest 2022 🔗

Hacktoberfest will start in a few days, are you ready?? Let me check my gear... git updated to the... [...]

How to Build Compound Components in Angular 🔗

When we need to have different versions and use cases and make it flexible to the changes, however,... [...]

Dynamic Island Animations with Popmotion in Angular 🔗

The introduction of dynamic islands in iPhone 14 piqued the interest of many designers and developers... [...]

🧲 Sticky Scroll in vscode 🔗

Classes and methods might get really long, making you lose context of what the code is about. Visual... [...]

Hacktoberfest 2022 is almost there! Get ready! 🔗

September is almost over and Hacktoberfest is to begin soon! But what is Hacktoberfest? It is not an... [...]

Tutorials are Wrong 🔗

Is the title a clickbait? Nope, let me explain. Learning new stuff is amazing and courses and... [...]

Introduction to Angular Language Service 🔗

Working with Angular has its gotchas, but what makes it really a joy to start off, is its language... [...]

Qwik: web revolution by default 🔗

A few weeks ago I decided to create an e-commerce storefront based on real GraphQL APIs to sell... [...]

💰 Get paid while contributing to Open Source 🔗

What if I tell you that you get paid in real money - with Open Source? Wait, that's not a scam or a... [...]

Open Source is not only writing code 🙅‍♂️🧑‍💻 🔗

You can find a video version of this article on my YouTube channel. Did you know that you can... [...]

The local component scope of standalone Angular components 🔗

The local component scope of a standalone Angular component is managed by listing declarable dependencies in the Component.imports metadata option. [...]

Angular Revisited: Standalone Angular applications, the replacement for NgModules 🔗

The future is now, old man. Standalone Angular applications are now a viable alternative to classic NgModule-based Angular applications. [...]

Resumability, WTF? 🔗

Maybe you've heard the term Resumability thrown around recently. Maybe someone gushing over Miško... [...]

How to find 🔎 an Open Source project to contribute to 🔗

You can find a video version of this article on my YouTube Channel. Introduction Opensource... [...]

Sharing Lifecycle Methods Between Angular Components 🔗

Sharing code between components in Angular is TOUGH. Here's one way you can do so by utilizing base components that you extend - and why you shouldn't [...]

Minecraft Data Pack Programming: Scoreboard Usage 🔗

Learn data pack development in Minecraft - using player scoreboards, variables, and operations! [...]

Weighted 🏋️ Random generator in Typescript (with Test Driven Development 🧪) 🔗

You can find a video version of this article on my YouTube Channel. Intro Today we're... [...]

Understanding Excess Property Checking in Typescript 🔗

This post was first posted in my newsletter All Things Typescript focused on teaching developers how... [...]

⏰ How to create your First Pull Request on GitHub in less than 60 seconds! 🔗

Intro Let's see the steps you need from zero to creating your first Pull Request. If... [...]

The JavaScript Paradox 🔗

I'm not sure if there's ever been a language more loathed, yet so widely used, as JavaScript. I'm... [...]

♻️ Delete unused node_modules in a second and enjoy some free space! 🔗

Intro In this article I'll tell you about a cool tool I just found on npm, called npkill,... [...]

⚙ This new GIT push config will save you lot of frustration! 🔗

If you have 59 seconds and in particular you're also on mobile, you might enjoy watching the YouTube... [...]

[Video] How Open Source can change your life 🔗

Hello everyone! I recently posted an Article about benefits and advantages from contributing in Open... [...]

Vue Composition API Inspector 🔗

A peek under the hood of Vue compilation. See how Vue interpretes TypeScript [...]

JavaScript Fundamentals: Functions Are Values 🔗

JavaScript functions are widely used in web development... but do you KNOW them? Let's explore the fundamentals and how they can be used in unorthodox [...]

🔢 Show trello numbers on cards! 🔗

TL;DR: The video was originally posted on YouTube, for a higher-quality version you can watch it... [...]

Python None 🔗

Interpreted languages have various footguns. Let's explore one such footgun I ran into recently with Python and how I fixed it. [...]

My Course on Angular Getting Started 🔗

Photo by Nick Morrison on Unsplash I had planned an Angular Course for the community for a very long... [...]

Update your GitHub profile with your chess.com games with a GitHub Action 🔗

When navigating through GitHub you may land on awesome profiles with "live" content being updated... [...]

Project Management for Individuals 🔗

Having the ability to structure your projects (and these don't exclusively have to be programming related) gives you a massive advantage when it comes [...]

Why you should be using it Test Driven Development (TDD) 🔗

This post is an extract from my new newsletter The Pragmatic Dev focused on covering developer tools,... [...]

How to ask better questions 🔗

We all ask questions from time to time, so here are some of my favourite tips when it comes to how to improve the quality of your questions. [...]

Mutable vs Immutable Data Types 🔗

Using mutable data types can be dangerous in multi-threaded applications. To help that we can make sure of thread safer immutable data types [...]

What is Primitive obsession and how to fix it 🔗

Primitive obsession is an extremely common code smell, and when identified and fix, it greatly helps to reduce the amount of bugs that you may find in [...]

I created a VS Code Extension - NPM Imported Packages Lens 🔗

When you read JavaScript/Typescript code, have you ever encountered an imported package and wanted to... [...]

The Cost of Consistency in UI Frameworks 🔗

Sometimes there are problems that have no universally good solutions. There is some tradeoff to be... [...]

When to use HashMap instead of Loop 🔗

Learn to use when to use HashMap instead of Loop [...]

AngularJS vs Angular 🔗

NOTE As I write this blog post, the AngularJS has already reached EOL. It's been 10 months now. ... [...]

Minecraft Data Pack Programming: Command Syntax 🔗

Learn the beginnings of data pack development in Minecraft - using positions, entity selectors, and conditional logic in commands! [...]

Minecraft Data Pack Programming: Introduction 🔗

Learn the beginnings of data pack development in Minecraft - using commands and functions to add custom behavior from scratch! [...]

A Guide to Python's Secret Superpower: Magic Methods 🔗

Python has a secret superpower with a similarly stupendous name: Magic Methods. These methods can fundamentally change the way you code with Python... [...]

Patterns for Building JavaScript Websites in 2022 🔗

Deciding on the approaches and tools to use to build on web these days can be a challenging prospect.... [...]

Why I prefer Vue over Angular: DOM Pollution 🔗

Angular differs from Vue in some keys ways, including its "Incremental rendering". This shift introduces something I call "DOM Pollution"; its why I p [...]

Windows Subsystem for Linux 🔗

Utilize the best of both worlds — Windows and Linux — without having to dual boot. Windows Subset for Linux (WSL) lets you run software designed for L [...]

Marko for Sites, Solid for Apps 🔗

I've been sitting on writing this article for 2 years. In my heart this was the article I was going... [...]

Island Architecture 🔗

There are different ways to build a website. One of them was Multi-Page Applications (MPAs) which... [...]

The Complete Guide to Regular Expressions (Regex) 🔗

A Regular Expression – or regex for short – is a syntax that allows you to match strings with specific patterns. Think of it as a suped-up text search [...]

How GitHub is Improving Developer Experience 🔗

Photo by Annie Spratt on Unsplash In the last couple of years, the number of developers contributing... [...]

Performance: Choosing The Right Tools... 🔗

Before I wrote this, I was in the middle of writing a Twitter thread about performance on the web and... [...]

How Caching Data in Angular with Rxjs 🔗

When we build an app, some data like the menu and options don't change with frequency. The best... [...]

Incremental Static Regeneration for Angular 🔗

If you are reading this, you've probably heard of SSR (Server-side rendering), SSG (Static site... [...]

Using Pipes to Transform Data in Angular 🔗

Angular help us to convert values for display using Pipes; the pipes are a way to transform input... [...]

Live Reloading in Golang using Air 🔗

Live reloading changes to our codebase is one of the core tenants of a great developer experience.... [...]

Conquering JavaScript Hydration 🔗

That is an ambitious title for an article. An ambitious goal in general. Hydration, the process of... [...]

Visual Studio Code - Tips & Tricks - Snippets 🔗

If you used to adopt Visual Studio in the past probably you already know something about... [...]

Why and How we migrated to Nx from Angular CLI 🔗

Photo by Luca Bravo on Unsplash Note: Due to NDA, we won't mention the client's name. We finished... [...]

CSS Animation Events in Angular 🔗

CSS animations emit events that we can listen to using Javascript. There are slight differences in... [...]

How to handle and catch errors in Rxjs 🔗

In Rxjs, when we work with observables handling the errors is a bit confusing for beginners because... [...]

const assertions in Typescript 🔗

In Typescript 4.3, typescript introduced the const assertions. const assertions are used to tell the... [...]

Rules of React's useEffect 🔗

useEffect is prolific in React apps. Here are four rules associated with the hook and in-depth explanations of why they're important. [...]

The Tuple Type in Typescript 🔗

A tuple type is an array with a predefined length and predefined types in each index position in the... [...]

Visual Studio Code - Tips & Tricks - Command Palette and its friends 🔗

Visual Studio Code is one of the best code editors in this moment. Its Palette has many features but... [...]

Composition and inheritance in Angular 🔗

When we start to build the application and feel the code duplicated are in several places, our first... [...]

Configure Prettier and ESLint with Angular 🔗

Everyone wants to write code in a fast bug-free way without thinking about its style most of the... [...]

Resumable JavaScript with Qwik 🔗

When Misko Hevery (creator of AngularJS) approaches you to look at his new framework, well, you stop... [...]

How to share data between components in Angular 🔗

When we build components in an application, we maybe need to share or send data from parent to child... [...]

Typescript - (ReadOnly)NotEmptyArray 🔗

Arrays are already well described in typescript, but sometimes we need to be more strict with our... [...]

Doomsday Rule 🔗

In this blog I talk about the Doomsday Rule, how it works, how to put it into code then how to make a program that tests you. [...]

It's Prisma Time - Seeding 🔗

Hello Folks 👋 Today we'll see how to handle seed with Prisma. Seeding allows you to re-create... [...]

Why Efficient Hydration in JavaScript Frameworks is so Challenging 🔗

Hydration is the name given to the process in JavaScript frameworks to initializing the page in the... [...]

It's Prisma Time - Migrations 🔗

Hello Guys 👋, Today it's time to speak about migrations. Migrations in Prisma are managed by Prisma... [...]

It's Prisma Time - Execute your own queries 🔗

Hello Folks 👋 Today it's time to see how we can execute our own queries. In prisma we can run two... [...]

Why React 18 Broke Your App 🔗

React 18's internal changes improved a lot, but may have broken your app in the process. Here's why and how you can fix it [...]

It's Prisma Time - Logging 🔗

Hi Guys 👋 Today we are going to see how to enable logging in Prisma, so don't waste time and let's... [...]

The Return of Server Side Routing 🔗

Return? It never went away. Or at least that is what some smug "told you so" is going to say. But for... [...]

It's Prisma Time - Transactions 🔗

Hello Guys 👋 Today it's time to speak about transactions. Transactions are a pillar of the database... [...]

A Better Way To Code: Documentation Driven Development 🔗

Test Driven Development is often taught to improve a your workflow; I present Documentation Driven Development as an alternative approach. [...]

How to get started with .NET 🔗

Did you know that 35% of developers are using .NET? This is a great article to read to get started with .NET. [...]

It's Prisma Time - Aggregate and GroupBy 🔗

Welcome back Folks 👋 Today we are seeing how to aggregate and group data. Let's start from the... [...]

It's Prisma Time - Pagination 🔗

Hi Guys 👋 Today we are going to see how to paginate our results. So don't waste time and let's... [...]

How to Mock dependencies with Jest 🔗

When we want to test our code, some things have dependencies inside, and you don't want to call these... [...]

It's Prisma Time - Select 🔗

Welcome back Guys, Today it's time to get our record using the select command. Let's start with a... [...]

How to Upgrade to React 18 🔗

React 18 introduces some awesome features that I'm sure you can't wait to try! Here's how you can get started with React 18 today! [...]

It's Prisma Time - Update 🔗

Hi Folks 👋 Today it's time to learn something about the update operation, so don't waste time and... [...]

It's Prisma Time - Delete 🔗

Hi Guys 👋 today we are going to see the delete operation. Before moving to the delete operation, in... [...]

Writing Tests for MongoDB using Dockertest in Go 🔗

Dockertest enables us to use Docker to create containers to run our tests against. With dockertest,... [...]

Type Assertions in TypeScript - why not? 🔗

A while back, I had a look at why you should avoid using the any type and instead use the unknown... [...]

It's Prisma Time - Insert 🔗

Welcome Guys, Today it's time to add some records to the database 😁 so don't waste time and get your... [...]

It's Prisma Time - Create Relations 🔗

Hi Folks 👋 today I'll show you how to create relations among your entities. So don't waste time and... [...]

How I made workplace toxic 🔗

Photo by Kyle Nieber on Unsplash It's been six years since I left my job at a startup where I worked... [...]

Migrate from Jasmine to Jest and Testing Library in Angular 🔗

Angular, by default, comes with Jasmine; it is a great testing framework. I spent one year and a half... [...]

It's Prisma Time - Create Db 🔗

Hi Guys 👋 welcome back. Finally, today it's time to create our database, so don't waste time, and get... [...]

Web Components 101: History 🔗

Web components have had a long history to get where they are today. Let's look back to see where they came from & their immense growth! [...]

It's Prisma Time - Create Table 🔗

Hello Folks 👋 and welcome back to this series, today it's time to create your first table with... [...]

It's Prisma Time - Setup 🔗

Hi Guys, welcome to the second article of this series. Today I'll show you how to setup a project... [...]

Why all the Suspense? Understanding Async Consistency in JavaScript Frameworks 🔗

I had someone recently reach out to me to ask "What is Suspense in the general sense?" They said all... [...]

It's Prisma Time - Introduction 🔗

Hi Folks 👋 and welcome back, Today I want to start a new series about Prisma. But before starting I... [...]

Web Components 101: Framework Comparison 🔗

While web components can be used standalone, they're paired best with a framework. With that in mind, which is the best and why? [...]

From Docker to Docker compose way! 🔗

If you work with docker, typing for every action is not a good deal, and sometimes it can be a... [...]

The Quest for ReactiveScript 🔗

This article isn't going to teach you about the latest trends in frontend development. Or look in... [...]

Animate your Angular App using Motion One 🔗

Motion One is a new animation library built on the Web Animations API. If you have used Popmotion or... [...]

Template String Types as Discriminants in Typescript 4.5 🔗

Typescript 4.5 was just released and one of the features that stood out to me is the Template String... [...]

Docs, Where Can We Do Better? 🔗

My personal approach to writing docs, mainly aimed at frameworks and the like. [...]

Understanding Transitional JavaScript Apps 🔗

Transitional JavaScript Apps? What? Well honestly I'm not sure I know completely myself. It is an... [...]

Web Components 101: Lit Framework 🔗

Google pushed for web components, sure, but they didn't stop there. They also went on to make an amazing framework to help build them: Lit! [...]

Docker from zero to survive 🔗

Be ready to deploy your apps with Docker is a one of higher-demand knowledge today, and this article... [...]

Simplifying Angular testbed setup by converting to synchronous test hooks 🔗

Surprising to some, calling TestBed.compileComponents is unnecessary unless you're Google. [...]

Moving Material Dialog Lifecycle Into NgRx Effects 🔗

Photo by John Bakator on Unsplash NgRx Effects Effects are a powerful model for handling... [...]

How to simplify and organize imports in Typescript 🔗

Sometimes we have a long list of imports, with files that come from the same place, it makes our... [...]

How to use Angular resolvers to prefetch beers to the party 🔗

When we go to a party, I love to have all beers ready to drink and take one, but sometimes take time... [...]

My first year as Independent Consultant 🔗

Photo by Callum Shaw on Unsplash Last year around August 2020, I decided to leave my full-time job... [...]

JavaScript Framework TodoMVC Size Comparison 🔗

Size in JavaScript Frameworks is actually a pretty tricky thing to estimate. Even nailing down the... [...]

Animation Inspector: How DevTools can help when Creating Animations 🔗

Different browsers come with a different set of dev tools to help developers. When it comes to... [...]

Improving Angular tests by enabling Angular testing module teardown 🔗

Introducing the ModuleTeardownOptions#destroyAfterEach option for the Angular testbed. [...]

RxJS - Marble Testing 🔗

Hello Folks 👋! Today it's time to speak about testing and how to test the code when we use... [...]

RxJS - Subjects 🔗

What's a Subject Luca? And why today do you want to speak about subjects? Is there a mistake in the... [...]

How to control global objects in Angular. 🔗

When we use external libraries, it is very common to declare a global object and use it. But the... [...]

GitHub Copilot: Helpful, But Not a Replacement 🔗

GitHub Copilot is an amazing tool that I think will drastically improve the way that I code. But it won't replace me. Here's why. [...]

RxJS - Custom Operators 🔗

Hi Folks 👋 after many articles in which I have illustrated the different types of operators already... [...]

RxJS - Multicast Operator 🔗

Hi Folk 👋, in the previous articles we've seen that when we subscribe to an observable, the... [...]

RxJS - Error Handling Operators 🔗

One of the best practice in our work is handle the errors, so today I'll show you some operators in... [...]

How to use Angular content projection to prepare a burger 🔗

One of the easiest things is a burger. The burger has the same base but changes its content, so let's... [...]

Better Types using Discriminated Unions in TypeScript 🔗

How we define our types in Typescript impacts how effective typescript is at warning us when we make... [...]

RxJS - Conditional & Mathematical Operators 🔗

Hi Guys and welcome back, today I'll illustrate you two simple types of the pipeable operators:... [...]

RxJS - Utility Operators 🔗

Welcome back Guys, Today I'll show you some utility operators. Let's start :) tap Used to... [...]

Animate your Angular App using Animate.css 🔗

Most of you probably have heard of Animate.css. It is an open-source CSS animation library with lots... [...]

RxJS - Join Operators 🔗

Hi Guys and Welcome Back, Today I'll speak about the Join Operators. Some of these operators are... [...]

RxJS - Transformation Operators 🔗

Welcome back, Today I'll speak about the Transformation Operators. These operators are used to modify... [...]

My Lessons learned as Software Engineer 🔗

Photo by Christin Hume on Unsplash My friend Vinit Shahdeo asked me to share my experience as... [...]

JavaScript vs JavaScript: Round 2. Fight! 🔗

After I finished the first article I wasn't sure how long it would be before we'd have enough topics... [...]

RxJS - Filtering Operators 🔗

Welcome back Guys, Today we'll start with the Filtering Operators. As you can imagine these... [...]

Custom Type Guards in Typescript 🔗

Previously, we covered various approaches that you can take to narrowing types in Typescript. Type... [...]

RxJS - Creation Operators 🔗

Welcome back guys, today I'll start to show you the Creation operators in RxJS. The Creation... [...]

3 Easy Ways to Add Animation to your Angular Applications 🔗

Animations add life to your application and can greatly increase your app's overall user experience.... [...]

RxJS - Marble Diagrams 🔗

Hi guy, before continuing with the operators, today I want to explain the Marble Diagrams. The Marble... [...]

RxJS - Operators 🔗

Hi Guys and welcome back, today I introduce the concepts of Operators. Operators are functions. Isn't... [...]

RxJS - Observer and Subscription 🔗

Welcome back guys, today the topics of the article are Observers and Subscriptions. ... [...]

RxJS - Observable 🔗

Hi Guys, Today I want to start a little series about Reactive Programming with RxJS. I start from the... [...]

Typescript: why you should use unknown instead of any 🔗

From time to time, we come across situations where the type isn't known beforehand, i.e. could be... [...]

Taking Marko's Tags API for a Test Drive 🔗

Marko recently released a preview for its upcoming Tags API. This is pretty exciting as it adds a... [...]

Reactive Forms in Angular 🔗

Photo by SIMON LEE on Unsplash Forms can be complicated Seriously. I feel like the days... [...]

Type Narrowing in TypeScript 🔗

In the spirit of my last few articles, where we have looked into Template Literal Types and Types and... [...]

Filtering Protractor end-to-end tests with Angular CLI 🔗

Demonstrating the "grep" and "invertGrep" test filtering options of Angular CLI's Protractor builder. [...]

JavaScript vs JavaScript. Fight! 🔗

With software development, we are often presented with alternative choices for libraries and tools... [...]

How to create theme relation between components in Angular 🔗

When we create a component, you can reuse it in some places, and his style should also relate to his... [...]

How to theme components in Angular 🔗

When we build components it needs to be flexible, because they can be used in many places or... [...]

GitHub Copilot Breaks Bad Interviews 🔗

GitHub Copilot is a huge step forward for tech. Luckily, it improves our lives. Unfortunately, it will break your interviews. Here's why. [...]

3 Lessons from React that can make you a better Svelte Developer 🔗

Svelte is an amazing JavaScript framework that has been getting a lot of attention the last year.... [...]

My Impressions of Docker Development Containers 🔗

Docker development containers enable developers to set up development environment faster and... [...]

Web Components 101: Vanilla JS 🔗

One of the ways web components differs from a framework is that it works right in the browser. Here's how to build them from scratch. [...]

Building JavaScript Frameworks to Conquer eCommerce 🔗

There was a time that I would have never imagined the need to write an article like this. If you were... [...]

JavaScript Frameworks and Metagaming 🔗

Last week we released SolidJS 1.0. A JavaScript framework built on a foundation of ideas long ago... [...]

The Real Cost of UI Components Revisited 🔗

With my focus recently going back to look at optimization for the Solid 1.0 release, I thought I'd... [...]

Template Literal Types in TypeScript 🔗

In this article, we will take a closer look at template literal types and how you can take advantage... [...]

Building an RSS Scully Plugin - Angular 🔗

In this article, we will learn how to extend Scully functionality through plugins. We will do this by... [...]

Types and Mocking - Typescript 🔗

In this article, we are going to learn how to create functions which are easy to test and mock using... [...]

A Look at Compilation in JavaScript Frameworks 🔗

In 2017 Tom Dale, wrote Compilers are the New Frameworks. And he was right. In 2017 things were alrea... [...]

My Developer Journey – How I Went from Making $1,000 to Better Salary 🔗

Cover photo by Ian Schneider on Unsplash. Hey everyone, my name is Santosh. In this article, I will... [...]

Introduction to Web Accessibility (A11Y) 🔗

Accessibility allows as many people to use your product as possible. That, in turn, generates more profit. Here's how to improve it on web. [...]

How to Interview Frontend Engineers 🔗

Interviewing for frontend engineering positions can be difficult. Let's walk through some things you should focus on while interviewing. [...]

Setting up an Angular 12 workspace with Nx and GitHub Actions 🔗

Setting up an Angular 12 workspace with Nx. Also setting up a GitHub Actions CI workflow with Nx Cloud support. [...]

Two Years of Writing about Designing JavaScript Frameworks (2018-2020) 🔗

I decided to do a quick tally and I realized I've written almost 70 articles in the last 2 and a half... [...]

Components are Pure Overhead 🔗

A couple of years ago in the The Real Cost of UI Components, I explored the cost of components in Jav... [...]

Python List Comprehension - The Comprehensive Guide 🔗

Python is a language with broad and powerful APIs. One such API is 'List Comprehensions'. Let's learn to use them to improve your code! [...]

Setting up an Nx workspace with nx-dotnet 🔗

Setting up an Nx workspace for .NET development with nx-dotnet. Also setting up a GitHub Actions CI workflow. [...]

Transforming Types in TypeScript with Utility Types 🔗

Every once in a while, you end up in a situation where you need some variation of a type. For instanc... [...]

My Advice to Technical Interviewers 🔗

Interviewing candidates is tough. It just is. Here are just a few of my tips to make your tech recruiting go smoother. [...]

Is 0kb of JavaScript in your Future? 🔗

Zero JavaScript has been the new buzz phrase around JavaScript libraries for the last little while.... [...]

Welcome to This is Learning—an invitation to our open tech authors community 🔗

This is Learning is the place to share what you learn. Welcome! [...]

Master React Unidirectional Data Flow 🔗

Making sure your app's code is structured well is critical. Mastering React Unidirectionality is a huge part of that. Learn how to here. [...]

Of Chickens and Pigs - The Dilemma of Creator Self Promotion 🔗

Have you ever created a new library? You saw a gap when creating a project at work. So you worked on... [...]

Speeding Up Angular Scully Builds in GitHub Actions 🔗

In this article, we are going to learn how you can speed your Scully builds by re-using Angular build... [...]

Rust Enums, Matching, & Options API 🔗

Rust allows you to build super-fast and flexible applications. Let's build one leveraging enums, pattern matching, and the Options API. [...]

Plugin Architecture for Angular Libraries using Dependency Injection 🔗

The plugin architecture is a well-known software design pattern used for its flexibility, extensibili... [...]

5 Places SolidJS is not the Best 🔗

In this article, I wish to finally address the question "What is Solid not as good at?" The list migh... [...]

Semantic Grouping Folders with Nx 🔗

Photo by Barn Images on Unsplash This article is part of the Angular Architectural Patterns s... [...]

WebDev 101: How to use npm and Yarn 🔗

You've heard a lot about Node, NPM, and Yarn - but aren't sure what they are. Let's introduce them in-depth and answer questions about them! [...]

Typescript - Tips & Tricks - Rest Parameters & Rest Arguments 🔗

Hi guy and welcome back :) Today I'll talk about the Rest Parameters and the Rest... [...]

Learning to Appreciate React Server Components 🔗

This is my personal journey, so if you are here hoping for the general "How To" guide you won't find... [...]

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 5 🔗

In the final part of this tutorial, we create the seatmap data access, seat listing feature, shared buttons UI, and shared formatting utilities librar [...]

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 4 🔗

In Part 4 of this tutorial, we create the check-in data access and check-in feature shell libraries. We create the check-in desktop application, revie [...]

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 3 🔗

In Part 3 of this tutorial, we create the passenger info and flight search feature libraries. We use the generate project tool to create the mobile bo [...]

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 2 🔗

In Part 2 of this tutorial, we'll set up our custom generate project tool and create the shared and booking data access libraries with NgRx. To honor [...]

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 1 🔗

In this step-by-step tutorial, we set up an Nx-style monorepo workspace with the Angular CLI. In this first part, we create an application project, an [...]

Typescript - Tips & Tricks - Advanced Types 🔗

Hi Guys, Today I'll show you some advanced utilities exposed by the typescript language. Let's... [...]

GitHub Actions Trigger Via Webhooks 🔗

In this article, we are going to look at how we can build a webhook to trigger a GitHub action workfl... [...]

Typescript - Tips & Tricks - Mapped Types 🔗

In some cases, we need to manipulate some types to create new types. In these cases, we have to use... [...]

Typescript - Tips & Tricks - infer keyword 🔗

Today I talk about the infer keyword. Sometimes, we need to get the value type of an array or get the... [...]

Create a component harness for your tests with Angular CDK 🔗

Learn how to create and consume a custom component harness using Angular CDK. With a step-by-step case study, we run it in unit tests and end-to-end t [...]

Tiny Angular application projects in Nx workspaces 🔗

Extract workspace libraries to get tiny Angular application projects. We'll create assets, styles, and environments libraries for an Nx workspace. Ste [...]

A look at major features in the Angular Ivy version 9 release 🔗

AOT everywhere, dynamic globalisation, strict mode, Bazel, and much more. [...]

Next-level testing in Angular Ivy version 9 🔗

AOT, faster tests, stronger types, and component harnesses. [...]

The Angular Ivy guide for library authors 🔗

How to respond to Angular Ivy in 2020/2021 if you're a library author. [...]

Component features with Angular Ivy 🔗

The Angular Ivy runtime introduces a new concept called component features. Component features are mixins for components. They add, remove or modify t [...]

Faking dependencies in Angular applications 🔗

Create components and directives for manual tests. [...]

Testing and faking Angular dependencies 🔗

Learn the ins an outs of Angular dependency injection in automated tests. [...]

Lean Angular components 🔗

Building a robust component architecture. [...]

Typescript - Tips & Tricks - Conditional Type 🔗

In some cases, we need to detect if an object/type has specific properties or characteristics. Let me... [...]

What the hell is Reactive Programming anyway? 🔗

My recent article How React is not reactive, and why you shouldn't care opened up a much larger debat... [...]

Presenters with Angular 🔗

Learn how to extract presenters from presentational components. We discuss stateful and stateless presenters, component-to-presenter ratios and when t [...]

Presentational components with Angular 🔗

Presentational components encapsulate presentation and UI behaviour. They can be stateful or stateless and are connected to the application state thro [...]

Testing Angular container components 🔗

Learn tactics for testing RxJS observables and application state commands. Opt out of Angular testing modules for blazingly fast unit tests. [...]

Typescript - Tips & Tricks - Type Guard 🔗

There are some cases, where we need to detect the type of the object to get the correct... [...]

Typescript - Tips & Tricks - Assert Function 🔗

There are times that we need to create some assertions to be sure an object respects some rules. A... [...]

How React isn't reactive, and why you shouldn't care 🔗

If the title agrees with you, you can stop reading right now. Move on to the next article. In technol... [...]

Typescript - Tips & Tricks - Never type 🔗

Today I want to talk about the never type. As you can understand, this type identifies a piece of... [...]

Typescript - Tips & Tricks - Non-null assertion operator 🔗

In some cases, you have a field that you initialize in a method, and if you follow the flow of the... [...]

Typescript - Tips & Tricks - Tuple 🔗

Tuple types allow you to express an array with a fixed number of elements whose types are known, but... [...]

How empathy from my manager changed my life 🔗

Cover photo by Helena Lopes on Unsplash. "You should always try to be a better person than you were... [...]

Typescript - Tips & Tricks - Readonly Array 🔗

function sortAndReverse(list: number[]): number[] { return list.sort().reverse(); } const list =... [...]

Angular CDK - Platform Module 🔗

In this article, we are going to take a look at the Platform Module from Angular CDK. The platform mo... [...]

Typescript - Tips & Tricks - readonly modifier 🔗

How many times we expect an object property to have a value but it isn't? In these cases,... [...]

Typescript - Tips & Tricks - Index Signature 🔗

Welcome back guys, today I'll speak about the "Index Signature". In some cases, we need to create... [...]

Typescript - Tips & Tricks - Optional modifier 🔗

Hi guys and welcome back, Today I'll talk about the optional modifier. Sometimes we have objects that... [...]

Typescript - Tips & Tricks - any vs. unknown 🔗

Hi guys, today I'll talk about the difference between any and unknown. Any Any type is a particular... [...]

Typescript - Tips & Tricks - this parameter 🔗

Hello everybody and welcome back, today I'll talk about this parameter. Sometimes we need to create... [...]

Typescript - Tips & Tricks - Overloaded Functions 🔗

Welcome back, guys! The topic of today is Overloaded Functions. All self-respecting programming... [...]

Typescript - Tips & Tricks - Union and Intersection 🔗

Hi and welcome back! Today I talk about Union and Intersection. In some cases, we have to combine... [...]

Typescript - Tips & Tricks - keyof 🔗

Welcome back! Today I'll talk about the keyof operator. This operator helps us to extract the... [...]

Typescript - Tips & Tricks - Literal Types 🔗

Welcome back! Today I show you the Literal Types. This feature permits you to create a set of... [...]

Typescript - Tips & Tricks - typeof 🔗

Today I want to start a series of tips and tricks about Typescript. I will try to publish two/three... [...]

Living off the iPad as an Engineer 🔗

Tips on how to get yourself a proper development environment on the iPad to fully exploit its potential. [...]

Container components with Angular 🔗

Container components are extracted from mixed Angular components to increase the maintainability, testability and scalability of our Angular apps. [...]

The accidentally sliced CRTP base 🔗

Some time ago, I received a bug report that, in short, said "your class does not work with CRTP". I was very confused by this statement. First a sh... [...]

50 lines of code smoke test for any Angular application 🔗

Where there's smoke, there's fire. Use this top-level integrated test suite for any Angular application. [...]

Incremental stylesheet linting with Stylelint and the Nx toolchain 🔗

Add and configure Stylelint. Then automate Stylelint workflows in your Nx workspace. [...]

The ultimate migration guide to angular-eslint, ESLint and Nx 11 🔗

How to set up a new Nx workspace using angular-eslint or migrate an existing Nx workspace from ESLint or TSLint. [...]

React Refs: The Complete Story 🔗

React Refs are an immensely powerful, yet often misunderstood API. Let's learn what they're capable of, and how they're usually misused. [...]

Package Font Files on NPM for Angular Usage 🔗

Do you use custom fonts that you want to share with multiple apps? Learn how to distribute those fonts on NPM and consume them in Angular! [...]

Model-View-Presenter with Angular 🔗

The MVP pattern increases separation of concerns, maintainability, testability and scalability in complex Angular apps by using container components, [...]

Tree-shakable dependencies in Angular projects 🔗

Since Angular version 6, we can create tree-shakable dependencies and even leave out Angular modules. [...]

Emulating standalone components using single component Angular modules (SCAMs) 🔗

SCAMs are a safe, View Engine-compatible migration path towards standalone components. [...]

Angular Revisited: Standalone components and optional NgModules 🔗

NgModule is arguably one of the most confusing Angular concepts. [...]

A quick overview of the Deno CLI 🔗

A quick introduction to the Deno CLI. It's a batteries included executable with everything you need to develop, lint, test, and run Deno code. [...]

The history of Model-View-Presenter 🔗

Dust off the history books and discover the origins of the MVP pattern. [...]

How you can help Angular in 2020 🔗

2020 is the year you can help the Angular ecosystem thrive. [...]

Testing Angular route guards with the RouterTestingModule 🔗

Learn how to test route guards in isolated unit tests. Also learn how to test route guards in practice with RouterTestingModule. [...]

Testing routed Angular components with the RouterTestingModule 🔗

Learn how to stub the ActivatedRoute for shallow routed component tests. Also learn to use the RouterTestingModule for integrated routed component tes [...]

Testing Angular routing components with the RouterTestingModule 🔗

Learn how to implement shallow and integrated routing component tests with the RouterTestingModule. Explore the Location service and its dependencies. [...]

My journey into Tech 🔗

Last week I tweeted on Twitter how I am moving from a Slum where I lived for 29 years to a multi-stor... [...]

My Home Office Setup 🔗

Last year I started working on the home setup, which I never thought would become my home office one... [...]

Adding Carthage Dependencies into React Native 🔗

CocoaPods is a great dependency manager, but some need Carthage still. Let's walk through how to integrate Carthage with React Native! [...]

How Computers Speak: Assembly to AST 🔗

Have you wondered how programming languages are able to be ran on your hardware? This article explains how your code is processed and ran [...]

No, I don't want to become an Angular GDE 🔗

An opinion piece on the Angular team and GDE program management. [...]

Angular struggles in 2020 🔗

An opinion piece on the Angular team management. [...]

What do file extensions do? 🔗

A file extension isn't the only way a file is identified, so what does it do? [...]

Conventional Commits for Changelogs & Releases 🔗

Whether creating changelogs or just keeping track of git tags, releases matter. Learn how to automate your release process with conventional-commits! [...]

Better Angular Forms with ngModel & formControl 🔗

Some components make controlling their state easier with 'formControl' and 'ngModel'. Let's see how we can build our own! [...]

Pointers and References in C/C++ 🔗

An overview of how pointers and references function in C/C++ [...]

Write Simpler Tests - 5 Suggestions for Better Tests 🔗

Writing tests is a big skill for any engineer, but we often over-complicate them. Let's simplify our tests for better testing overall! [...]

Virtual Memory Overview 🔗

An overview of how operating systems give processes their own address space. [...]

Writing better tests for Angular with Angular Testing Library 🔗

A simple explination of writing better tests for Angular applications and setting up Angular Testing Library [...]

Setup Android Studio Emulator for AMD Ryzen CPUs 🔗

While the Android Emulator isn't confined to Intel CPUs anymore, it can be tricky to setup for AMD Ryzen CPUs. Let's explain how to do so. [...]

Chess Knight Problem: A Quick & Dirty JS Solution 🔗

I present a quick and dirty solution to a common interview question where the solution is not nearly as complex as it may first appear. [...]

Keeping API Keys Secret in React Apps 🔗

Save yourself money by hiding your API keys from prying eyes and nasty bots. [...]

Draw under the Android NavBar Using React Native 🔗

Android allows you to draw content under the navigation bar. It's a neat effect! Let's add that to our React Native apps. [...]

Data Storage Options for React Native 🔗

React Native contains multiple different ways you can persist data for your application. Let's look at the choices and their pros and cons. [...]

The Ultimate Windows Development Environment Guide 🔗

Many developers like MacOS or Linux for development environments, but don't know that Windows has plenty to offer. Become a Windows pro! [...]

Networking 101: UDP & TCP 🔗

If networking is analogous to physical mail, then let's take a look at the letters being sent themselves. Let's dive into UDP and TCP [...]

What is Server Side Rendering (SSR) and Static Site Generation (SSG)? 🔗

An explanation of what server-side rendering is, what static site generation is, and how you can utilize them in React, Angular, or Vue! [...]

Building an Angular Blog With Scully 🔗

NuxtJS and Gatsby allow you to make SSG-enabled blogs, but Angular doesn't have an equivalent... Until now. Let's build a blog with Scully! [...]

Networking 101: A Basic Overview of Packets and OSI 🔗

You use networking every day - even to read this! Let's dive into explaining how we send data across a network and what the OSI model is. [...]

How to Pick Tech Stacks For New Projects 🔗

I often get asked "How do you pick a tech stack for your projects?". The answer is: outline what questions you should be asking early on. [...]

Making a Slack Bot using NodeJS and MongoDB 🔗

Join us as we teach you how to create a Slack bot from scratch using their Node SDK and MongoDB for persistence [...]

The quantum duck debugging theory 🔗

Quantum-entangled rubber duck debugging using real-life subjects. A theory by Michael Hladky. [...]

Time For Employers To Change Their Perspective On Open Source Contribution 🔗

Before you read this article, I want to make it very clear, I am not blaming anyone here. Keeping thi... [...]

Debugging NodeJS Applications Using Chrome 🔗

Learn how to interactively debug your NodeJS applications using a GUI-based debugger built into Chrome. [...]

Using in-memory-db With NestJS 🔗

Let’s see why we should and how we can use in-memory-db, you can access the source code on GitHub.... [...]

A Deep Dive Into the NestJS Injection Scope 🔗

In my previous piece, we discussed NestJS services. In this piece, we’ll look at the injection scope.... [...]

Introduction to NestJS Services 🔗

Service In enterprise applications, we follow the SOLID principle, where S stands for Sing... [...]

NestJS Controllers Deep Dive 🔗

In this blog post, we will explore the controller which is the most important part of NestJS.... [...]

Integrating Native Android Code in Unity 🔗

Have you ever wanted to run native Java and Kotlin code from your mobile game written in Unity? Well, you can! Let's see how. [...]

Getting Started With NestJS 🔗

This is the first part of the series of articles on the Node.js framework known as NestJS, in this ar... [...]

Change the Host File of an Android Emulator 🔗

In order to test web applications with Android properly, you may need to edit the Android Emulator network host file. Here's how to do so. [...]

Introduction to HTML, CSS, and JavaScript 🔗

Introduction to the underlying concepts of HTML, CSS, and JavaScript and how they work together. [...]

Angular Dependency Injection Simplified for .Net and Java Developers 🔗

Recently one of the .Net developer asked me the question "why we use class rather than interfaces whi... [...]

How to get up and running with Angular on Windows 🔗

Are you struggling with setting up an Angular development environment on Windows? Let us get you up and running in no time! [...]

Sorry C# and Java developers, this is not how TypeScript works 🔗

JavaScript is a loosely typed programming language and TypeScript does not change that. [...]

Web Fundamentals: Understanding the DOM 🔗

In our eight chapter, we learn how the browser internally handles HTML and CSS to show the user webpages on-screen. [...]

Binary & Hexadecimal: Intro to Non-Decimal Systems 🔗

Learn how to convert decimal to binary and hexadecimal, how CSS colors are calculated, and how your computer interprets letters into binary. [...]

Introduction to TypeScript — What is TypeScript? 🔗

An introduction and explanation of what TypeScript is, is not, and what it's used for [...]

Hard Grids & Baselines: Achieving 1:1 Android Fidelity 🔗

Testing the limits of `firstBaselineToTopHeight` and `lastBaselineToBottomHeight` to deliver a perfect result. [...]

TypeScript Intermediates - Type Generics 🔗

An introduction to the type generic functionality in TypeScript [...]

Joining Freenode IRC: A Guide 🔗

Basic (but detailed) instructions for setting up a Freenode IRC account through various clients [...]

Continuous Integration with Travis CI for Android 🔗

An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things [...]

Android Basics: Contexts, Intents & Lifecycle 🔗

A basic overview of the main components of an Android app and how they interact with each other and the Android system [...]

Why You Should Invest In Yourself? 🔗

Why You Should Invest In Yourself? If you like stories, then this is for you, and more... [...]

My Open Source Journey 🔗

Photo by Markus Spiske on Unsplash Hello everyone, my name is Santosh Yadav and I want to share my O... [...]

Angular Templates — From Start to Source 🔗

Learn how templates work in Angular. From the basics to being able to read Angular source code and write your own structural directives [...]

Uttering Hello — The Site's First Post 🔗

An introduction to Unicorn Utterances, including a mission statement and general roadmap [...]

When performance guarantees hurts performance - std::visit 🔗

The performance of came up in a discussion, and my first thought was that from reading generated assembly code, it's a jump table, so it should be... [...]

How to speak at a conference 🔗

A former colleague of mine recently described the steps to speak at a conference as: Write a proposal and (optionally) a talk outline. Get accepted... [...]

DRY multicomparisons 🔗

Now and then, I find myself writing something like if (x == a || x == b || x == c) ... , and every time the repetition of x == annoys me. A number ... [...]

Angular Route Guards for Web & Mobile Auth 🔗

Learn how to use Angular route guards for authenticating & authorizing access to certain child and parent routes. [...]

Performance of flat maps 🔗

A flat map is a data structure that maps a key to a value, and that stores the data in a compact flat memory structure to get better cache hit rate... [...]

Using constexpr quick-sort in C++17 🔗

So I've written about compile time quick-sort twice before ( 2011 and 2015 ,) but now with C++17's upcoming support, I thought I'd try it again. Ge... [...]

Higher order functions as an enabler for lazy evaluation 🔗

Yesterday's post about Generating lambdas for clarity and performance showed how to make use of higher order functions to improve clarity while giv... [...]

Generate lambdas for clarity and performance 🔗

Higher order functions , functions that operate on other functions or returns functions, are familiar to those who have had some experience with fu... [...]

Serializing structs with C++17 structured bindings 🔗

Serializing data in C++ is a surprisingly difficult problem. There are many libraries for it with varying degrees of finesse, power and ease of use... [...]

Expressing strings as types with C++17 constexpr lambdas 🔗

Recently I stumbled upon a question by @arne_mertz of Simplify C++ fame — if you don't read that blog, start now! — about using string literals as ... [...]

Succinct and helpful C++ template compilation errors 🔗

We've all experienced them, the long and unhelpful compilation errors from templates, usually referring to some internal header you didn't even kno... [...]

A flexible lexicographical comparator for C++ structs 🔗

We've all hand crafted comparison operators for structs with many members, and we've all cursed the tedium. It's all right for equality comparison,... [...]

Cache optimizing a priority queue 🔗

I must begin by saying that, if you found this because you have a performance problem, you should almost certainly look elsewhere. It is highly unl... [...]

Performance observations on a C++ vector of lambdas 🔗

Edit (June 2015):: The source code is now available on GitHub . When writing unit tests, you typically don't care much about execution speed, but c... [...]

Compile time quick-sort in idiomatic modern C++ 🔗

This article is outdated!: This article was written a very long time ago, and its contents no longer apply. Read the newer version by clicking here... [...]

Sequence control with the Trompeloeil C++ mocking framework 🔗

As previously introduced , the Trompeloeil C++ framework is a new mocking framework for C++14. If you're not at all familiar with Trompeloeil , you... [...]

Introducing the Trompeloeil C++ mocking framework 🔗

Trompeloeil is a new mocking framework for C++, aimed at ease of use without sacrificing expressive power. In arts, trompeloeil is intended to mock... [...]

Asserting compilation errors in C++ 🔗

Sometimes when crafting an interface, we want to ensure that some illegal constructs lead to compilation errors. After all, a good interface is eas... [...]

Expressing strings as types 🔗

This article is outdated!: This article was written a very long time ago, and its contents no longer apply. Read the newer version by clicking here... [...]

Compile time messages in C++ 🔗

This article is outdated!: This article was written a very long time ago, and its contents no longer apply. Read the newer version by clicking here... [...]

Exploring time keeping in ISO C++ 2011 🔗

A lot has been written about new features coming in the 2011 revision of ISO C++. One that has received surprisingly little attention is the <chron... [...]

Compile time quick-sort using C++ variadic templates 🔗

This article is outdated!: This article was written a very long time ago, and its contents no longer apply. Read the newer version by clicking here... [...]