Learn about how the rsync algorithm got implemented in the workspace storage syncing.
![]()
Created in 1996 by Andrew Tridgell and Paul Mackerras [official paper], the goal was to find a way to synchronize two distinct directories by limiting the amount of data transfer. The two computer scientists did some incredible work, because even 27 years later, the RSYNC algorithm remains the go-to method for efficient file transfers. Bringing this powerful algorithm into FullStacked's workspace storage syncing was a no-brainer, but implementing it came with its own set of challenges.
A special shout-out goes to Etienne Dldc [GitHub profile, X profile], whose meticulous TypeScript implementation of the RSYNC algorithm [GitHub repo] laid the foundation. Leveraging his work, I integrated additional streaming functionalities using HTTP/2 streams multiplexing [GitHub repo]. Thanks to him and the broader open-source community and movement.
FullStacked CLI now incorporates these enhancements, allowing testing and syncing without the Workspace. Once validated through the command line, the functionalities were seamlessly imported into the Workspace and voilà!
While all the client functionalities of storage syncing are embedded in the Workspace, the server functionalities are available to run from the CLI or from a Docker Image. This means you can self-host an array of Workspaces while syncing to your own single centralized Storage instance [FullStacked on Docker Hub]. For those preferring hassle-free solutions, FullStacked Cloud is already operational in America and Europe.
As an early adopter of FullStacked, your Trial period has been reset, granting you access to FullStacked Cloud until the end of 2023.
Happy Holidays 🎄
💡 For some fun coding challenges, explore FullStacked ☁️ by going through the Advent of Code 2023

For installation and usage details, visit the official website or the GitHub repository.
Show your support by giving FullStacked a ⭐️ on GitHub
https://github.com/fullstackedorg/workspace
![]()
Website | X (Twitter) | GitHub
