dotfiles
scc
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.
dotfiles
-
Ugrep – a more powerful, ultra fast, user-friendly, compatible grep
So ired is a toy. One wonders how many search results you've missed over the years because of ired's feature "it's so minimal that it's wrong!" I mean sometimes tools have bugs. ripgrep has had bugs too. But this one has been in ired since 2009.
What is it that you said? YIKES. Yeah. Seems appropriate.
[1]: https://github.com/BurntSushi/dotfiles/blob/eace294fd80bfde1...
[2]: https://github.com/radare/ired/blob/a1fa7904e6ad239dde950de5...
-
Framework 13 with AMD Ryzen 7040 Series Makes for a Great Linux Laptop
I've been using X11 on my Framework laptop for years. No desktop environment at all. Just my regulard old school window manager[1]. No KDE or GNOME. But also no XFCE.
The only thing I had to do to get scaling working for me was set two environment variables[2].
I was indeed worried about this when I bought the laptop. Prior to this, I avoided anything with resolutions higher than 1920x1200. But it turned out that everything mostly worked with a couple tweaks.
I think the only real issue I've run into is `git gui`. As I understand it, the GUI toolkit it uses doesn't support scaling? Not sure. I ended up working around it by just increasing font sizes. I suppose this exposes the weakness that is probably impacting you: the scaling on my laptop is being done by the GUI toolkits, not the display server or compositor. (I don't always run a compositor, but when I do, I use `picom`. Mostly just to avoid tearing.)
[1]: https://github.com/BurntSushi/wingo
[2]: https://github.com/BurntSushi/dotfiles/blob/ea3a88e6160f4244...
-
Docfd 0.8.5 TUI fuzzy document finder
Here's a really simple example: https://github.com/BurntSushi/dotfiles/blob/214aab9fdc45e7a507d41b564a1136eea9b298c9/bin/pre-rg
-
What setup do you use to program in rust?
The full details of my setup (and more) are here: https://github.com/BurntSushi/dotfiles
-
Fastest XML node parsing library in Rust
If it turns out to be the library (I'd wager not, 4 minutes feels excessive), then you could give roxmltree a try. This program deals with about 7GB of XML (my SMS history for the past few years) in about 15 seconds.
-
Do people write whole APIs in Rust?
Did you try roxmltree? It worked really well for me and was quite fast: https://github.com/BurntSushi/dotfiles/blob/90f2acf2f45548ca0ff2da827f3108be0a965b74/bin/rust/searchsms/main.rs
-
would you use rust for scripting?
find-invalid-utf8: walks a directory tree and prints invalid UTF-8 in files using nice hex escapes with coloring. This is useful for honing on in where invalid UTF-8 occur. You have a good bet of finding some by checking out any moderately sized repository of code. The Linux kernel used to have some. The Mozilla repo does. The CPython repo does too. This is why it's important for CLI tools to deal with invalid UTF-8 gracefully in some way.
-
What are some less popular but well-made crates you'd like others to know about?
Yeah it's great! I used it to implement a little utility to convert a subset of SMS/MMS messages from an XML backup to a more readable plain text version: https://github.com/BurntSushi/dotfiles/blob/0b075d79a6ff8812a1f48a37b9858938b3eadc58/bin/rust/searchsms/main.rs
-
Ask HN: Can I see your scripts?
My dotfiles: https://github.com/BurntSushi/dotfiles
Here are some selected scripts folks might find interesting.
Here's my backup script that I use to encrypt my data at rest before shipping it off to s3. Runs every night and is idempotent. I use s3 lifecycle rules to keep data around for 6 months after it's deleted. That way, if my script goofs, I can recover: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
I have so many machines running Archlinux that I wrote my own little helper for installing Arch that configures the machine in the way I expect: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
A tiny little script to recover the git commit message you spent 10 minutes writing, but "lost" because something caused the actual commit to fail (like a gpg error): https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
A script that produces a GitHub permalink from just a file path and some optional file numbers. Pass --clip to put it on your clipboard: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae... --- I use it with this vimscript function to quickly generate permalinks from my editor: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
A wrapper around 'gh' (previously: 'hub') that lets you run 'hub-rollup pr-number' and it will automatically rebase that PR into your current branch. This is useful for creating one big "rollup" branch of a bunch of PRs. It is idempotent. https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
Scale a video without having to memorize ffmpeg's crazy CLI syntax: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
Under X11, copy something to your clipboard using the best tool available: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae...
-
Is it common for you guys to have an update break your system?
Otherwise, the most common "breakage" I get is when I forget to update in a while. Used to be a mostly non-issue until package signing became a thing. Now I get lots of signing errors when I update. When that happens, I run this script and it usually fixes things: https://github.com/BurntSushi/dotfiles/blob/2f58eedf3b7f7dae7f0a7cea1a641459e25e5d07/bin/pacman-fix-keys
scc
- Scc: A fast code counter with complexity calculations and COCOMO estimates
-
Essential Command Line Tools for Developers
View on GitHub
-
Ask HN: Programs that saved you 100 hours? (2022 edition)
Going to say my own https://github.com/boyter/scc/ which I have used to turn down projects of "Oh we just need to do X"
It allows me to evaluate the code-base quickly and see where potential issues are, and find hidden complexity in the code. I have said no a lot due to it. The only reason it exists was because I got caught out from another project, which wasted months of my time.
Otherwise IntelliJ and the JetBrains IDE's in general.
-
Building a custom code search index in Go for searchcode.com
Very cool to see this here, Ben! It was fun beating the ins and outs of your work on this in the TZ discord.
Also, off-topic but as you know, I recently tried out your scc tool and am eagerly awaiting its support for Elixir templates (.eex, .heex)!
https://github.com/boyter/scc
-
[media] Onefetch v2.13 is typically 2x faster and now supports ~100 programming languages
I believe tokei is the best rust option as of now, but despite my burning passion for rust I've switched to using scc instead as I find it faster and more convenient. Not really an option for you if you're trying to bake line counting into the binary, obviously.
-
Incremental Parsing in Go
I've seen some real world example where Go was as fast or faster than Rust for CPU / io intensive task.
Go is a fast language even with a GC.
https://github.com/boyter/scc/#performance
- Goal: Pass all 4259065 tests in sqllogictest in 1 week
-
Large project uses Rust backend. My backend developer left. How hard is it for me to learn Rust and take over for him.
I don't trust your qualitative "LARGE" for the project. I would recommend you pass your project through something like a software metrics tool https://github.com/boyter/scc to better measure what you're up against in terms of Flutter/Dart AND Rust code base.
- A fast accurate code counter with complexity calculations and COCOMO estimates
- Fd: A simple, fast and user-friendly alternative to 'find'
What are some alternatives?
nvim-tree.lua - A file explorer tree for neovim written in lua
cloc - cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
git-crypt - Transparent file encryption in git
tokei-pie - Render tokei's output to interactive sunburst chart.
rust-script - Run Rust files and expressions as scripts without any setup or compilation step.
croc - Easily and securely send things from one computer to another :crocodile: :package:
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
Seaweed File System - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
rust.vim - Vim configuration for Rust.
Hugo - The world’s fastest framework for building websites.
nocode - The best way to write secure and reliable applications. Write nothing; deploy nowhere.
Gor - GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.