Urgent.News

What's breaking now, across thousands of outlets.

Tech

Can You Vibe Code an OS Without Lying to Yourself?

I have no idea what I'm f*cking doing. Something I have been chewing on: I am using AI agents to help build an operating system. And I genuinely cannot tell you yet whether that is a good idea. That is not false modesty. It is the actual state of things. ShrekOS is real. It boots, it updates itself, it isolates agents. But a large amount of it was implemented by agents working against an…

I am currently experimenting with AI agents to assist in the development of an operating system named ShrekOS. The initial results are uncertain, as I am not entirely confident in my understanding of every line of code generated by these agents. ShrekOS currently boots, updates itself, and isolates agents, but a significant portion of its implementation is the result of agents working within a framework I defined.

Every component of an operating system plays a critical role and failure in any of these areas can lead to a machine that either cannot boot or, worse, functions incorrectly without the system administrator noticing. This is especially true for components responsible for trust, permissions, networking, updates, rollback, hardware support, sandboxing, persistence, installer behavior, kernel assumptions, and hardware support.

A mistake in any of these areas can have catastrophic consequences, making it clear that vibe coding a simple application is acceptable, but vibe coding an operating system is a different matter entirely.

The question is not whether AI can generate an operating system, but rather at what point does vibe coding stop being a productivity boost and start being irresponsible due to the foundational nature of the system being developed. I am skeptical about the notion that AI-generated code can be blindly trusted, as it may lack the necessary understanding and auditability that human developers can provide.

While abstraction and tooling have historically allowed for successful OS development, the complexity introduced by AI-generated code may surpass the ability of even the most seasoned engineers to fully audit and ensure correctness.

However, the counterargument is that no one can fully understand an entire modern OS stack, and real engineering has always relied on abstraction and trusting layers they did not write. An operating system is just a larger-scale example of this, and relying on invariants, test suites, signatures, isolation, and threat models can help mitigate the risks associated with AI-generated code.

The real challenge lies in establishing robust proof mechanisms to ensure that the AI-generated components behave as expected, even if the underlying code is not fully comprehensible.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I Measured 27,257 MCP Connections. The p90 Session Waits 35s.

In July I wrote a 56-line shell script called mcp-optional whose entire job was to remove two MCP servers from my config. Not fix them. Remove them.

  • Developer created mcp-optional script to disable problematic stdio servers
  • Measured 27,257 successful MCP connections over 35 days
  • p90 session wait time of 35 seconds identified as major performance issue

How to Tailor a Resume to a Job Description in 20 Minutes

Most advice on this stops at "find the keywords and put them in," which is true, useless, and the reason people either burn an evening per application or give up and send the same file to everything.

  • Identify five key aspects of the job posting to tailor resume for (5 minutes)
  • Adjust summary, skills list, top 3 role bullets, and section order in 20 minutes
  • Rewrite top bullets using exact posting language while keeping facts unchanged

A Green Local Test Can Hide a Broken Project Graph

“The tests pass on my machine” is often treated as a testing problem. Sometimes it is really a dependency-graph problem. Consider a browser application that contains a small deterministic rule: given…

  • Local tests pass but CI fails due to build contract differences.
  • Test project imports application head, bringing build graphs and property-sensitive behavior.
  • Refactor by moving rule to neutral library for both application and test project.

More from Wednesday 16 September →