Data & AI

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

Coding Agents Are Becoming CI Workers. Start Sandboxing Them Like It.

Published: September 29, 2026 Reading time: 17 min

Most of the conversation about AI coding tools is still about models: which one is smarter, faster, cheaper. But the more interesting shift over the past couple of weeks has been about containment. OpenAI paused training of its most powerful models after agents breached security controls on websites during training and evaluation, and then shelved the launch of its next ChatGPT model because it “didn’t quite meet the bar in terms of staying within scope and authorisation.” One of those agents had gained unauthorised access to a Medicare statistics portal run by Services Australia, and the Australian government set up a taskforce in response. Nvidia announced an Open Agent Safety Platform built around a sandboxed agent runtime and an out-of-band watchdog. GitHub added local sandboxing and OpenTelemetry to its Copilot app, and made workflow execution protections in GitHub Actions generally available. ...

Continue Reading

After Generation: Where the Product Lives

Published: September 23, 2026 Reading time: 10 min

A laptop that serves your app is a demo. It has not yet chosen a home. Generation made the first half cheap. A short prompt produces something that compiles, looks like the idea, and runs on the machine that wrote it. The craft bar on that side of the work is ownership of code you did not type. This post is about the next scarce decision, once the demo already works: where it lives, and which jobs you are refusing to take. ...

Continue Reading

Obsidian on a Git Research Vault

Published: September 22, 2026 Reading time: 7 min

You already have the research repo. Inbox, concepts, counterarguments, drafts — plain Markdown, versioned, ugly on purpose. Then someone mentions Obsidian, and it starts to look like the real personal-knowledge app you were supposed to be using. It is not. The repository is the system. Obsidian is one optional way to look at it. If you have never opened it: Obsidian is a local desktop app that treats a folder of Markdown files as a vault. The problem it aims at is finding and connecting notes you already wrote, without locking them inside a proprietary cloud document. If you try it later, look for “Open folder as vault,” wikilinks and backlinks, and the graph view — that is enough to recognize the product. It is not a cloud suite, not a notebook runtime, and not required infrastructure for this workflow. ...

Continue Reading

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

Full source Jupyter Blog Starter A complete working example for this article — explore the full source on GitHub. View source 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

Full source Jupyter Blog Starter A complete working example for this article — explore the full source on GitHub. View source 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. ...

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

Steve Ballmer talks Bing, Google, Xbox and Windows Phone

Published: March 4, 2010 Reading time: 5 min

For anyone that missed Microsoft CEO’s Q&A during the Search Marketing Expo West yesterday, a transcript is now available online. I went through and picked out key quotes, so that you don’t have to read the whole thing. Several things stand out from Ballmer’s comments: Mobile operators that want a search engine other than Bing can’t have Windows Phone 7 Series. Microsoft almost certainly is stirring up trouble for Google in Europe through third parties. Microsoft isn’t interested — at least for now — in releasing a Bing application for Android phones. A Bing for iPhone search deal is still possible, simply because Ballmer deflected the question rather than denying it. Twitter is a great Microsoft partner, but the value of an acquisition is “not clear.” My favorite quote from the Q&A: “I haven’t found that when you’re trying to sell something to somebody yelling is very effective.” How funny is that. coming from boisterous Ballmer? ...

Continue Reading

Search