Skip to main content

Content about #Experience

AotokitsuruyaAotokitsuruya

How NVIDIA OpenShell Handles Network Access

Over the weekend I spent some time reading how NVIDIA’s newly released OpenShell achieves network security for its Sandbox. The Managed Agents offered by Anthropic and OpenAI have similar features, but their source code isn’t available, so all we can do is guess which techniques they might use.

What surprised me is that the OpenShell documentation lets you ask an AI questions. Without reading the source code, I was able to verify my assumptions quickly and get a rough idea of how it currently solves the Credentials problem.

AotokitsuruyaAotokitsuruya

Kobako: Why Native Filesystem Support

Kobako recently moved to v0.28.0, which reworked the design that used to depend heavily on MessagePack. It’s the first major revision since COSCUP wrapped up in August.

Still, as we head into next year’s (2027) AI applications, what capability is the Ruby ecosystem still missing? I think the answer comes back once again to the “Virtual Filesystem” I talked about with friends at RubyKaigi in Japan this April, so Kobako is about to support it as well.

AotokitsuruyaAotokitsuruya

What Disappeared After AI Started Writing Our Code?

Over the weekend, while evaluating which frontend framework Tsuzuri should move to from Stimulus, I opened the Svelte tutorial to keep the whole thing lightweight. To my surprise, it doesn’t allow copy and paste at all, so for the first time in a long while I wrote the code by hand.

After about an hour of typing it all out, I was amazed at how much Svelte achieves with such concise syntax, and it made me wonder: when AI does the implementation, can we still find surprises like this?

AotokitsuruyaAotokitsuruya

Tsuzuri: Building Another Subtitle Editor in the AI Era — Is It Reinventing the Wheel?

The subtitle tool that has impressed me most recently is What’Sub, built by the YouTuber 壹加壹. In most situations, whenever someone needs to work on video subtitles, I simply recommend it.

However, about half a year ago, when a friend asked me “Is there a way to make transcripts?” and “Can we translate those transcripts?,” there was always one precondition: “no cloud services.” That ruled out most of the options on the market.

One great thing about this era is that AI lets anyone customize tools for their own needs, and Tsuzuri was born against exactly this background.

AotokitsuruyaAotokitsuruya

Kobako: Resource Limits

In Kobako: Exchanging Memory in WebAssembly we solved the problem of Ruby and WebAssembly interacting, and gave Ruby and mruby the ability to exchange values with each other, which basically cleared up the “sandbox” problem.

Kobako’s development is still at a very early stage, though, because there are plenty of problems that only show up in real use, and one of them is the problem of “deciding how to stop.”

AotokitsuruyaAotokitsuruya

Sumitsubo: Turning Specs into a Linter

Midway through building Kobako, the question of whether the spec and the implementation were still aligned kept bothering me. Spec-Driven Development is ideal in theory, but language models are not deterministic by design, and even with a spec to refer to they still drift, or leave things out.

So Sumitsubo came together recently as a general-purpose checking tool.