dud
yadm
dud | yadm | |
---|---|---|
14 | 81 | |
166 | 4,792 | |
- | - | |
6.0 | 2.4 | |
5 days ago | 3 months ago | |
Go | Python | |
BSD 3-clause "New" or "Revised" License | 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.
dud
-
Ask HN: How do your ML teams version datasets and models?
I've used DVC in the past and generally liked its approach. That said, I wholeheartedly agree that it's clunky. It does a lot of things implicitly, which can make it hard to reason about. It was also extremely slow for medium-sized dataset (low 10s of GBs).
In response, I created a command-line tool that addresses these issues[0]. To reduce the comparison to an analogy: Dud : DVC :: Flask : Django.
[0]: https://github.com/kevin-hanselman/dud
-
🐂 🌾 Oxen.ai - Blazing Fast Unstructured Data Version Control, built in Rust
There is also https://github.com/kevin-hanselman/dud
- Data Version Control
-
Tup – an instrumenting file-based build system
I very much agree with you about DVC's feature creep. The other issue I have with it is speed. DVC has left me scratching my head at its sluggishness many times. Because of these factors, I've been working on an alternative that focuses on simplicity and speed[0]. My tool is often five to ten times faster than DVC[1]. I'd love to hear what you think.
[0]: https://github.com/kevin-hanselman/dud
[1]: https://kevin-hanselman.github.io/dud/benchmarks/
-
Non-Obvious Docker Uses
I don't know about replacing Make with Docker, but I use the two together to good effect. One of my favorite hacks is adding a 'docker-%' rule in my Makefile to run make commands in a Docker image[1]. It's a bit mind-bending, and there's a few gotchas, but it works surprisingly well for simple rules.
[1]: https://github.com/kevin-hanselman/dud/blob/e98de8fcdf7ad564...
-
Git-annex – Managing large files with Git
Thanks for sharing your experience. It's non-trivial and surprising behavior like this that drove me to build a custom system[0] myself. When I started researching version control tools for large files, I remember feeling like git-annex and Git LFS were awkwardly bolted onto Git; Git simply wasn't designed for large files. Then I found DVC[1], and its approach rang true for me. However, after using DVC for a year or so, I grew tired of DVC's many puzzling behaviors (most of which are outlined in the README at [0]). In the end, I built the tool I wanted for the job -- one that is exceptionally simple and fast.
[0]: https://github.com/kevin-hanselman/dud
- Alternative to Git LFS or DVC
- Show HN: A small and simple alternative to Git LFS or DVC
- Dud: a lightweight tool for versioning data alongside source code and building data pipelines.
- Dud: a tool for versioning data alongside source code. A faster and simpler alternative to DVC.
yadm
- Yadm: Yet Another Dotfiles Manager
- YADM: Yet Another Dotfiles Manager
-
Ask HN: What Underrated Open Source Project Deserves More Recognition?
Everyone hand-rolls their own dotfile management system, but YADM already does everything you need:
https://yadm.io/
- Yet Another Dotfiles Manager
- Tell HN: My Favorite Tools
-
Dotfiles Matter
I've been working around this using tools built on top of git like [yadm](https://github.com/TheLocehiliosan/yadm) and relying on `ls-files` to list all my tracked dotfiles and their paths.
Still having everything in one place would make things much simpler. Great idea!
-
System settings that aren’t in System Settings
I wonder if the program i use to manage my dotfiles could help manage your scripts and extend your setup to all your desktops? Its called yadm (https://yadm.io/) it makes it so easy to have a laptop and a desktop or two.
-
The right way to keep config files synced across devices?
I really like that one but still prefer yadm because you can just edit your files as usual and then yadm add them wherever you are.
-
Just got a new M2 Pro after my 2016 became outdated. What are your first steps to setting up a new computer?
If you haven’t already, this is the time to install a tool like yadm and get your computer configuration into version control. Your command-line tools can be managed by yadm directly, your system settings can mostly be managed with a yadm bootstrap script that runs things like defaults write, and the software you install can be managed with a Brewfile that the yadm bootstrap script uses to install software with Homebrew. Don’t manually download Xcode, use xcodes to do it.
-
System 76 Linux script to set up a new PC including the personal profile and prefered software installs
I personally use YADM. It's basically a git repo on my home folder, that only tracks what I explicitly set. And you can setup bootstraps to do what you said, install a bunch of stuff or make custom changes. In it's essence, it's a set of bash/sh files that are executed sequentially when you launch the yadm bootstrap command.
What are some alternatives?
dvc - 🦉 ML Experiments and Data Management with Git
GNU Stow - GNU Stow - mirror of savannah git repository occasionally with more bleeding-edge branches
scalar - Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer
chezmoi - Manage your dotfiles across multiple diverse machines, securely.
docker-merge - Docker images as git repositories, so you can merge them.
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
Task - A task runner / simpler Make alternative written in Go
dotbot - A tool that bootstraps your dotfiles ⚡️
oxen-release - Lightning fast data version control system for structured and unstructured machine learning datasets. We aim to make versioning datasets as easy as versioning code.
homesick - Your home directory is your castle. Don't leave your dotfiles behind.
pachyderm - Data-Centric Pipelines and Data Versioning
Ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.