<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>TechBlog on Omid Farhang</title><link>https://omid.dev/posts/techblog/</link><description>Recent content in TechBlog on Omid Farhang</description><image><title>Omid Farhang</title><url>https://omid.dev/images/bio-photo-150x150.jpg</url><link>https://omid.dev/images/bio-photo-150x150.jpg</link></image><generator>Hugo -- 0.161.1</generator><language>en-US</language><copyright>2026 Omid Farhang | All rights reserved.</copyright><lastBuildDate>Thu, 04 Jun 2026 01:38:00 +0330</lastBuildDate><atom:link href="https://omid.dev/posts/techblog/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Tiny Linux App to Explain Desktop Stutter</title><link>https://omid.dev/2026/06/04/building-a-tiny-linux-app-to-explain-desktop-stutter/</link><pubDate>Thu, 04 Jun 2026 01:38:00 +0330</pubDate><guid>https://omid.dev/2026/06/04/building-a-tiny-linux-app-to-explain-desktop-stutter/</guid><description>A hands-on Rust/Linux app walkthrough: build a small TUI that reads /proc and /sys, parses Pressure Stall Information, and turns kernel signals into an explanation for desktop stutter.</description></item><item><title>Ubuntu, Manjaro, and the Linux Desktop I Thought I'd Left Behind</title><link>https://omid.dev/2026/06/03/ubuntu-manjaro-and-the-linux-desktop-im-rethinking/</link><pubDate>Wed, 03 Jun 2026 01:10:00 +0330</pubDate><guid>https://omid.dev/2026/06/03/ubuntu-manjaro-and-the-linux-desktop-im-rethinking/</guid><description>After years on Manjaro KDE, I&amp;#39;m testing Kubuntu 26.04 again. A long-time Linux user&amp;#39;s honest look at what changed on Ubuntu, what Manjaro still does well, and why hybrid NVIDIA laptops make the decision harder than a distro chart.</description></item><item><title>Stop Modeling Angular Screens with Five Booleans</title><link>https://omid.dev/2026/06/02/stop-modeling-angular-screens-with-five-booleans/</link><pubDate>Tue, 02 Jun 2026 01:15:00 +0330</pubDate><guid>https://omid.dev/2026/06/02/stop-modeling-angular-screens-with-five-booleans/</guid><description>Most Angular UI bugs come from screens modeled as scattered flags. Replace loading, error, empty, and ready booleans with one explicit state model your templates and reviewers can trust.</description></item><item><title>Why I Started Adding Full Source Code to My Blog Posts</title><link>https://omid.dev/2026/06/01/why-i-started-adding-full-source-code-to-my-blog-posts/</link><pubDate>Mon, 01 Jun 2026 01:41:00 +0330</pubDate><guid>https://omid.dev/2026/06/01/why-i-started-adding-full-source-code-to-my-blog-posts/</guid><description>A short note about the companion example-projects repository for omid.dev, where suitable technical posts now include runnable examples or complete focused snippets.</description></item><item><title>How to Install Cursor IDE on Manjaro Linux</title><link>https://omid.dev/2026/05/29/how-to-install-cursor-ide-in-manjaro/</link><pubDate>Fri, 29 May 2026 16:45:00 +0330</pubDate><guid>https://omid.dev/2026/05/29/how-to-install-cursor-ide-in-manjaro/</guid><description>A practical AppImage-based Cursor IDE installation guide for Manjaro Linux, including launcher setup, desktop integration, icon extraction, and a one-command update script.</description></item><item><title>Angular Is Quietly Becoming AI-Tool Friendly: What MCP Server Support Changes for Real Teams</title><link>https://omid.dev/2026/05/27/angular-mcp-ai-workflows-real-teams/</link><pubDate>Wed, 27 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/27/angular-mcp-ai-workflows-real-teams/</guid><description>Angular&amp;#39;s MCP Server tooling is not just an AI demo. It changes how teams can connect framework knowledge, local code, and coding assistants without losing their conventions.</description></item><item><title>The Hidden Cost of Nice Syntax: When Angular's New Template Features Make Code Harder to Reason About</title><link>https://omid.dev/2026/05/26/angular-template-syntax-hidden-cost/</link><pubDate>Tue, 26 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/26/angular-template-syntax-hidden-cost/</guid><description>Angular&amp;#39;s newer template syntax is powerful, but spread/rest, arrow functions, multi-case switches, and richer control flow need team rules before clever templates become maintenance debt.</description></item><item><title>Signal Forms Aren't Just a Forms API Update: They Change How You Model UI State</title><link>https://omid.dev/2026/05/25/signal-forms-model-ui-state/</link><pubDate>Mon, 25 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/25/signal-forms-model-ui-state/</guid><description>Signal Forms push Angular forms toward explicit state modeling, where validation, submission, async work, and derived UI state live in the same reactive graph.</description></item><item><title>The Zoom-Out: When 15 Years of Code Meets the "Ecosystem Blind Spot"</title><link>https://omid.dev/2026/02/25/the-zoom-out-when-15-years-of-code-meets-the-ecosystem-blind-spot/</link><pubDate>Wed, 25 Feb 2026 22:22:05 +0330</pubDate><guid>https://omid.dev/2026/02/25/the-zoom-out-when-15-years-of-code-meets-the-ecosystem-blind-spot/</guid><description>A senior developer reflects on the ecosystem blind spot after 15 years of coding, exploring how to regain perspective and stay current.</description></item><item><title>The Engineer’s Dilemma: Building a Startup When You Only Want to Code</title><link>https://omid.dev/2026/01/03/technical-founder-execution-playbook/</link><pubDate>Sat, 03 Jan 2026 01:05:58 +0330</pubDate><guid>https://omid.dev/2026/01/03/technical-founder-execution-playbook/</guid><description>The definitive execution playbook for senior developers transitioning to technical founders. Master validation, legal foundations, ruthless MVP scoping, and scaling leadership.</description></item><item><title>Migrating from React to Angular: A 'Ship of Theseus' Case Study in Production</title><link>https://omid.dev/2026/01/01/ship-of-theseus-react-to-angular/</link><pubDate>Thu, 01 Jan 2026 02:25:59 +0330</pubDate><guid>https://omid.dev/2026/01/01/ship-of-theseus-react-to-angular/</guid><description>A detailed look at why and how we migrated a core legacy React application to Angular in a high-stakes FinTech environment using the Strangler Fig pattern.</description></item><item><title>Building a Personal Knowledge Engine with Jupyter and Local LLMs</title><link>https://omid.dev/2025/12/28/personal-knowledge-engine-jupyter-llm/</link><pubDate>Sun, 28 Dec 2025 02:24:05 +0330</pubDate><guid>https://omid.dev/2025/12/28/personal-knowledge-engine-jupyter-llm/</guid><description>Move beyond prompt engineering by combining Jupyter Notebooks with local LLMs to build a powerful personal knowledge engine.</description></item><item><title>The Ethics of Legacy Code: Why Rewriting is Often a Mistake</title><link>https://omid.dev/2025/12/27/ethics-of-legacy-code/</link><pubDate>Sat, 27 Dec 2025 02:23:11 +0330</pubDate><guid>https://omid.dev/2025/12/27/ethics-of-legacy-code/</guid><description>Explore the social and ethical implications of legacy code and why &amp;#39;rewriting from scratch&amp;#39; is often a failure of empathy.</description></item><item><title>Microservices Observability: Lessons from Debugging 1970s Radios</title><link>https://omid.dev/2025/12/26/debugging-radio-vs-microservices/</link><pubDate>Fri, 26 Dec 2025 02:22:19 +0330</pubDate><guid>https://omid.dev/2025/12/26/debugging-radio-vs-microservices/</guid><description>Explore the parallels between vintage hardware debugging and modern microservices observability, from signal tracing to distributed tracing.</description></item><item><title>The Cost of Consistency: Avoiding Design System Bottlenecks</title><link>https://omid.dev/2025/12/25/cost-of-consistency-design-systems/</link><pubDate>Thu, 25 Dec 2025 02:21:24 +0330</pubDate><guid>https://omid.dev/2025/12/25/cost-of-consistency-design-systems/</guid><description>Lessons learned from building a comprehensive Angular-based design system and how to avoid the rigidity trap and abstraction tax.</description></item><item><title>Angular Signals and Control Theory: A New Reactivity Model</title><link>https://omid.dev/2025/12/24/angular-signals-control-theory/</link><pubDate>Wed, 24 Dec 2025 02:20:31 +0330</pubDate><guid>https://omid.dev/2025/12/24/angular-signals-control-theory/</guid><description>Explore the connection between Control Theory and Angular&amp;#39;s new Signals-based reactivity model for better frontend performance.</description></item><item><title>Jupyter, ChatGPT, Copilot (Part 3): Real-World Code Examples</title><link>https://omid.dev/2025/12/23/jupyter-real-world-examples/</link><pubDate>Tue, 23 Dec 2025 02:26:48 +0330</pubDate><guid>https://omid.dev/2025/12/23/jupyter-real-world-examples/</guid><description>Concrete scenarios where Jupyter notebooks outperform traditional IDEs for senior engineers, including API exploration and performance audits.</description></item><item><title>Jupyter, ChatGPT, Copilot (Part 2): The Technical Guide to Jupyter Setup</title><link>https://omid.dev/2025/12/23/jupyter-technical-setup-guide/</link><pubDate>Tue, 23 Dec 2025 02:00:00 +0330</pubDate><guid>https://omid.dev/2025/12/23/jupyter-technical-setup-guide/</guid><description>A professional guide to setting up Jupyter for software engineers, covering installation, environment management, and version control.</description></item><item><title>Jupyter, ChatGPT, Copilot (Part 1): The Strategic Value of Thinking in Notebooks</title><link>https://omid.dev/2025/12/23/jupyter-the-strategic-value-of-thinking-in-notebooks/</link><pubDate>Tue, 23 Dec 2025 01:09:51 +0330</pubDate><guid>https://omid.dev/2025/12/23/jupyter-the-strategic-value-of-thinking-in-notebooks/</guid><description>Explore the conceptual and strategic role of Project Jupyter alongside ChatGPT and Copilot in modern development workflows.</description></item><item><title>Unlocking the Power of Angular's `@ViewChild` and `@ContentChild`</title><link>https://omid.dev/2024/09/08/unlocking-the-power-of-angulars-viewchild-and-contentchild/</link><pubDate>Sun, 08 Sep 2024 12:56:55 +0330</pubDate><guid>https://omid.dev/2024/09/08/unlocking-the-power-of-angulars-viewchild-and-contentchild/</guid><description>&lt;p&gt;Angular&amp;rsquo;s &lt;code&gt;@ViewChild&lt;/code&gt; and &lt;code&gt;@ContentChild&lt;/code&gt; decorators provide a powerful way to interact with child components, DOM elements, and projected content within a component&amp;rsquo;s template. While they are often misunderstood or used interchangeably, each has its own specific purpose and use cases.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item></channel></rss>