10 ms·
Rewriting Sysctl(8) in Rust: Systeroid
- m00dy 5y agoI can just say wow. I didn't know about Rust and its capabilities until I saw his post. Great work!
- bsaul 5y agoI'm confused.. What was the gain of using Rust in that case ? I didn't read anything about that in the post..
- Elhana 5y agoCan you name anything notable in Rust besides firefox internals off the top of your head? swhkd comes to mind in light of recent CVE series.. It looks like fans like Rust, but not many people actually want to use it, so they rewrite random stuff, so maybe others will notice it somehow and start using it.
- jodrellblank 5y ago> Several components of the Dropbox core file-storage system were written in Rust as one step in part of a larger project to pursue greater datacenter efficiency. It’s currently used by all Dropbox storage today, serving >500 million users. > Figma Our real-time multiplayer syncing server (used to edit all Figma documents) is written in Rust. > npm, Inc - Replacing C and rewriting performance-critical bottlenecks in the registry service architecture. > OVH - We used Rust to build a high performance, highly available log management system. > QCERT (Qatar's National CERT) - DNS log analysis pipeline entirely written in rust, running on top of our own Rust stream processing platform. > 1Password - We use Rust to power the entire backend (encryption, networking, database, and business logic) of all our client apps. > Fire and Emergency NZ - The New Zealand Fire Service is using a custom geolocation search engine, built in rust, that runs on embedded hardware within a fire truck to stream hazard information to a fire crew at an incident. > Deliveroo - We are using Rust to quickly make assignment decisions in our food delivery network. > System76 - As a Linux-based computer-manufacture, much of our infrastructure and desktop Linux projects are written in Rust. From hardware certification, flashing, and imaging; to system services and GTK3 desktop applications. > Canonical - Everything from server monitoring to middleware! > Cloudflare - We are using Rust as a replacement for memory-unsafe languages (particularly C) and are using it in our core edge logic. https://www.rust-lang.org/production/users https://www.rust-lang.org/production/users (that "the top of one person's head" is what defines existant vs non-existant, many wouldn't agree).
- WesolyKubeczek 5y agoI use ripgrep all the time, and it's written in Rust, although I wouldn't give a flying shit if it was written in C, Go, or C++. It's just a real solid piece of software.
- jedisct1 5y agougrep is written in C++ and is way better than ripgrep.
- jonesnc 5y agoHow is it better? I'm curious.
- WesolyKubeczek 5y agoWell, it’s quite a departure. rg builds on grep’s foundation and is a good CLI citizen, and ugrep offers a TUI and bells and whistles and a whole DSL to filter out files and run iconv on them… I’m unsure. It’s like giving me a car because I need a reading light. Would disrupt my usual workflows, while rg just displaced grep organically. I’m quite wary of jq for the reason that usually I don’t need it often enough to learn its language. That would be another piece of software like this.
- baq 5y agoif you use vscode's 'search in files' feature, you're using ripgrep.
- scns 5y agoAnother interesting project by the same author: https://blog.orhun.dev/introducing-kmon/ https://blog.orhun.dev/introducing-kmon/
- sayanarijit 5y agoI find this interesting: https://blog.orhun.dev/introducing-gpg-tui https://blog.orhun.dev/introducing-gpg-tui
- gspr 5y agoSorry for picking this particular project to air my gripes – it's no worse than others. But here's something that's been annoying me a lot with Rust projects (a language and ecosystem that I love): The software lists a very small set of dependencies, but then when you actually go and take a look in Cargo.toml, it actually has a shitton of dependencies. The fact that these are "magically handled" by Cargo does not make them non-dependencies! The culture of pretending that only non-Rust deps are deps is incredibly annoying and unproductive. *Edit based on lots of replies:* Before writing a reply that starts out with assuming that my comment says anything negative about having dependencies, or having lots of them, please take a moment to consider what I'm actually saying. This post is not a critique of dependencies, nor a critique of lots of depdendencies. It's a critique of pretending that only some dependencies are dependencies.
- sayanarijit 5y agoHi, I would like to know what's wrong with a lot of dependencies? One disadvantage I know is long compile time and maybe a little larger binary size, but I don't think it's too bad.
- heinrichhartman 5y agoWith every dependency, you are allowing a 3rd party to inject code into your project. This can end badly e.g. #leftpad - https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/ https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how...
- samhw 5y agoYou're doing that by running the guy's project in the first place, even if it had no dependencies whatever. I'm tired of this being brought up like it's specific to some NPM package or some guy's Rust project. Sorry, but running code you didn't write yourself is a fact of life to whose risk you will have to reconcile yourself, if you want to benefit from an extraordinary patrimony of code that no one person could write in a million years.
- deleted 5y ago[deleted]
- ape4 5y agoNot to be confused with `systemctl` which is totally different ;)
- throwaway894345 5y agoDang, my morning brain definitely thought this was a rewrite of systemctl.
- stormbrew 5y agoI wish systemctl were 6 characters or less. Having to type it over and over and over again when doing some sysadmin-y task gets really annoying.
- qbasic_forever 5y agoJust make an alias in your bachrc.
- ape4 5y agoWindows has `sc` which is actually short for Service Control!
- stormbrew 5y agoI use too many computers I don't control for this to be something I want to get invested in.
- BenjiWiebe 5y agoWhen I'm troubleshooting using systemctl, I make some aliases right then and there. alias r=sudo systemctl restart alias s=sudo systemctl status Or something like that. It's pretty quick to define and redefine aliases on the fly.
- stormbrew 5y agoYeah that's fair. Definitely a habit I should pick up.
- metadat 5y agoIs there a Hemorrhoid joke in this? I think I can see it.. definitely feeling one now.
- oneepic 5y agoArticle: >systeroid is "sysctl on steroids"