TechBlog

Signal Forms Aren't Just a Forms API Update: They Change How You Model UI State

Published: May 25, 2026 Reading time: 6 min

Most forms discussions start in the wrong place. They compare syntax. Reactive Forms gives us FormGroup, FormControl, validators, status flags, and a lot of well-known muscle memory. Signal Forms gives us fields, signal-shaped state, form-level submission, custom controls, and migration tools. It is tempting to treat this as a cleaner API for the same old job. But that misses the bigger shift. Signal Forms are not only about filling inputs and showing validation messages. They push forms into the same mental model as the rest of modern Angular state: explicit signals, derived values, and state transitions that can be composed instead of chased through subscriptions. ...

Continue Reading

The Zoom-Out: When 15 Years of Code Meets the "Ecosystem Blind Spot"

Published: February 25, 2026 Reading time: 5 min

It happened to me this morning. After 15 years in the trenches—building frontend architectures, dipping into the backend, leading teams, and surviving countless framework wars—I hit a wall. Not a technical wall, but a conceptual one. I realized I didn’t know what Corepack was. I’ve never actually used Yarn. I’ve heard of modern test runners like Playwright and code‑generation tools like Orval, but I’ve never managed to actually run one in a production pipeline. ...

Continue Reading

The Engineer’s Dilemma: Building a Startup When You Only Want to Code

Published: January 3, 2026 Reading time: 9 min

You have a startup idea, and you have the skills to build it. As a senior developer, you’ve likely spent years mastering the art of turning requirements into robust, scalable systems. But when you decide to build your own company, you realize that the code is the easy part. The hard part is everything around the code: validation, prioritization, distribution, operations, and leadership. This post is a deep dive into the “Execution Gap.” It’s designed for the developer who can build anything but doesn’t know how to make it a reality in the market. We’re going to move past the clichés and look at the gritty details of startup execution, including the legal and management hurdles that often trip up technical founders. ...

Continue Reading

Migrating from React to Angular: A 'Ship of Theseus' Case Study in Production

Published: January 1, 2026 Reading time: 4 min

In the software world, the “Ship of Theseus” paradox is a daily reality. We replace parts of a system until, eventually, none of the original code remains. But usually, the industry moves toward the “shiny new thing.” At work, we did something that might sound like heresy to some: we migrated our core legacy React applications to Angular. This wasn’t a decision made out of fanboyism. It was a strategic move driven by the need for governance, stability, and long-term maintainability in a high-stakes FinTech environment. I’ll explain the architectural “why” and the pragmatic “how” of moving against the grain. ...

Continue Reading

Building a Personal Knowledge Engine with Jupyter and Local LLMs

Published: December 28, 2025 Reading time: 4 min

We’ve all used ChatGPT to write a function or debug a regex. But that’s just the tip of the iceberg. The real power of Large Language Models (LLMs) isn’t in the “chat”; it’s in the integration. As I explored in my 2025 series on Jupyter and AI, the real value of these tools comes when they are part of a structured thinking process. By combining the interactive execution of Jupyter Notebooks with the reasoning power of Local LLMs, we can build something much more powerful: a Personal Knowledge Engine. ...

Continue Reading

The Ethics of Legacy Code: Why Rewriting is Often a Mistake

Published: December 27, 2025 Reading time: 5 min

Every developer has been there: you inherit a codebase that looks like a bowl of spaghetti, and your first instinct is to say, “We need to rewrite this.” You see the outdated libraries, the inconsistent naming conventions, and the lack of unit tests, and you think, “I could do this so much better from scratch.” But a rewrite is rarely just a technical decision. It’s a social and ethical one. Legacy code is code that is working. It’s code that is paying the bills, processing the transactions, and serving the users. When we dismiss it as “trash,” we are dismissing the context, the constraints, and the hard work of the engineers who came before us. ...

Continue Reading

Microservices Observability: Lessons from Debugging 1970s Radios

Published: December 26, 2025 Reading time: 5 min

When you open up a 1970s radio, you aren’t met with logs or stack traces. You’re met with voltages, currents, and signals. If the audio is distorted, you don’t “grep” for an error; you trace the signal path from the antenna to the speaker. Modern microservices aren’t that different, though we often forget it. We’ve traded copper wires for HTTP requests and vacuum tubes for Docker containers, but the fundamental challenge of observability remains the same: how do you understand what’s happening inside a complex, distributed system without tearing it apart? ...

Continue Reading

The Cost of Consistency: Avoiding Design System Bottlenecks

Published: December 25, 2025 Reading time: 5 min

