Writing
Some of the pieces that evolved from my notes and made it into a proper article or blog post.
2026
A Visual Feedback Loop for Electron Apps with Claude Code
Mar 6 ElectronClaude Codetooling
Agentic Experience Is the New Developer Experience
↗ nx.dev
Mar 5 nxaicli
A Monorepo Is NOT a Monolith
↗ nx.dev
Feb 24 nxmonorepocontent
Why Monorepos are King in the Age of AI
↗ nx.dev
Feb 18 webinar
CL - article - Teach Your AI Agent How to Work in a Monorepo
↗ nx.dev
Feb 12 End to End Autonomous AI Agent Workflows with Nx
↗ nx.dev
Feb 3 nxself-healing
Autonomous Agents at Scale
↗ nx.dev
Jan 21 Scaling 700+ Projects: How Nx Became a 'No-Brainer' for Caseware
↗ nx.dev
Jan 16 customer story
Configure Tailwind v4 with Angular in an Nx Monorepo
↗ nx.dev
Jan 14 nxtailwindangular
2025
Watch and Rebuild Storybook Dependencies with Nx
↗ nx.dev
Oct 29 nx
Book - React for Enterprise: Timeless Architecture for Enterprise Apps
↗ nx.dev
Oct 28 nxreactenterprise
What's New in Nx Self-Healing CI
↗ nx.dev
Oct 14 nxnx-cloudself-healing
S1ngularity - What Happened, How We Responded, What We Learned
↗ nx.dev
Sep 5 Nx
UKG Unifies Their Codebase and Eliminates CI Overhead to Focus on Customer Value
↗ nx.dev
Aug 12 customer story
How Git Worktrees Changed My AI Agent Workflow
↗ nx.dev
Aug 7 gitai
From 5 Days to 20 Minutes: How PayFit Accelerated Time to Market with Strategic Nx Implementation
↗ nx.dev
Jul 24 customer story
Analyze Your Nx Cloud Runs With Your AI Assistant
↗ nx.dev
Jun 25 nxnx-cloudai
Introducing Self-Healing CI for Nx and Nx Cloud
↗ nx.dev
Jun 23 nxnx-cloudai
Configure Tailwind 4 with Vite in an NPM Workspace: The Complete Guide
↗ nx.dev
Jun 19 nxtailwindvite
Your AI Assistant Can Now Read Your Terminal: Real-Time Development Error Fixing
↗ nx.dev
May 28 Combining Predictability and Intelligence With Nx Generators and AI
↗ nx.dev
May 13 Save Time: Connecting Your Editor, CI and LLMs
↗ nx.dev
May 1 nxnx-consoleai
Nx MCP Now Available for VS Code Copilot
↗ nx.dev
Apr 15 nxnx-consoleai
Vibe Exploring a Codebase with LLMs
↗ nx.dev
Apr 10 nxnx-consoleai
Angular Architecture Guide To Building Maintainable Applications at Scale
↗ nx.dev
Mar 18 key/angularkey/architecture
Making Cursor Smarter with an MCP Server For Nx Monorepos
↗ nx.dev
Mar 6 nxai
React Development for 2025
↗ nx.dev
Feb 26 webinar
Nx Just Made Your LLM Way Smarter
↗ nx.dev
Feb 17 nxai
Hetzner Cloud gets More Features to Market with Faster, More Reliable CI
↗ nx.dev
Feb 6 customer story
A New Nx Experience for TypeScript Monorepos and Beyond
↗ nx.dev
Jan 29 Nx
Managing TypeScript Packages in Monorepos
↗ nx.dev
Jan 28 typescriptmonoreponx
2024
Nx Highlights 2024
↗ nx.dev
Dec 22 Avoiding Port Conflicts with Multiple Storybook Instances
↗ nx.dev
Dec 18 nx
Introducing Nx Powerpack
↗ nx.dev
Sep 25 nxrelease
New Table Log View on CI with Nx Cloud
↗ nx.dev
Aug 28 Monorepos and CI can be a Mess - Here's How Nx and Nx Cloud Fixed It
↗ nx.dev
Jun 26 webinar
Versioning and Releasing Packages in a Monorepo
↗ nx.dev
Feb 9 nxnx-cloudreleases
What if Nx Plugins Were More Like VSCode Extensions
↗ nx.dev
Feb 5 nxreleases
Monorepos: the Benefits, Challenges, and Importance of Tooling Support
↗ nx.dev
Jan 24 webinar
2023
Nx — Highlights of 2023
↗ nx.dev
Dec 28 nxnx-cloud
Nx 17 has Landed
↗ nx.dev
Oct 20 nxrelease
Nx Conf 2023 - Recap
↗ nx.dev
Oct 12 Evergreen Tooling — More than Just CodeMods
↗ nx.dev
Jul 26 nx
Nx Cloud 3.0 — Faster Cache, More Powerful DTE, Better Ergonomics
↗ nx.dev
Apr 19 nxnx-cloud
Rspack — Getting up to speed with Nx
↗ nx.dev
Mar 10 nx
Nx 15.8 — Rust Hasher, Nx Console for IntelliJ, Deno, Node and Storybook
↗ nx.dev
Mar 8 nxrelease
Nx 15.7 — Node Support, Angular LTS, Lockfile Pruning
↗ nx.dev
Feb 16 nxrelease
Setup React and Tailwind — The Easy Way
↗ nx.dev
Feb 9 nxtutorial
React, Vite and TypeScript: Get started in under 2 minutes
↗ nx.dev
Jan 12 nx
2022
Nx 15.3 — Standalone Projects, Vite, Task Graph and more!
↗ nx.dev
Dec 6 nxrelease
What's new in Nx 15?
↗ nx.dev
Oct 14 nxrelease
Lerna reborn — What's new in v6?
↗ nx.dev
Oct 12 nxrelease
Helping the Environment by Saving Two Centuries of Compute time
↗ nx.dev
Aug 18 nx
Nx 14.5 — Cypress v10, output globs, linter perf, React Tailwind support
↗ nx.dev
Aug 2 nxrelease
Setup a Monorepo with PNPM workspaces and speed it up with Nx!
↗ nx.dev
Jul 14 nxtutorial
Nx 14.4 — Inputs, optional npm scope, project graph cache directory and more!
↗ nx.dev
Jul 5 nxrelease
Nx 14.2 — Angular v14, Storybook update, lightweight Nx and more!
↗ nx.dev
Jun 9 nxrelease
How Lerna just got 10x faster!
↗ nx.dev
May 25 nx
Lerna is dead — Long Live Lerna
↗ nx.dev
May 11 nx
Nx v14 is out — Here is all you need to know!
↗ nx.dev
May 2 nxrelease
Share Cypress Commands in an Nx Workspace
Apr 13 ReactAngularNx
What is new in Nx 13.10?
↗ nx.dev
Apr 8 nxrelease
The React CLI you always wanted but didn’t know about
Mar 29 ReactNx
The React CLI you always wanted but didn't know about
↗ nx.dev
Mar 29 nx
New Terminal Output & Performance Improvements in Nx 13.5
↗ nx.dev
Jan 25 nx
2021
Shifting my role at Nrwl
Dec 23 Publishing a Next.js app to Vercel with Nx
Sep 14 NextTailwindCSSReact
Use Cypress with Next.js and Nx to battle test your React Components
Aug 18 NextTailwindCSSReact
Use Storybook with Tailwind in an Nx Workspace
Aug 12 NextTailwindCSSReact
Using Nx Workspace generators to scaffold new blog posts
Jul 28 NextTailwindCSSReact
Hot Reload MDX changes in Next.js and Nx
Jul 15 NextTailwindCSSReact
Component hydration with MDX in Next.js and Nx
Jul 8 NextTailwindCSSReact
Read and render MD files with Next.js and Nx
Jun 23 NextTailwindCSSReact
Setup Next.js to use Tailwind with Nx
Jun 15 NextTailwindCSSReact
Create a Next.js web app with Nx
Jun 9 NextTailwindCSSReact
Angular Services, providedIn and Lazy Modules
Apr 20 angular
SoloCoder Podcast: About Coding and Martial Arts
Mar 30 How Remote Work Improved My Sleep
Feb 23 Common Chunk and Lazy Loading in Angular
Feb 17 angularperformance
Automatic Multi-Step Code Migrations with Nx
Jan 8 angulartoolingNx
2020
Scale React Development with Nx
Dec 11 Reacttooling
I'm new to Nx. Where do I get started?
Nov 11 Nxtoolingangular
Access Selenium Test Screenshots on failed GitLab Pipeline Steps
Oct 14 tooling
Using the Nx Dependency Graph in Custom Scripts
Sep 30 angularReacttooling
Access Angular Material's MatSelect Options Panel Container
Sep 12 angularangular material
Detect when node_modules are out of sync
Sep 1 toolingnode.js
Partial Commits in WebStorm
Jul 14 toolingwebstorm
AskJuri: Learning about Angular Elements
Jul 3 angularaskjuri
Create Nx Libs with Assets
May 20 rxjsangularNx
Debug Jest with VSCode
May 14 Nxtoolingangular
Joining Nrwl 🐳 🦄
Feb 12 2019
Git Rebase vs Merge
Dec 18 gittooling
Talk: Lazy Loading on Steroids with Angular Elements
Dec 17 angularperformanceAngular Elements
Talk: Enterprise Grade Angular Reactive Forms
Dec 7 angularreactive formsformly
Lazy Loading with Angular Elements and ngx-lazy-el
Nov 6 angularweb performance
Manually Lazy Load an Angular Module with ViewEngine and Ivy
Sep 30 angular
Debugging Angular Ivy Applications from the Devtools Console
Sep 25 rxjsangular
Resume your Work with Git
Sep 23 gittooling
Angular Performance: Precaching with the Service Worker
Aug 31 angularvideos
Angular Performance: Virtual Scrolling with the CDK
Aug 30 angularvideos
Angular Performance: Optimize Angular Change Detection
Aug 29 angularvideos
Angular Performance: Performance budgets with the Angular CLI
Aug 28 angularvideos
Angular Performance: Preloading Lazy Routes
Aug 27 angularvideos
Angular Performance: Route Level Code Splitting
Aug 26 angularvideos
Dynamically Load CSS with the Angular CLI
Aug 22 angulartooling
It’s time to say thank you to the Angular CLI Team!
Aug 13 angulartoolingjavascript
Publish a Docker container from Bitbucket to Google Cloud Container Registry
Aug 7 docker
Challenging the Testing Pyramid
Jul 16 testingJavaScript
Update to Angular Version 8 now!
Jun 3 angular
Create Code Snippets for Visual Studio Code with ease
May 23 toolingvscodevideos
Angular 8 and the Future - NGConf 2019 Roundup
May 1 angular
Lazy load Angular Components
Apr 29 angularperformancelazy loading
Introduction to Angular Elements
Apr 28 angulareggheadvideos
Setup your Workstation for JavaScript Development
Apr 26 angulartoolinggit
Productive Git for Developers
Apr 16 giteggheadvideos
RxJS finalize operator to execute logic on Observable termination
Mar 4 rxjsangularbeginner
A step-by-step guide to integrating a third party widget with Angular
Feb 14 angularguest post
Display Server Side Validation Errors with Angular
Feb 7 angularformsvalidation
Explore Angular Router's runGuardsAndResolvers
Jan 31 Angularrouterguards
Guarantee Event Order with RxJS
Jan 16 RxJSAngularasync
It's not just Standing Up
Jan 11 Software ProcessAgileStandup Meeting
2018
Learn Angular Router for Real-World Applications
Dec 5 Better Redirects in Angular Route Guards
Nov 28 Egghead Lesson: Simple caching with RxJS
Nov 10 Egghead Lesson: Avoid memory leaks when subscribing to RxJS Observables in Angular Components
Oct 28 Simple State Management with RxJS’s scan operator
Oct 9 rxjsangular
My Journey replacing Promises with RxJS
Sep 30 rxjsguest-post
[object ErrorEvent] thrown by Karma in Angular Unit Tests
Jul 25 In-depth: How do CDK Portals work?
Jun 25 Dynamic UI with CDK TemplatePortal and DomPortalHost
May 25 Extend the *ngIf Syntax to Create a Custom Permission Directive
Feb 20 Add Mocha reporter for Karma unit tests to your Angular CLI project
Feb 13 Create a CD pipeline with Angular, GitLab and Firebase
Feb 7 continuous delivery
Create a ng-true-value & ng-false-value directive for Angular
Jan 31 Compile-time vs. Runtime configuration of your Angular App
Jan 21 2017
Looking back on 2017
Dec 29 Three new Angular Courses to celebrate end of the Year 2017
Dec 26 Use Dynamic Components to render HTML for 3rd party libraries
Nov 14 Demystifying dynamic Forms in Angular
Oct 3 Understand How to Style Angular Components
Aug 7 Intercept HTTP Requests in Angular
Jul 31 Create a dynamic tab component with Angular
Jul 26 Enhanced *ngIf and *ngFor in Angular version 4.0.0
Jun 12 Talks: Web meets Mobile powered by Angular
Mar 22 Tuning Angular's Change Detection
Mar 14 Angular Modules vs ES6 Modules
Mar 8 Ted Talk: The Puzzle of Motivation
Feb 5 Video Course: Learning Angular Components
Jan 22 Talk: Testing with Angular - Some Recipes
Jan 10 Easy SSL support for your Jekyll Blog with CloudFlare
Jan 3 2016
NG-BE Conf and the Angular Community <3
Dec 30 Interviewing Igor Minar and Adam Bradley for AngularBeers
Dec 18 Ok.. let me explain: it's going to be Angular 4.0, or simply Angular
Dec 12 Configure Ahead of Time (AoT) for your Angular app using the Angular CLI
Dec 2 Safe Navigation Operator, RxJS and Async Pipe tinkering
Nov 15 Custom validators in template driven Angular forms
Nov 13 Data bind radio button lists with Angular
Nov 9 Configure a proxy for your API calls with Angular CLI
Nov 6 Let's create your first Angular app
Oct 4 Angular: Using the JSONPipe for debugging
Sep 20 Angular: How do I register an event listener on document?
Sep 19 Angular: How do I get a reference to the window object?
Sep 19 Angular version 2.0.0 released!!
Sep 14 Angular Forms - a first look
Aug 5 RxJS first steps - Subject and ReplaySubject
Jun 29 From ng-controller to components with Angular 1.5
Jun 26 Angular 2+ - A Getting Started Guide for Beginners
Jun 5 Learning Angular 2 Directives
Apr 26 Fine grained change detection with Angular
Apr 6 Debugging Angular Applications from the Console
Feb 9 angular
Learning Angular: Creating a tabs component
Feb 1 Learning Angular: Conditionally add styles to an element
Jan 24 AngularJavaScriptEgghead
About Personal Productivity
Jan 23 Multi Content Projection aka Multiple Transclusion
Jan 13 2015
Upgrading Angular from 1.x
Dec 15 Improve your Angular 1.x startup time
Dec 13 Componentizing Workflow for Angular
Dec 9 Follow-up: EvolvingPublication
Dec 3 GitLab Flow
Dec 2 Role of an Enterprise Architect in a Lean Organization
Nov 29 Notes
Egghead.io - Getting started with Redux
Nov 29 Good Tech Lead, Bad Tech Lead
Nov 28 Notes
Exploring Components in Angular 1.5
Nov 15 How to be agile in a non-agile environment
Nov 2 Agile
REST Api Design - Resource Modeling
Nov 2 Screencast: TypeScript - Setup Your Working Environment
Nov 2 Use ngModelOptions to limit digest cycles
Oct 25 Angular Connect London - Day 2
Oct 19 Angular Connect London - Day 1
Oct 18 Breaking apart conceptions by Ayende Rahien
Oct 10 Release your libs like a pro!
Oct 7 10 Interview Questions Every JavaScript Developer Should Know
Oct 4 El Capitain Broke My Developer Stuff! Here's How to Fix It
Oct 3 On Monoliths and Microservices
Oct 1 Building an Enterprise CSS Framework
Sep 30 Notes
12 Rules for Professional JavaScript in 2015
Sep 27 ES6 Features
Sep 27 Easy testing with angular-spies
Sep 25 $q.defer: You're doing it wrong
Sep 24 Angular 2 survey results
Sep 24 What forces layout/reflow
Sep 23 Are you making these 10 Unit Testing mistakes?
Sep 22 GitHub: Scaling on Ruby, with a nomadic tech team
Aug 27 ES2015 - Jump Start
Aug 25 es2015es6
Why You Should Avoid a Canonical Data Model
Aug 25 architecture
Why We Should Stop Using Bower – And How to Do It
Aug 25 Ultimate AngularJS and Ionic performance cheat sheet
Aug 24 Angular 1 and Angular 2 integration: the path to seamless upgrade
Aug 24 Building a desktop application with Electron
Aug 21 Host and Visibility in Angular 2's Dependency Injection
Aug 19 semantic-release - @kentcdodds talks to @boennemann
Aug 18 Preparing for Angular 2
Jul 5 Learning Angular: Testing $q promise resolves with Sinon and Jasmine
Jun 29 Learning Angular: Expose an API on your directives
Jun 16 Guide as in Mountaineering
Jun 5 GitHub: be Social, Contribute, Learn
Jun 3 Jersey WebResource - Header don't get appended
May 13 Nepal: Help for Anil Joshi
May 7 charity
Migrate from TFS to Git
Mar 24 Learning Angular: Set your language culture before any UI is displayed
Mar 2 Learning Angular: Verifying whether a function has been passed to my directive's isolated scope
Feb 25 Learning Angular: Access directive scope variables from directive controllers and vice versa
Jan 25 Backup your Win8 computer to your Synology NAS
Jan 17 Notes: Microservices by Martin Fowler
Jan 2 software architecturemicroservices
2014
Happy new year 2015!
Dec 30 Kudos for your site - powered by Firebase
Dec 28 Learning Angular: Useful utility functions
Nov 27 Learning Angular: Unit Testing $watch expressions
Nov 25 JavaScript Promises Essentials
Nov 17 Learning Angular: What is the scope of your directive??
Nov 12 Sublime Tip: Enable spell checking when you write Markdown
Nov 6 Learning Angular: Gosh, my two-way binding doesn't seem to work properly!
Nov 6 Introducing the learning-ng series
Nov 5 Avoid test code duplication in Jasmine tests
Oct 29 Want to invite your friend to Inbox by Gmail but have no invites left?
Oct 27 Static code analysis for free
Oct 20 Hack: How to mimic a disabled checkbox
Sep 11 Implementing the 'Git flow'
Aug 31 Node, Grunt, Bower and Yeoman - A Modern web dev's Toolkit
Aug 14 Lazy Angular Modules
Jul 20 First baby steps with Angular.js
May 10 See, always told you: testing is just a waste of time
May 6 QCon London 2014 - Embracing Change - Building Adaptable Software with Events
Apr 8 Integrating Node.js with a C# dll
Mar 30 Packt Video: JBoss EAP Configuration, Deployment and Administration
Mar 15 Automating the build of MSI setup packages on Jenkins
Mar 11 Decision making, problem solving, introducing ideas, being influencial
Mar 4 Automate your UI testing with Nightwatch
Feb 20 Git flow with Jenkins and GitLab
Jan 6 2013
JSConf.eu - React: Rethinking best practices
Dec 19 Boot your ajax app: Creating a splash screen with NProgress
Dec 5 The narrow path between best practices and over-engineering
Nov 18 JBoss Weld CDI for Java Platform
Oct 28 Developing Windows Store Apps with HTML5 and JavaScript
Sep 17 'object' does not contain a definition for 'errors'
Aug 29 JSConfUS 2013 - Angelina Fabbor in JavaScript Masterclass
Aug 5 How to add a reading time indicator to your blog in ten minutes
Jul 22 Setting up a WPF Application With PRISM
Jun 25 Code Coverage with QUnit in JavaScriptMVC
Jun 24 Learning JavaScriptMVC
Jun 17 Unit Testing Tip: Create Descriptive Tests
Jun 16 Vae Soli
Jun 13 Caching, jQuery Ajax and Other IE Fun
Jun 5 Getting Started with Git and Visual Studio
Jun 2 Blog Like a Hacker with Jekyll and Nitrous.IO
May 7 Perfect Workflow in Sublime Text 2
May 5 Git Explained: For Beginners
Apr 29 My Sublime Text Setup
Apr 9 Modularity in JavaScript MVC Frameworks
Apr 7 Entity Framework: Intercepting SQL Queries for Contextual Logging
Mar 21 Mocking Internal Interfaces with Moq
Mar 6 Interview with DZone
Mar 5 The Coaching Architect
Feb 11 Tech vidscoaching
DZone MVB Goodies Box
Feb 9 Test Your App Under Slow Network Speeds
Jan 31 ASP.net MVC Action Methods: Testing Against Anonymous Return Types
Jan 17 How to Stay Up To Date On Web Technology
Jan 10 Transformer TF101 meets Jelly Bean powered by CyanogenMod
Jan 5 2012
Retrospective 2012
Dec 30 Gist: My New Devbook
Dec 17 Cerego - Learn Anything, Everywhere
Dec 16 Programming ASP.net MVC4 by J. Chadwick, T. Snyder and H. Panda
Dec 13 HowTo: Subscribe to Failed TFS Builds
Nov 22 Visual Studio: Where Did My Shelvesets Go?
Nov 18 Deploying: Git vs. TFS Showdown
Nov 15 Don't Create Your Own Mapper, Let AutoMapper Do The Job!
Nov 13 Visual Studio Tips
Oct 30 Output Caching in ASP.net MVC
Oct 28 Lessons Learned: Don't Expose EF Entities to the Client Directly
Oct 23 HRT - Humility, Respect and Trust
Oct 14 2nd Dan Yoseikan Budo
Oct 4 Visual Studio Test Explorer: Automatically Execute All Unit Tests Only
Oct 2 Finishing my Blog Relocation
Sep 26 Jasmine - An Introduction
Aug 28 It's time to learn CoffeeScript
Aug 25 An Example of Test-Driven Bugfixing
Jul 18 Why $.extend(someObj, anotherObj) might be dangerous!
Jul 17 Strange Error When Downloading File in IE8 from SSL Site
Jul 15 2011
2009
2008
2007
Want to stay updated?
Subscribe via RSS →