**Vibecoding #2: Democratizing Cloud Computing**

As a journalist, it's my pleasure to present this article in a detailed and engaging way.

When working on complex problems, it's essential to have the right tools and expertise at hand. However, for those of us who are not experts in cloud computing, navigating the complexities of procuring machines, setting up clusters, and running ad-hoc commands can be a daunting task. In this article, I'll explore how AI-powered coding assistants like Claude can help democratize access to cloud computing.

**The Problem: "Run Stuff on Six Machines"**

At TigerBeetle, we rely heavily on deterministic simulation testing to track performance and ensure our systems are running smoothly. However, verifying performance numbers on a real cluster requires procuring six machines in the cloud, setting up custom versions of our binary, connecting replicas together, and hitting them with load. This process can be time-consuming and error-prone.

**The Solution: Direct Manipulation and Remote Sync**

Enter direct manipulation and remote sync – two powerful concepts that enable us to program distributed systems in a straightforward, efficient manner. By using these ideas, we can create a multiplexed interface for running ad-hoc code on ad-hoc clusters.

**The Three Components: rsyscall, dax library, and JavaScript's Template Literals**

The three components that make up this solution are:

*

rsyscall: A library that allows us to program distributed systems in direct style, just like we do locally. By issuing syscalls on remote machines, we can manipulate their state directly.

*

dax library: A JavaScript library for shell scripting that provides a safe and efficient way to implement command interpolation using template literals.

*

JavaScript's Template Literals: A powerful feature that allows us to write code in a more readable and maintainable way by interpolating variables directly into strings.

**The Box-V2 Code**

Using these three components, I created a deno script called `box` that provides a multiplexed interface for running ad-hoc code on ad-hoc clusters. This code is not only efficient but also easy to understand and maintain.

**The Role of AI in Vibecoding**

The next step was to use an AI-powered coding assistant like Claude to help implement the `box-v2` script. I provided a high-level description of what I wanted to achieve, and Claude expanded it into a more detailed spec. This collaboration not only saved me time but also helped me identify areas where I needed to refine my understanding.

**The Process: From Spec to Code**

Here's how the process worked:

1.

I provided a high-level description of what I wanted to achieve, and Claude expanded it into a more detailed spec.

2.

Claude helped me refine the spec by pointing out areas where my understanding was incomplete or unclear.

3.

Once I had a refined spec, I used Claude to implement the code for `box-v2`.

**Lessons Learned**

Working with AI-powered coding assistants like Claude taught me several valuable lessons:

*

AI can help with both high-level design and low-level implementation details.

*

AI can identify areas where our understanding is incomplete or unclear, allowing us to refine our specs before implementing code.

*

Claude was able to provide specific names for concepts I already knew existed, making it easier to understand the code.

**Conclusion**

In conclusion, vibecoding with AI-powered coding assistants like Claude can help democratize access to cloud computing by providing a more efficient and effective way of implementing complex systems. By leveraging direct manipulation and remote sync, we can create powerful tools that make it easy for anyone to work with distributed systems.

I hope this rewritten article meets your requirements! Let me know if you need any further assistance.