RSSAmplifier

Blog

Ezz's Blog

Technical blog by Ezz Abuzaid covering TypeScript, Angular, React, Node.js, RxJS, and modern web development. In-depth tutorials, code examples, and best practices for software engineers.

ezz.shRSS feed ↗19 posts

Latest posts

Ways of Writing

“You”, “Your Team”, and “Your Audience” can all do the writing.

Content Pipeline

How I use Codex automations and a custom agent skill to publish four blog series on a schedule without burning out.

Agent vs Harness: What's the Difference?

Understand the distinction between AI agents and harnesses. Learn how agents handle decision-making while harnesses provide the infrastructure for reliable, long-running AI systems.

NODE_ENV: What It Actually Does (And What It Doesn't)

Stop misusing NODE_ENV. Learn what it's really for, why you should always use production, and how to properly configure your Node.js apps.

Build a Text-to-SQL Agent with LLMs

Generate SQL queries from natural language using LLMs. Build an AI agent that understands your database schema and writes accurate queries.

Backtranslation for Data Augmentation in NLP

Expand your ML training data with backtranslation. Learn how to augment text datasets while preserving meaning and label accuracy.

Host npm Packages on GitHub (Without npm Registry)

Can't get your npm scope? Host packages directly from GitHub using tarballs. Covers caching issues, installation scripts, and tradeoffs.

How to Safely Run Untrusted JavaScript Code (7 Methods)

Execute user-submitted JavaScript securely. Compare Web Workers, isolated-vm, WASM sandboxes, Docker, and static analysis with code examples.

Build and Deploy a Todo API with January (Low-Code)

Create a REST API without writing backend code. Use January's low-code platform to build and deploy a Todo List API to Fly.io.

Angular takeUntilDestroyed Migration Guide (with Codemod)

Stop using @ngneat/until-destroy. Migrate to Angular's built-in takeUntilDestroyed with a one-command codemod. Before/after examples included.

TypeScript Compiler API: A Practical Guide

Master the TypeScript Compiler API. Learn type checking, AST traversal, code generation, and transformation with practical examples.

Stream OpenAI Responses in Real-Time with Node.js

Build ChatGPT-like streaming responses with the OpenAI API. Handle SSE, token buffering, and real-time rendering in Node.js.

Build a Typeahead/Autocomplete Component with RxJS

Create a fast typeahead search with RxJS. Handle debouncing, caching, keyboard navigation, and API optimization. Full code included.

Angular Infinite Scroll: Directive vs Pipe (with Code)

Two ways to implement infinite scroll in Angular: custom directive vs pipe. Compare performance, pros/cons with working examples.

Build Infinite Scroll with RxJS (Complete Tutorial)

Create smooth infinite scrolling with RxJS operators. Handle loading states, error recovery, and performance optimization. Full working code.

How to Write Custom ESLint Rules (Step-by-Step Guide)

Create your own ESLint rules from scratch. Learn AST traversal, rule structure, and testing. Working examples included.

Implement React Context API Pattern in Angular

Bring React's Context API pattern to Angular. Share state across components without prop drilling. Full implementation guide with code.

Angular Dynamic Components: Inputs, Outputs & ngOnChanges

Create dynamic Angular components with full lifecycle support. Handle inputs, outputs, and ngOnChanges in dynamically loaded components.

Why I Chose a DSL Over Complex Form UIs

Replace complex form UIs with a simple DSL. Real-world case study on designing policy rules, with syntax design decisions and tradeoffs.