RSSAmplifier

Blog

Home on Omid Farhang

Recent content in Home on Omid Farhang

omid.devRSS feed ↗19 posts

Latest posts

The Frontend Is a Privileged System Now

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.

The AUR Is Frozen: Inside Arch's Third Supply-Chain Attack Wave

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.

Marilyn Manson – Front Toward Enemy

“Get up and fight! Get up and fight!” Marilyn Manson is back?

A Maintainable Command-Line Workspace on Linux

Build a reproducible Linux command-line workspace with portable dotfiles, terminal, shell, multiplexer, SSH, and editor layers that remain maintainable across machines.

Modern Auth Patterns for Angular Frontends (Beyond “Just Add JWT”)

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.

Why Client-Side Frameworks Need Security Updates

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.

Securing Angular PWAs in 2026

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.

Dependency Risk, SBOMs, and Automated Security for Angular

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.

Content Security Policy (CSP) and Angular: Practical Patterns

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.

TypeScript 7 Is Here: Fast, Exciting, and Worth Watching

TypeScript 7'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.

Uses

A list of the hardware, software, and tools I use on a daily basis.

Local AI on Manjaro: Ollama, Aider, and Cline Without Another Subscription

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.

How to Stretch Cursor Pro Further: A Split AI Workflow

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.

After the Zoom-Out: A Playbook for Staying Current Without Burning Out

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.

Privacy Policy

How omid.dev handles analytics, the contact form, webmentions, and other privacy-related features.

Terms of Use

Terms for using omid.dev, its content, contact form, and discussion features.

How I Learned My Linux Machine Has Been Compressing Memory for Years Without Me Knowing

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.

Teaching with Bio-Dynamics: 15-Minute Lab Sessions

Step-by-step classroom paths for the Bio-Dynamics microbiome sandbox — allergy barrier defense, Candida pH balance, and the pre/pro/postbiotic lifecycle.

i18n, a11y, and Shareable Lab State in the Browser

How Bio-Dynamics supports English, German, and Persian, keeps keyboard and screen-reader paths usable, and encodes lab checkpoints in the URL.