<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nakadra</title>
    <description>The latest articles on DEV Community by Nakadra (@spheredevs).</description>
    <link>https://dev.to/spheredevs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3270856%2F6ce5f916-fc52-4e9c-96d1-25e6d86b54bf.png</url>
      <title>DEV Community: Nakadra</title>
      <link>https://dev.to/spheredevs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/spheredevs"/>
    <language>en</language>
    <item>
      <title>Sphere v0.2.0: Introducing a Public Hub for Shareable, Sandboxed Commands</title>
      <dc:creator>Nakadra</dc:creator>
      <pubDate>Mon, 23 Jun 2025 18:20:09 +0000</pubDate>
      <link>https://dev.to/spheredevs/sphere-v020-introducing-a-public-hub-for-shareable-sandboxed-commands-2c4d</link>
      <guid>https://dev.to/spheredevs/sphere-v020-introducing-a-public-hub-for-shareable-sandboxed-commands-2c4d</guid>
      <description>&lt;p&gt;Hey Dev Community! We're Clein, Kelly, and Ronald, the team behind Sphere.&lt;/p&gt;

&lt;p&gt;A few weeks ago, we introduced Sphere v0.1 – a Rust-based CLI tool for running commands in isolated, portable sandboxes, born out of our experiences developing on mobile with Termux in Kenya. [&lt;a href="https://dev.to/spheredevs/we-built-a-docker-alternative-in-rust-on-our-phones-in-kenya-heres-why-21c0"&gt;https://dev.to/spheredevs/we-built-a-docker-alternative-in-rust-on-our-phones-in-kenya-heres-why-21c0&lt;/a&gt;].&lt;/p&gt;

&lt;p&gt;Today, we're incredibly excited to launch &lt;strong&gt;Sphere v0.2.0&lt;/strong&gt;, which takes a giant leap forward by introducing the &lt;strong&gt;SphereHub MVP!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the SphereHub?
&lt;/h2&gt;

&lt;p&gt;Imagine a world where any script, tool, or simple utility you write can be easily shared with others, and where you can just as easily pull in tools built by the community, all with guarantees of isolation and integrity. That's the vision behind SphereHub.&lt;/p&gt;

&lt;p&gt;With v0.2.0, Sphere is no longer just a local tool. It's the beginning of an ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Publishing Your Sphere (Sharing is Caring!)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Got a cool &lt;code&gt;.sphere&lt;/code&gt; file that automates a task or provides a useful utility? You can now prepare it for the public SphereHub with our new command:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
sphere publish ./my-utility.sphere
This command doesn't directly upload (for security and moderation in this MVP stage). Instead, it:
Validates your .sphere file (ensuring it has an id).
Prompts you for metadata like author and description.
Calculates a SHA256 hash of your file's content.
Then, it gives you clear, step-by-step instructions on how to create a Pull Request to our central, GitHub-based registry: https://github.com/Nakadra/sphere-hub-registry.
Once your PR is merged, your Sphere is "live"!
2. Consuming Public Spheres (Effortless Dependencies!)
This is where the magic happens. Let's say someone published a Sphere with the ID com.community.super-formatter/v1.0.0. You can now use it in your own my-project.sphere like this:
# my-project.sphere
id = "com.me.my-project/v1"
entrypoint = "echo 'Formatting code...'; formatter my-code.txt; echo 'Done!'"

[dependencies]
formatter = "com.community.super-formatter/v1.0.0"
When you run sphere run my-project.sphere:
Sphere checks your local cache.
If com.community.super-formatter/v1.0.0 isn't there, it automatically fetches the master index from the SphereHub.
It downloads the super-formatter .sphere file.
Crucially, it verifies the downloaded file's SHA256 hash against the one listed in the Hub's index. This ensures you're running exactly what was published, with no tampering.
It caches the dependency locally and then runs your project!
Why This Matters
Simplicity: No complex package management configurations. Just list your dependency ID.
Security: Hash verification provides a strong guarantee of integrity.
Portability: Because every Sphere runs in its own sandbox, dependencies "just work."
Community: We're laying the groundwork for a rich ecosystem of reusable computational building blocks.
Try It Out!
Sphere v0.2.0 is available now on GitHub:
https://github.com/Nakadra/sphere-runtime/releases/tag/v0.2.0
The SphereHub registry is young and needs your contributions to grow:
https://github.com/Nakadra/sphere-hub-registry
We're still very early in this journey, and your feedback is more valuable than ever. What do you think of the SphereHub concept? What tools would you like to see published?
Join our Discord Server to chat with us![https://discord.gg/ZnUCaUGr]
Thanks for reading!
Clein, Kelly and Ronald
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>rust</category>
      <category>showdev</category>
      <category>opensource</category>
      <category>docker</category>
    </item>
    <item>
      <title>We Built a Docker Alternative in Rust on Our Phones in Kenya. Here's Why.</title>
      <dc:creator>Nakadra</dc:creator>
      <pubDate>Tue, 17 Jun 2025 14:14:29 +0000</pubDate>
      <link>https://dev.to/spheredevs/we-built-a-docker-alternative-in-rust-on-our-phones-in-kenya-heres-why-21c0</link>
      <guid>https://dev.to/spheredevs/we-built-a-docker-alternative-in-rust-on-our-phones-in-kenya-heres-why-21c0</guid>
      <description>&lt;p&gt;This post introduces Sphere, a new open-source computational runtime written in Rust. It's our answer to the complexity of modern software deployment.&lt;/p&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/Nakadra/sphere-runtime" rel="noopener noreferrer"&gt;https://github.com/Nakadra/sphere-runtime&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi everyone, we're Clein, Kelly, and Ronald. For the past few months, we've been working obsessively on a problem that has bothered us for our entire careers: software is too complex, and environments are too fragile.&lt;br&gt;
The endless cycle of "it works on my machine" but fails on the server, the dependency hell, the heavy machinery of tools like Docker just to run a simple script... it all felt like we were building skyscrapers with stone tools.&lt;br&gt;
We dreamed of a simpler way. A way to define a piece of work and have it run identically everywhere—from a massive cloud server to the termux terminal on the Android phone where we wrote the first lines of code for this project.&lt;br&gt;
Today, we're excited to share the first version of our solution: Sphere.&lt;br&gt;
What is Sphere?&lt;br&gt;
Sphere is a new kind of computational runtime. Instead of bundling your code with an entire operating system (like Docker), Sphere runs your code inside a fresh, pristine, minimal sandbox that is created and destroyed for every single run.&lt;br&gt;
You define a process in a simple .sphere file.&lt;br&gt;
my-script.sphere&lt;br&gt;
Generated toml&lt;/p&gt;

&lt;h1&gt;
  
  
  A simple Sphere file
&lt;/h1&gt;

&lt;p&gt;entrypoint = "echo 'Hello, from inside a perfectly isolated Sphere!'"&lt;br&gt;
Use code with caution.&lt;br&gt;
Toml&lt;br&gt;
And run it with the sphere command:&lt;br&gt;
Generated bash&lt;br&gt;
sphere my-script.sphere&lt;br&gt;
Use code with caution.&lt;br&gt;
Bash&lt;br&gt;
This seems simple, but the magic is what happens behind the scenes:&lt;br&gt;
A Sandbox is Born: A new, empty temporary directory is created.&lt;br&gt;
Execution is Contained: The entrypoint command is forced to run inside this empty directory.&lt;br&gt;
The Universe is Erased: As soon as the command finishes, the sandbox and everything in it vanishes, leaving your system completely clean.&lt;br&gt;
This guarantees perfect reproducibility and isolation.&lt;br&gt;
The Real Power: Composable Dependencies&lt;br&gt;
Where Sphere truly shines is in its ability to compose software. One Sphere can declare another as a dependency, and the runtime will automatically link them.&lt;br&gt;
Imagine a main-app.sphere that needs a tool called greeter:&lt;br&gt;
main-app.sphere&lt;br&gt;
Generated toml&lt;br&gt;
entrypoint = "echo 'Main app starting...'; greeter; echo 'Main app finished.'"&lt;/p&gt;


&lt;p&gt;[dependencies]&lt;br&gt;&lt;br&gt;
greeter = "com.util.greeter/v1"&lt;br&gt;&lt;br&gt;
Use code with caution.&lt;br&gt;&lt;br&gt;
Toml&lt;br&gt;&lt;br&gt;
The sphere runtime will find the com.util.greeter/v1 Sphere in your local cache, make its entrypoint available as the greeter command, and inject it into the sandbox. The result is a system where you can build complex applications by snapping together small, simple, and verifiable tools.&lt;br&gt;&lt;br&gt;
A Live Experiment: See the Isolation for Yourself&lt;br&gt;&lt;br&gt;
Let's prove the core value proposition. Create a file called site-builder.sphere:&lt;br&gt;&lt;br&gt;
Generated toml&lt;br&gt;&lt;br&gt;
entrypoint = """&lt;br&gt;&lt;br&gt;
echo "&lt;/p&gt;
&lt;h1&gt;Welcome!&lt;/h1&gt;" &amp;gt; index.html&lt;br&gt;&lt;br&gt;
echo "Site created. Listing files in my directory:"&lt;br&gt;&lt;br&gt;
ls&lt;br&gt;&lt;br&gt;
"""&lt;br&gt;&lt;br&gt;
Use code with caution.&lt;br&gt;&lt;br&gt;
Toml&lt;br&gt;&lt;br&gt;
Now, run it:&lt;br&gt;&lt;br&gt;
Generated bash&lt;br&gt;&lt;br&gt;
sphere site-builder.sphere&lt;br&gt;&lt;br&gt;
Use code with caution.&lt;br&gt;&lt;br&gt;
Bash&lt;br&gt;&lt;br&gt;
The output will show the index.html file being created inside the sandbox:&lt;br&gt;&lt;br&gt;
Command STDOUT&lt;br&gt;&lt;br&gt;
Generated code&lt;br&gt;&lt;br&gt;
Site created. Listing files in my directory:&lt;br&gt;&lt;br&gt;
index.html&lt;br&gt;&lt;br&gt;
Use code with caution.&lt;br&gt;&lt;br&gt;
Inside its sandbox, it successfully created index.html. But now, check your own project directory. You will find that no index.html file was created there. The builder did its job and then vanished without a trace. This is the "leave no trace" principle that makes Sphere so clean and predictable.&lt;br&gt;&lt;br&gt;
This is Just the Beginning (The Roadmap)&lt;br&gt;&lt;br&gt;
Sphere v0.1 is an MVP; a working prototype of a big idea. Our roadmap is ambitious:&lt;br&gt;&lt;br&gt;
True Security Sandboxing: Using Linux namespaces and chroot to create a truly inescapable jail for processes.&lt;br&gt;&lt;br&gt;
The SphereHub: A public, global registry to make sharing and discovering Spheres as easy as cargo install.&lt;br&gt;&lt;br&gt;
The SphereGrid: A decentralized cloud to run Spheres as a next-generation serverless platform.&lt;br&gt;&lt;br&gt;
We Need Your Help&lt;br&gt;&lt;br&gt;
We believe this is a better way to build and run software, and we want to build it in the open. Sphere is open source (MIT licensed). We are at the very beginning of a long and exciting journey.&lt;br&gt;&lt;br&gt;
Please, check out the repository, try the tool, break it, and tell us what you think. Open an issue, suggest a feature, or just say hello. We would be honored to have you join us.&lt;br&gt;&lt;br&gt;
Thank you for your time.&lt;br&gt;&lt;br&gt;
Clein Pius, Kelly Gregory, &amp;amp; Ronald Oloo&lt;br&gt;&lt;br&gt;
Link to GitHub Repository Again: &lt;a href="https://github.com/Nakadra/sphere-runtime" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://github.com/Nakadra/sphere-runtime" rel="noopener noreferrer"&gt;https://github.com/Nakadra/sphere-runtime&lt;/a&gt;

</description>
      <category>rust</category>
      <category>showdev</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
