<?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>Sat, 29 Aug 2026 00:25:01 +0330</lastBuildDate><atom:link href="https://omid.dev/index.xml" rel="self" type="application/rss+xml"/><atom:link href="https://pubsubhubbub.appspot.com/" rel="hub"/><item><title>One AI Chat Is Not a Research Workspace</title><link>https://omid.dev/2026/08/29/one-ai-chat-is-not-a-research-workspace/</link><pubDate>Sat, 29 Aug 2026 00:25:01 +0330</pubDate><guid>https://omid.dev/2026/08/29/one-ai-chat-is-not-a-research-workspace/</guid><description>Long-form research does not fit in one ChatGPT conversation. A Git repo of messy Markdown — inbox, concepts, counterarguments — lets ideas stay contradictory until you are ready to write.</description></item><item><title>The HDMI Port Was Keeping NVIDIA Awake</title><link>https://omid.dev/2026/08/23/hdmi-port-keeping-nvidia-awake/</link><pubDate>Sun, 23 Aug 2026 02:10:00 +0330</pubDate><guid>https://omid.dev/2026/08/23/hdmi-port-keeping-nvidia-awake/</guid><description>On an Intel + NVIDIA hybrid laptop, native HDMI can keep the dGPU in the display path. That explains the fan noise — and may be a contributor to Chrome and Cursor freezes on this stack.</description></item><item><title>Have Influence Without Becoming the Backdoor</title><link>https://omid.dev/2026/08/19/have-influence-without-becoming-the-backdoor/</link><pubDate>Wed, 19 Aug 2026 00:30:00 +0330</pubDate><guid>https://omid.dev/2026/08/19/have-influence-without-becoming-the-backdoor/</guid><description>Cross-team trust is a career asset. Unofficial ownership is a career trap. How a senior brings feedback, protects UX, and stays on the team&amp;#39;s side of the board.</description></item><item><title>Channel the Scout, Keep the Seat</title><link>https://omid.dev/2026/08/18/channel-the-scout-keep-the-seat/</link><pubDate>Tue, 18 Aug 2026 00:30:00 +0330</pubDate><guid>https://omid.dev/2026/08/18/channel-the-scout-keep-the-seat/</guid><description>Do not punish cross-team friendliness. Give the scout an official boundary: shared intake, no silent commitments, and polish on a budget.</description></item><item><title>When the Best Communicator Becomes the Backdoor</title><link>https://omid.dev/2026/08/17/when-the-best-communicator-becomes-the-backdoor/</link><pubDate>Mon, 17 Aug 2026 00:30:00 +0330</pubDate><guid>https://omid.dev/2026/08/17/when-the-best-communicator-becomes-the-backdoor/</guid><description>On a small development team, the senior who talks to other teams may be the most valuable person in the room—until influence becomes unofficial ownership.</description></item><item><title>The Frontend Is a Privileged System Now</title><link>https://omid.dev/2026/08/15/the-frontend-is-a-privileged-system-now/</link><pubDate>Sat, 15 Aug 2026 23:50:00 +0330</pubDate><guid>https://omid.dev/2026/08/15/the-frontend-is-a-privileged-system-now/</guid><description>The browser is untrusted, but the system that builds and delivers the frontend is not. Install hooks, CI identities, and release credentials make frontend delivery a production trust boundary.</description></item><item><title>The AUR Is Frozen: Inside Arch's Third Supply-Chain Attack Wave</title><link>https://omid.dev/2026/08/10/aur-freeze-supply-chain-attack/</link><pubDate>Mon, 10 Aug 2026 12:00:00 +0330</pubDate><guid>https://omid.dev/2026/08/10/aur-freeze-supply-chain-attack/</guid><description>Arch Linux froze all AUR writes after a third supply-chain attack wave, then restored pushes and adoption on August 11 with review gates. Timeline, how Atomic Arch worked, and what to do on Manjaro and other Arch-derived distros.</description></item><item><title>Marilyn Manson – Front Toward Enemy</title><link>https://omid.dev/2026/08/09/marilyn-manson-front-toward-enemy/</link><pubDate>Sun, 09 Aug 2026 23:42:00 +0330</pubDate><guid>https://omid.dev/2026/08/09/marilyn-manson-front-toward-enemy/</guid><description>&lt;p&gt;&amp;ldquo;Get up and fight! Get up and fight!&amp;rdquo;&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/Sp7cdmzpjP0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Marilyn Manson is back?&lt;/p&gt;</description></item><item><title>A Maintainable Command-Line Workspace on Linux</title><link>https://omid.dev/2026/08/03/a-maintainable-command-line-workspace-on-linux/</link><pubDate>Mon, 03 Aug 2026 14:22:00 +0330</pubDate><guid>https://omid.dev/2026/08/03/a-maintainable-command-line-workspace-on-linux/</guid><description>Build a reproducible Linux command-line workspace with portable dotfiles, terminal, shell, multiplexer, SSH, and editor layers that remain maintainable across machines.</description></item><item><title>Modern Auth Patterns for Angular Frontends (Beyond “Just Add JWT”)</title><link>https://omid.dev/2026/07/31/modern-auth-patterns-for-angular-frontends/</link><pubDate>Fri, 31 Jul 2026 00:40:00 +0330</pubDate><guid>https://omid.dev/2026/07/31/modern-auth-patterns-for-angular-frontends/</guid><description>Stop storing JWTs in localStorage. Use OIDC with a BFF or reverse proxy, short-lived server-side tokens, HttpOnly cookies, and Angular interceptors and guards that do not pretend to be your security boundary.</description></item><item><title>Why Client-Side Frameworks Need Security Updates</title><link>https://omid.dev/2026/07/29/why-client-side-frameworks-need-security-updates/</link><pubDate>Wed, 29 Jul 2026 00:41:00 +0330</pubDate><guid>https://omid.dev/2026/07/29/why-client-side-frameworks-need-security-updates/</guid><description>Browser frameworks still own sanitization, request protection, and SSR isolation. Three recent Angular CVEs show why framework patches are part of every client-side app’s security boundary.</description></item><item><title>Securing Angular PWAs in 2026</title><link>https://omid.dev/2026/07/22/securing-angular-pwas-in-2026/</link><pubDate>Wed, 22 Jul 2026 00:42:00 +0330</pubDate><guid>https://omid.dev/2026/07/22/securing-angular-pwas-in-2026/</guid><description>Security for Angular Progressive Web Apps: HTTPS and service worker scope, cache strategies that do not leak auth-dependent data, and offline sessions without raising XSS or CSRF risk.</description></item><item><title>Dependency Risk, SBOMs, and Automated Security for Angular</title><link>https://omid.dev/2026/07/18/dependency-risk-sboms-and-automated-security-for-angular/</link><pubDate>Sat, 18 Jul 2026 00:45:00 +0330</pubDate><guid>https://omid.dev/2026/07/18/dependency-risk-sboms-and-automated-security-for-angular/</guid><description>Build an SBOM and CI security pipeline for Angular monorepos: npm audit, ng update --dry-run, fail on high-severity CVEs, Dependabot/Snyk, and post summaries to Slack or Mastodon.</description></item><item><title>Content Security Policy (CSP) and Angular: Practical Patterns</title><link>https://omid.dev/2026/07/15/csp-and-angular-practical-patterns/</link><pubDate>Wed, 15 Jul 2026 00:50:00 +0330</pubDate><guid>https://omid.dev/2026/07/15/csp-and-angular-practical-patterns/</guid><description>Ship CSP for Angular without breaking the build: report-only first, nonces via autoCsp or ngCspNonce, nginx/Apache/Cloudflare headers, and a small scanner for inline handlers, eval, and other footguns.</description></item><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>Uses</title><link>https://omid.dev/uses/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://omid.dev/uses/</guid><description>A list of the hardware, software, and tools I use on a daily basis.</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>Privacy Policy</title><link>https://omid.dev/privacy-policy/</link><pubDate>Wed, 17 Jun 2026 17:57:10 +0330</pubDate><guid>https://omid.dev/privacy-policy/</guid><description>How omid.dev handles analytics, the contact form, webmentions, and other privacy-related features.</description></item></channel></rss>