oxipng
fd
Our great sponsors
oxipng | fd | |
---|---|---|
6 | 81 | |
1,517 | 22,955 | |
- | - | |
5.3 | 9.1 | |
19 days ago | 1 day ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
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.
oxipng
-
Help processing massive videos (16k resolution)
Assuming your frames are PNG files, you could use a lossless optimizer like optipng to try if their size can be reduced. I prefer oxipng, which is faster and multithreaded, and seems to have more active development.
-
(Urgent) Best Image Compressor Sites That Barely Compress?
Not sure what extensions of images you use, but if they’re PNG you could use oxipng: https://github.com/shssoichiro/oxipng
-
Mitigating egress data transfer costs
For PNGs specifically oxipng is awesome. It even has Zopfli compression, which is compatible regular compression, but is ~30% smaller (but requires lots of CPU time to compute).
-
rustc performance improvement from rust 1.46 to 1.51
They do. ripgrep and fd extensively use parallelism, which is specifically enabled by Rust's safety guarantees. oxipng is also in the same boat.
-
Best PNG Optimizer Other Than TinyPNG?
PNG: oxipng SVG: svgcleaner
-
Hope I got your sympathy
Or go Commando: https://github.com/shssoichiro/oxipng
fd
-
Don't try this at home
Another reason to add node_modules to .gitignore is because tools like fd and ripgrep ignore files in .gitignore by default, useful when exploring codebases.
- A simple, fast and user-friendly alternative to ‘find’
- Fd: A simple, fast and user-friendly alternative to 'find'
-
The Rust Borrow Checker – A Deep Dive
> If you're going to do that, would you not be better saving all that time and code bloat (it's code you wrote that doesn't contribute to solving your problem) by just using a garbage collector from the outset?
I suspect a garbage collector would be pretty nice. However, I can't just list the features I want and get a language (unless I make it myself, which would take a lot of time). Currently, my imaginary perfect language would actually have a garbage collector, would be pretty similar to Standard ML, but would be more focused on arrays than lists, and would have value types --- in Standard ML I can't have a value array of records (structs in Rust/C++ parlance) --- they will be behind a pointer. And if I were to stick to the standard or make sure that my code compiles with other compilers than MLTon, then I can't even have a value array of 64-bit words, although I can have a value array of 63-bit words. This one bit may seem insignificant, but for certain algorithms it's a big complication. Powers of 2 simplify a lot of algorithms (and are "faster" to be a bit loose with the language). There are other features I'd like, but already this short list makes for a currently-non-existent language. OCaml and Haskell have similar problems to Standard ML.
At the same time Rust has great support for arrays, is expression-oriented, has sum types. Value types are the default. It generally ticks a lot of boxes I care about. I can't just go and say "now give me all that but with a GC" and have it appear before me.
Also, arenas I use are linked to logical portions of my programs. They are not contrivances that I had to think long and hard about. They don't waste my time really. I've spent 0 time thinking about how they should be organized.
Now the part where a GC would be helpful is a bit of a more liberal use of closures, and eliminating code noise coming from lifetime annotations such as "for". But I can live with the current state of affairs, if I get all the other benefits.
> If you're going to do that, would you not be better saving all that time and code bloat (it's code you wrote that doesn't contribute to solving your problem) by just using a garbage collector from the outset?
If anything, Rust is an asset for large teams of devs. Even though you may sometimes argue that a handful of C/C++ devs can keep their whole project in their heads and not make mistakes (although I think that's a stretch), the moment you get a large C/C++ team, weird hard-to-debug bugs coming from memory- and thread-safety issues start to creep in. There are other high-level languages, but Rust is the one with a combination of performance competitive with C++ and large ecosystem of libraries you can use. Examples of Rust projects with a large number of contributors facilitated by the language taking the fear of intractable bugs away:
- <https://github.com/BurntSushi/ripgrep>
- <https://github.com/clap-rs/clap>
- <https://github.com/rayon-rs/rayon>
-
prevent telescope from ignoring just some files from .gitignore?
If you are using sharkdp/fd with find_files(), I believe you can create a .fdignore file with a negated pattern to essentially "unignore" the file like so:
-
Terminate the Timeworn Terminals
fd is an easy-to-use search tool to replace find
-
fd: find but better
Link: https://github.com/sharkdp/fd
- Results from the Web for regedit
What are some alternatives?
ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
squoosh - Make images smaller using best-in-class codecs, right in the browser.
fzf - :cherry_blossom: A command-line fuzzy finder
ImageOptim - GUI image optimizer for Mac
skim - Fuzzy Finder in rust!
exa - A modern replacement for ‘ls’.
vim-grepper - :space_invader: Helps you win at grep.
sharp - High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
leftwm - LeftWM - A tiling window manager for Adventurers
vifm - Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
watchexec - Executes commands in response to file modifications