reverie
sapling
reverie | sapling | |
---|---|---|
4 | 43 | |
535 | 5,828 | |
14.0% | 1.4% | |
8.0 | 10.0 | |
14 days ago | 6 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
reverie
- Reverie – A user space system-call interception framework for Linux
-
strace feels like magic — let’s fix that (with Rust)
By the way Facebook has a nice library/system for creating neat observability tools using a small amount of rust: https://github.com/facebookexperimental/reverie.
-
Show HN: boxxy – Control where Linux programs put files, without symlinks
For a structured approach to ptrace/syscall rewriting, you could try FB's reverie. I worked on and used it during an internship a few years back; it's pretty amazing at what it does.
https://github.com/facebookexperimental/reverie
-
Deterministic Linux for Controlled Testing and Software Bug-Finding
Note that this is a follow-on project from the earlier Dettrace system, which was applied mainly to reproducible builds (as in the academic paper, https://dl.acm.org/doi/10.1145/3373376.3378519, and presented to the Debian Reproducible Builds summit):
- https://github.com/dettrace/dettrace
And one cool part of it is this Rust program instrumentation layer:
- https://github.com/facebookexperimental/reverie
It's good for building OS-emulator style projects or tracing tools.
sapling
- Monorepos: Please Don't (2019)
-
Twenty Years Is Nothing
I am personally surprised that TFA didn't mention either jj or Sapling [0] given its emphasis on how both Git and svn were both made to be backwards compatible!
[0] https://github.com/facebook/sapling
-
Jj init – getting serious about replacing Git with Jujutsu
Lots to digest here! I have been keeping an eye on Pijul so it is cool to see some of its features implemented in jj. Sapling[0], similarly, is a new VCS tool out there which can work with a git repo. It also has anonymous branches, no staging area, supports stacked commits and can track the history of a commit over time. I've been using a similar workflow to the article's author: git with a UI to handle commits of hunks of a file to group related changes. My working branch often has unrelated changes that get tossed from branch to branch as I am able to commit. I haven't figured out where these new tools fit into my workflow yet, but I am glad there's new options that will help making working on a project more flexible and organized.
[0]: https://sapling-scm.com
- Sapling – A VCS from Meta
- Sapling: A Scalable, User-Friendly Source Control System
-
Ask HN: Can we do better than Git for version control?
yep both extended it and have versions that can work against GitHub/git servers.
sapling scm from meta has I think the best cli and VS code UX https://sapling-scm.com/
jj from google is also mercurial derived with very similar cli features like histedit and has support for deferring conflict resolution https://github.com/martinvonz/jj
- Your GitHub pull request workflow is slowing you down
- Sapling – A Scalable, User-Friendly Source Control System
- Mononoke
What are some alternatives?
dettrace - A determinizing tracer using Ptrace
go-git - A highly extensible Git implementation in pure Go.
Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
nextjs-template - A bit personalized version of the `with-typescript-eslint-jest` template.
boxxy - boxxy puts bad Linux applications in a box with only their files.
FTC-for-VS-Code - A VS Code extension for accessing FTC snippets, debugger, and Android cmdline tools from a button
hermit - Hermit launches linux x86_64 programs in a special, hermetically isolated sandbox to control their execution. Hermit translates normal, nondeterministic behavior, into deterministic, repeatable behavior. This can be used for various applications, including replay-debugging, reproducible artifacts, chaos mode concurrency testing and bug analysis.
buck2-prelude - Prelude for the Buck2 project
reactide - Reactide is the first dedicated IDE for React web application development.
dulwich - Pure-Python Git implementation
autorebase - Automatically rebase all your branches onto master
jj - A Git-compatible VCS that is both simple and powerful