Design systems are promised as the ultimate productivity booster. “Build once, use everywhere.” And for the first six months, it’s true. You see the velocity of your feature teams skyrocket as they stop arguing about hex codes and start assembling pages from a library of pre-built components. But as your team grows and your product evolves, the very system that was supposed to speed you up can start to slow you down. At work, we built a comprehensive Angular-based design system that initially reduced delivery time by 40%. However, as we scaled, we hit the “maintenance phase”: the point where the cost of consistency began to rival the cost of development itself. ...

Continue Reading

Angular Signals and Control Theory: A New Reactivity Model

Published: December 24, 2025 Reading time: 4 min

Angular Signals have changed the way we think about reactivity in the frontend. But if you step outside the world of JavaScript, the concept of a “Signal” has a much older, much deeper history in Control Theory and Electrical Engineering. When we talk about “glitch-free” execution in Angular, we are actually talking about maintaining the integrity of a signal graph. I’ll explore the connection between the physics of signals and the architecture of modern web applications. ...

Continue Reading

Jupyter, ChatGPT, Copilot (Part 3): Real-World Code Examples

Published: December 23, 2025 Reading time: 4 min

Full source Jupyter Blog Starter A complete working example for this article — explore the full source on GitHub. View source In the previous parts, we discussed why Jupyter is a “thinking environment.” In this final part, we’ll walk through four concrete scenarios where a notebook outperforms a traditional IDE for a senior engineer. 1. API Archaeology: Mapping the Unknown When you’re dealing with a complex API, you don’t want to build a full client just to see what the data looks like. ...

Continue Reading

Jupyter, ChatGPT, Copilot (Part 2): The Technical Guide to Jupyter Setup

Published: December 23, 2025 Reading time: 4 min

Full source Jupyter Blog Starter A complete working example for this article — explore the full source on GitHub. View source The Modern Jupyter Stack For a software engineer, the “standard” way of installing Jupyter (global pip install) is often the wrong way. It leads to dependency hell and “it works on my machine” syndrome. Here is a professional setup guide. ...

Continue Reading

Jupyter, ChatGPT, Copilot (Part 1): The Strategic Value of Thinking in Notebooks

Published: December 23, 2025 Reading time: 6 min

If you come from a traditional software engineering background (frontend, backend, systems), chances are you’ve seen Project Jupyter everywhere, from notebooks and extensions to cloud platforms, and thought: “This looks huge… but I don’t really see where I fit in.” I had the same confusion. Let’s look at it clearly, using roles, not buzzwords. First: What Jupyter Is Not Jupyter is not: A programming language (unlike R or Python) A replacement for IDEs like VS Code A production development environment A competitor to ChatGPT or Copilot If you try to use it as any of those, it will feel awkward. ...

Continue Reading

ViewChild Angular: Complete Guide to @ViewChild and @ContentChild

Published: September 8, 2024 Reading time: 6 min

Angular’s @ViewChild and @ContentChild decorators provide a powerful way to interact with child components, DOM elements, and projected content within a component’s template. While they are often misunderstood or used interchangeably, each has its own specific purpose and use cases. In this comprehensive guide, we’ll dive deep into both decorators, understanding their differences, use cases, and best practices. Additionally, we’ll explore advanced techniques for leveraging them in various scenarios and edge cases, complete with sample code for hands-on understanding. ...

Continue Reading

The Hidden World of Esoteric Programming Languages

Published: August 13, 2024 Reading time: 10 min

Programming languages are the backbone of the digital world, enabling us to create software that powers everything from our smartphones to space exploration. While most developers are familiar with popular languages like Python, JavaScript, and C++, there’s a fascinating and lesser-known realm of programming languages that exist outside the mainstream. These are known as esoteric programming languages, or “esolangs” for short. Esoteric programming languages are not designed for practical use or efficiency. Instead, they are created as a form of artistic expression, puzzles, or to explore unusual concepts in computer science. Some esolangs challenge the very idea of what a programming language can be, while others are designed to be intentionally difficult to use. In this post, we’ll delve into the hidden world of esoteric programming languages, exploring their history, purpose, and some of the most intriguing examples. ...

Continue Reading

Migrating from REST to GraphQL: A Step-by-Step Guide for Express.js and Angular

Published: August 7, 2024 Reading time: 6 min

In today’s rapidly evolving web development landscape, GraphQL has emerged as a powerful alternative to traditional REST APIs. This blog post will guide you through the process of migrating your Express.js backend and Angular frontend from REST to GraphQL, unlocking the benefits of a more flexible and efficient API architecture. Full source Graphql Express Angular Migration A complete working example for this article — explore the full source on GitHub. View source 1. Introduction REST (Representational State Transfer) has been the go-to architectural style for building web APIs for many years. However, GraphQL, developed by Facebook, offers several advantages: ...

Continue Reading

Search