Coding locally (FuseFS for the mbed compiler)

08 Dec 2009

I'm confident I can write a ruby application that would be able to give filesystem access to the mbed compiler cloud. I have a proof-of-concept application on github and if anyone is prepared to share how the cloud stores the code etc I can make this into a working application!

I plan to map the filesystem out like this:

The 'compile' directories would send a request to mbed.org to compile the application when it was opened, and the binary file would appear inside the folder if the build was sucessful. The build output would be available in the build.log file.

 

What do you think? Is anyone official prepared to say if accessing your cloud in this manner would be allowed?

08 Dec 2009

 

JP Hastings-Spital wrote:
What do you think? Is anyone official prepared to say if accessing your cloud in this manner would be allowed?

It isn't allowed at the moment, but we've toyed with the idea of a proper API if interest arose.

 

08 Dec 2009

Hi JP,

Great idea,

This is actually something we've discussed at some length here at mbed already.

A Fuse powered filesystem would be great, as it would allow us to provide the 'appearance' of a filesystem but with the ability to make it secure and apply the same naming restrictions and other behaviours as the online IDE.

What we'd probably do though is present it as a WebDAV filesystem which almost any client PC can mount, instead of them having to run any fuse related code locally. And things like compiling would more likely work via an HTTP API rather than by accessing 'magic' folders. That way the output and so on can be properly returned.

The truth is that it's easy to just export a workspace as WebDAV, but harder to do right and securely, which is why it hasn't happened yet.

At the moment, this isn't on the roadmap yet at any particular point in time, but if enough people want it to happen, that may change!

Dan

08 Dec 2009

Thanks for your quick reply Simon!

Its a shame, but I can see why its not allowed. Good job I asked, I was about to start reverse engineering your javascript (very nice btw) -- I'll save myself the hassle :P

Consider my interest arisen! I know developing an API is a lot more work than just my voice can justify, but I'm sure you can see the benefit of people being able to work in their prefered editors.

If you'd like an example of FuseFS being used in a commerical environment have a look at http://getdropbox.com - the software client uses fuse to mount their cloud storage to the local filesystem, much in the same way a future mbed application could.

23 Dec 2009

Dan, there's something else I forgot to mention as to why Fuse might be a good idea (even though it would require an install, where WebDAV wouldn't) - a Fuse filesystem could be programmed to keep a local copy in sync with your cloud, thereby allowing offline coding at the same time.

This also alleviates the problem of slow connections - if you try to save to a webDAV while using a mobile connection the save itself takes a very long time (sometimes hanging the saving application/Finder/Explorer) if the save is done to the local filesystem and the FuseFS takes care of the syncing behind the scenes I think it'd be infinitely better. These days I knee-jerk quicksave everytime I pause for thought while I code, an overly long save would irritate me no end!

I'd be interested to hear your/other people's opinions (I know many don't like additional installs that run in the background, taking a perma-slice of RAM). In the meanwhile, happy holidays and have fun!

30 Nov 2010

+1

I also would like to be able to code in my favourite IDE and synchronize the cloud with my local code base. This would allow me to continue coding even in environments where I don't have Internet access (yes, those still exists over here, in Belgium ;-) ).

And I agree with the technological choice: WebDAV is most probably available for all platforms while Fuse is only for Unix based. And Fuse can probably do WebDAV access.