<?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>Home on Omid Farhang</title><link>https://omid.dev/</link><description>Recent content in Home 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.163.3</generator><language>en-US</language><copyright>2026 Omid Farhang | All rights reserved.</copyright><lastBuildDate>Fri, 10 Jul 2026 02:03:30 +0330</lastBuildDate><atom:link href="https://omid.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>TypeScript 7 Is Here: Fast, Exciting, and Worth Watching</title><link>https://omid.dev/2026/07/10/typescript-7-is-here-fast-exciting-worth-watching/</link><pubDate>Fri, 10 Jul 2026 02:03:30 +0330</pubDate><guid>https://omid.dev/2026/07/10/typescript-7-is-here-fast-exciting-worth-watching/</guid><description>TypeScript 7&amp;#39;s native port delivers dramatic build-time speedups, but editor plugins, framework tooling, and monorepo workflows are catching up at different speeds. A practical read for teams deciding when to adopt.</description></item><item><title>Local AI on Manjaro: Ollama, Aider, and Cline Without Another Subscription</title><link>https://omid.dev/2026/06/30/local-ai-with-ollama-aider-and-cline-on-manjaro/</link><pubDate>Tue, 30 Jun 2026 01:14:50 +0330</pubDate><guid>https://omid.dev/2026/06/30/local-ai-with-ollama-aider-and-cline-on-manjaro/</guid><description>A follow-up to the split Cursor workflow: install Ollama on Manjaro with CUDA, pull coding models, wire up Aider and Cline for scoped local work — with honest limits on tool reliability, privacy, and when to fall back to cloud models.</description></item><item><title>How to Stretch Cursor Pro Further: A Split AI Workflow</title><link>https://omid.dev/2026/06/29/how-to-stretch-cursor-pro-with-a-split-ai-workflow/</link><pubDate>Mon, 29 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/29/how-to-stretch-cursor-pro-with-a-split-ai-workflow/</guid><description>Cursor Pro is best when it edits code, not when it thinks out loud. A practical split workflow — Perplexity for current research, ChatGPT for planning, Claude for review, Ollama for cheap tasks, and Cursor for multi-file execution — plus what actually counts against your quota.</description></item><item><title>After the Zoom-Out: A Playbook for Staying Current Without Burning Out</title><link>https://omid.dev/2026/06/25/after-the-zoom-out-a-playbook-for-staying-current/</link><pubDate>Thu, 25 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/25/after-the-zoom-out-a-playbook-for-staying-current/</guid><description>Part two of the ecosystem blind spot series. The first post named the feeling; this one is the playbook — pain-driven discovery, pattern recognition, technology reconnaissance, and the habits that keep experienced engineers ahead of expensive gaps.</description></item><item><title>How I Learned My Linux Machine Has Been Compressing Memory for Years Without Me Knowing</title><link>https://omid.dev/2026/06/16/how-i-learned-my-linux-machine-has-been-compressing-memory-for-years/</link><pubDate>Tue, 16 Jun 2026 02:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/16/how-i-learned-my-linux-machine-has-been-compressing-memory-for-years/</guid><description>After 15 years on Linux, I discovered zswap had been compressing inactive memory on my Manjaro laptop all along. A practical guide to checking zswap, zram, and memory compression on Linux, macOS, and Windows — plus a timeline of how we got here.</description></item><item><title>Teaching with Bio-Dynamics: 15-Minute Lab Sessions</title><link>https://omid.dev/2026/06/14/teaching-with-bio-dynamics-15-minute-lab-sessions/</link><pubDate>Sun, 14 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/14/teaching-with-bio-dynamics-15-minute-lab-sessions/</guid><description>Step-by-step classroom paths for the Bio-Dynamics microbiome sandbox — allergy barrier defense, Candida pH balance, and the pre/pro/postbiotic lifecycle.</description></item><item><title>i18n, a11y, and Shareable Lab State in the Browser</title><link>https://omid.dev/2026/06/13/i18n-a11y-and-shareable-lab-state-in-the-browser/</link><pubDate>Sat, 13 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/13/i18n-a11y-and-shareable-lab-state-in-the-browser/</guid><description>How Bio-Dynamics supports English, German, and Persian, keeps keyboard and screen-reader paths usable, and encodes lab checkpoints in the URL.</description></item><item><title>Catalog-Driven Dashboard: Strains, Stressors, and Action Impact</title><link>https://omid.dev/2026/06/12/catalog-driven-dashboard-strains-stressors-and-action-impact/</link><pubDate>Fri, 12 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/12/catalog-driven-dashboard-strains-stressors-and-action-impact/</guid><description>How Bio-Dynamics keeps 82 stressors, 20 strains, and four catalog tabs maintainable — and previews biome deltas before you click.</description></item><item><title>Macro/Micro 3D: One Scene Graph, Seven Tissue Builders</title><link>https://omid.dev/2026/06/11/macro-micro-3d-one-scene-graph-seven-tissue-builders/</link><pubDate>Thu, 11 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/11/macro-micro-3d-one-scene-graph-seven-tissue-builders/</guid><description>How Bio-Dynamics uses Three.js to fly from a rotatable body map into region-specific tissue cross-sections with instanced microbes and simulation-linked visual effects.</description></item><item><title>Designing a Deterministic Microbiome Simulation Without Overclaiming Science</title><link>https://omid.dev/2026/06/10/deterministic-microbiome-simulation-without-overclaiming-science/</link><pubDate>Wed, 10 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/10/deterministic-microbiome-simulation-without-overclaiming-science/</guid><description>How Bio-Dynamics models barrier integrity, emergent inflammation, and microbe competition in a 30 Hz tick engine — with golden tests that keep the educational demo honest.</description></item><item><title>Building Bio-Dynamics: An Educational 3D Microbiome Lab in the Browser</title><link>https://omid.dev/2026/06/09/building-bio-dynamics-educational-3d-microbiome-lab-in-the-browser/</link><pubDate>Tue, 09 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/09/building-bio-dynamics-educational-3d-microbiome-lab-in-the-browser/</guid><description>Why I built a full-body microbiome sandbox — for education, open development storytelling, and exploring simulation and 3D outside my usual frontend lane.</description></item><item><title>How to Build a Frontend Testing Strategy That Actually Scales</title><link>https://omid.dev/2026/06/09/how-to-build-a-frontend-testing-strategy-that-actually-scales/</link><pubDate>Tue, 09 Jun 2026 01:50:00 +0330</pubDate><guid>https://omid.dev/2026/06/09/how-to-build-a-frontend-testing-strategy-that-actually-scales/</guid><description>A practical frontend testing strategy for large teams: how to choose between unit, integration, component, and end-to-end tests in a real Angular codebase without creating slow, fragile coverage.</description></item><item><title>Why Your Frontend Tests Flake and How to Fix Them for Good</title><link>https://omid.dev/2026/06/08/why-your-frontend-tests-flake-and-how-to-fix-them-for-good/</link><pubDate>Mon, 08 Jun 2026 02:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/08/why-your-frontend-tests-flake-and-how-to-fix-them-for-good/</guid><description>A practical guide to reducing flaky frontend tests by improving isolation, waiting strategies, deterministic fixtures, test data, clocks, network control, and CI diagnostics.</description></item><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 small install/update/uninstall 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></channel></rss>