Data & AI

Articles about Data & AI on omid.dev — guides, topics, and notes from the field.

Essential Skills When Generation Is Cheap

Published: September 14, 2026 Reading time: 8 min

The senior frontend map did not get a new section called “AI.” The tools did. The roadmaps did. Job posts did. None of that changed what senior means: you make decisions the team will live with, and you own the result. What changed is how cheap it became to produce something that looks like that work. A first draft used to cost enough that it carried some thought. Now it does not. Fluent, compiling, plausible code is the default output of a short prompt. The scarce work moved up: deciding whether that draft should exist, whether it is working-but-wrong, and whether this was a place generation should have been invited at all. ...

Continue Reading

I Interview Frontend Hires for Other Companies

Published: September 9, 2026 Reading time: 17 min

Partner companies ask me to help hire their frontend developers. Not “sit in on the final call.” The work starts in a room with their CTO, someone from HR, and whoever currently leads the development team. I listen to what they think they need. Then I tell them who they can actually use, read the incoming resumes, choose who is worth an interview, and run the loop. I follow the same path for my own team. The difference is who lives with the result. When I hire badly for myself, I absorb it — I mentor the person, or I carry the gap in the sprint. When I hire badly for a partner, they keep the person and I keep the reputation. ...

Continue Reading

One AI Chat Is Not a Research Workspace

Published: August 29, 2026 Reading time: 9 min

I was deep in a research thread that was not going to become a weekend post. The topic started small: juniors asking an AI to format code that Prettier already owns, or to invent a debounce helper the repo already has. It got larger fast. Sometimes the person is not a developer at all — they have an idea, they paste a warning into ChatGPT, the “build” goes green, and they never learn that the message was ESLint. The software can become more sophisticated than the operator’s mental model. That is a different problem than “juniors are lazy,” and it is too big to finish in one sitting. ...

Continue Reading

Building Bio-Dynamics: An Educational 3D Microbiome Lab in the Browser

Published: June 9, 2026 Reading time: 4 min

I write a lot about Angular platforms, monorepos, and production frontends. Bio-Dynamics is different: a browser-only educational lab where you rotate a 3D body map, zoom into tissue, and run deterministic probiotic scenarios tied to health articles on omid.dev. It started for three reasons — a human one, a developer-story one, and a career one. This post is the anchor for that project. Deeper technical posts follow in a short series linked at the end. ...

Continue Reading

Angular Is Quietly Becoming AI-Tool Friendly: What MCP Server Support Changes for Real Teams

Published: May 27, 2026 Reading time: 5 min

Angular has always had a complicated relationship with tooling. People call it “heavy” when they want something lighter, but that same weight is often what helps large teams keep moving without reinventing the architecture every sprint. That is why Angular’s MCP server work in the Angular 21 cycle is more interesting than another code-generation headline. This is not just “AI can write Angular now.” AI could already write Angular, often badly. The real question is whether Angular can give AI tools enough project-aware context to stop generating outdated, half-remembered patterns. ...

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

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

Published: December 23, 2025 Reading time: 4 min

Companion resource Companion Project Explore the complete working example on GitHub. github.com/omidfarhang/example-projects/examples/jupyter-blog-starter View on GitHub 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

Companion resource Companion Project Explore the complete working example on GitHub. github.com/omidfarhang/example-projects/examples/jupyter-blog-starter View on GitHub 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. 1. Installation & Environment Management The “UV” Way (Recommended) If you haven’t tried uv yet, it’s a lightning-fast Python package manager. It makes managing Jupyter environments trivial. ...

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

Steve Ballmer Sells $1.3 Billion Worth of Microsoft Shares

Published: November 6, 2010 Reading time: 1 min

Mashable: Microsoft CEO Steve Ballmer has sold 12% of his stake in the tech giant in a transaction worth over $1.3 billion. According to a filing with the SEC, Ballmer has sold 49.3 million Microsoft shares over the last three days, bringing his total ownership to 358.9 million shares, or approximately 4.2% of the company. Essentially, he sold 12% of his shares at a price between $26 and $28. ...

Continue Reading