habitat
coreutils
Our great sponsors
habitat | coreutils | |
---|---|---|
4 | 110 | |
2,445 | 14,249 | |
0.5% | 8.4% | |
9.8 | 9.7 | |
7 days ago | 7 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
habitat
-
42 Companies using Rust in production
And many more such as Scaleway, Oxide, Fuchsia, MeiliSearch, Vector, embark, Chef, BBC...
-
Is there an infrastructure as code project written in Rust?
https://github.com/habitat-sh/habitat written by Chef devs
- Why are there no descent Go or Rust alternatived to Ansible?
-
Object-Oriented Entity-Component-System Design
Personal anecdote: Habitat was developed as a sort of application deployment / configuration management tool in Rust, and the architecture there is roughly equivalent to an ECS. I found it a joy to work with and work on. Not sure if it's fundamentally a better software pattern, but it at least meshes with my brain better than how most OO-style software is laid out.
coreutils
- Tree(1) in Zig
-
Rust is ugly, doesn’t even let you write simple data structures, unsafe rust is not even defined, makes the simplest things so hard to write and did I mention it’s ugly?
Ah yes, std, that famous crate that is unusable for systems programming. God forbid anyone do any "systems" programming that uses std.
-
GitHub - dcantrell/bsdutils: Alternative to GNU coreutils using software from FreeBSD
I suppose there's some merit in having another option. But I also immediately thought why not just contribute to https://github.com/uutils/coreutils.
I like the idea but I think that https://github.com/uutils/coreutils likely is the better option going forward if you want to avoid GNU coreutils. Writing code that works on all platforms seems better than to port from one system to another, in my opinion
-
bsdutils: Alternative to GNU coreutils using software from FreeBSD
https://github.com/uutils/coreutils
MIT license
I think you’re conflating different projects.
There are projects that aim for a better user experience, with better command line interface, defaults, performance and UI. These are of course breaking changes and the programs can’t be used as drop in replacement. Some examples are
- ls => exa (https://github.com/ogham/exa)
- grep => ripgrep (https://github.com/BurntSushi/ripgrep)
- cat => bat (https://github.com/sharkdp/bat)
- tree => broot (https://github.com/Canop/broot)
The person you’re replying to was speaking of a different project - uutils (https://github.com/uutils/coreutils). These are drop in replacements with identical interfaces (modulo bugs).
-
GCC gets a new frontend for Rust
LLVM, while open source, is not at all GPL or a GNU project. Regardless of what you might think of the guy personally, history has by now clearly proven RMS right on certain points over and over again - so having a GNUish rust toolchain suddenly makes rust a whole lot more attractive for use for some people. Consider the fact there's a maturing coreutils rust replacement now. Coreutils may not be high profile, but is rather important, like its name might suggest. Rust has clear advantages over C and C++ on some axes at the level of systems tools - but, see, now even if such rust-ified rewrite stuff starts "winning", it can all be built by GNU's official compiler GCC, and GNU projects can themselves use rust etc.
-
We will always survive
that comes preinstalled too, as of Windows 10 build 1803 according to people online. and i was referring to alternate coreutils impls such as uutils/coreutils. also, cygwin is still a thing.
-
Reimplementing the Coreutils in a modern language (Rust)
I don’t think it was accidental. There’s a long thread in the uutils repo with a discussion (slash flame war) about the license choice: https://github.com/uutils/coreutils/issues/834
Link to the actual implementation: https://github.com/uutils/coreutils
I love these re-implementations of things. Technology advances by the continued reinvention of the wheel, and even if some efforts end up being of merely didactic interest, it is still important to make them. Coreutils is one of the pillars of our civilization, and thus it should be re-implemented several times on many programming languages.
Looking at the source code, it is impressive that this re-implementation is essentially complete! Look at this: https://github.com/uutils/coreutils/tree/main/src/uu It's only missing some obscure and fringe things.
An important feature of GNU coreutils is, somewhat sadly, not reproduced by this re-implementation: the copyleft license of the original implementation. This takes out some freedom of the users. For example, If I use GNU "ls", I know that I can always look at its source code and change it to my whim (or hire a programmer to change it for me). However, if I use uutils "ls", this is not necessarily the case, for it may be a re-distribution by some middle-men that has modified it slightly and does not provide the source code. I suppose that the removal of this freedom is accidental, because it was a nice thing.
What are some alternatives?
exa - A modern replacement for ‘ls’.
woodpecker - Drill is an HTTP load testing application written in Rust
tokei - Count your code, quickly.
watchexec - Executes commands in response to file modifications
rust - Empowering everyone to build reliable and efficient software.
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
skim - Fuzzy Finder in rust!
Debian Repository Builder - A project for automatically generating and maintaining Debian repositories from a TOML spec.
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
tv-renamer - Mirror of https://gitlab.com/mmstick/tv-renamer
rust - Rust language bindings for TensorFlow