Hacker News new | past | comments | ask | show | jobs | submit login
Outrun lets you execute a local command using the power of another Linux machine (github.com/overv)
49 points by kqr2 on Aug 15, 2020 | hide | past | favorite | 11 comments



A program that let remote machine mount the entire filesystem of local machine, then chroot it to execute the command on the remote machine.

It implemented a FUSE-based network filesystem intended for ad-hoc use just for this, with some obvious optimization for loading all dependency at once.

As the result, remote machine need no preparation other than ssh access.

It's... interesting.


Yep, I built something like this a few years back to run bioinformatics scripts on my laptop on my HP server in a closet.

It's very easy to setup with a very minimal code.


Oh, that's really clever. I've occasionally wanted something like this, but never saw a good way to make sure all the necessary files were on the server. A purpose-built FUSE filesystem is a really nice solution.


I like the fact that video encoding is specifically mentioned as a use case. In my case using the same laptop for both software compiling and video encoding at the same time can really slow things down to a crawl.

I will be trying this with a spare laptop which has a broken screen, hopefully it can increase productivity for me.


Is this a joke ? I thought it was going to be a post about Nix

Mounting a FUSE filesystem to get around the FHS in Linux is so astounding when there's a project (Nix) seeking to make proper strides here.

Everyone who reads this post please please go checkout Nix (NixOS.org)


I played around with Nix (not NixOS) a bit. First I tried to use it for managing python dependencies, but that didn't work out properly because some of the python modules i needed were only available on APT.

Then i tried to use it for managing different compiler versions. It was super easy to install GCC in many versions, but then come compiler time I couldn't compile anything because some libraries (that are not in my power to change) used hard coded absolute paths to standard library dependencies, that would in turn include incompatible files from the compiler.

So in essence I would have liked a replacement for Docker, but the issue is I couldn't get the Nix way of doing things to interoperate with the non PyPi Python World, or existing libraries.

This isn't quite the fault of Nix, just that I couldn't use it in a bit more complex real world scenarios.


You might also check out Guix. It has a mechanism for inspecting a third-party package archive like PyPi and generating a Guix package definition from it.


Although I personally prefer Guix, I too would like to be able to quickly and transparently replicate an environment on a remote machine and run a program there. But then there is still the problem of the input and output files, so the FUSE filesystem is still a really great idea. I think we could use outrun as a basis for such a tool, since it solves most of the problem already.


This could be interesting when combined with Plex or similar


Love the concept, would be interested to see this implemented with docker vs python/pip


Forgive me if this is obvious, but why? Python is ubiquitous and supported on just about every platform, including my jailbroken iDevices.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: