bitvec
alacritty
Our great sponsors
bitvec | alacritty | |
---|---|---|
17 | 352 | |
1,138 | 52,767 | |
1.5% | 2.4% | |
0.0 | 9.2 | |
11 days ago | 6 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
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.
bitvec
-
bitcode 0.4 release - binary serialization format
I was also under the false impression that bitwise encoding was slow. When I first implemented bitcode with bitvec I got performance 20x worse than bincode. After writing my own implementation I was able to get much better performance.
-
An optimized replacement of the infamous std::vector<🅱️ool>
interesting; i'll have to compare this to my rust counterpart. your numbers indicate some clever implementations i'd love to read
-
You need to stop idolizing programming languages.
Not to mention having a lackluster std which causes you to use nonstardard not so well documented crates and a 40K LoC library to do "bit-twiddling" (the lib, https://github.com/bitvecto-rs/bitvec the blog that says "twiddle bits" https://blog.adamchalmers.com/making-a-dns-client/ and for crying out loud the blogger also used the language the author mentioned and I quote "ergonomics AND speed AND correctness")
- bit-twiddling tricks. It's the perfect example of Rust's no-compromises "ergonomics AND speed AND correctness" ideals
-
An Armful of CHERIs: Memory Safety in the processor. Do we still need safe languages with CHERI?
https://github.com/bitvecto-rs/bitvec/issues/135 is a very funny read about how to perform inttoptr with provenance retention
-
bitvec 1.0.0 Released
Technically #135 gives me license to yank affected crates, but since the only exploit is "Miri crashes exactly one test out of the suite" it's not really worth it to be a stickler. Call it a truce
-
What are some creative/advanced uses of macro_rules?
My friend Nika wrote a macro that packs a sequence of 1, 0, … tokens into a correctly structured bit-buffer, adaptable over any register type or bit-ordering, at compile time. It's now basically this whole file
-
Where do I document a published crate?
if you are interested in a user manual, you can use mdbook as well. for an example, my bitvec project uses mdbook (book.toml) and a github action (.github/workflows/gh-pages.yml) to compile the guide and host it as a github pages website. it's slightly more complicated, and i'd like docs.rs to follow hexdoc.pm's example of hosting both api docs and prose, but until then this is a pretty reasonable solution.
-
Idiomatic Way to Validate Struct Field Values
the first one
-
When and how to use traits?
i would browse the standard library, tower, nom, or my own bitvec to see layout and trait/record separation. in particular, std::io and std::net may be of use: io::Read and io::Write are pervasive examples of implementing unixy file-descriptor-like behavior in the type system
alacritty
-
Terminal Latency
It's opinionated, which comes with upsides and downsides. I won't blame the maintainer to keep things focused, feature creep (even for worthy features) can kill a FOSS project.
Another example is sixel support, there's a fork where it all works but is not sufficiently "proven" (code quality just as well as sixel being the best fit for the problem)
https://github.com/alacritty/alacritty/pull/4763#issuecommen...
It may be annoying but I get the reasoning, and there are other terminals.
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
alacritty (Linux, Macos & Windows)
- Alacritty: A cross-platform, OpenGL terminal emulator
-
Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
> Ligatures: ok, nice, possible in terms too (hopefully Alacritty one day)
I wouldn't hold my breath. Seems like its getting the iPad calculator treatment[0]. Which is to say rather than ship something working that can be improved, they're leaving a UX void.
[0] https://github.com/alacritty/alacritty/issues/50
-
I Just Wanted Emacs to Look Nice – Using 24-Bit Color in Terminals
IME, this is like the golden age of terminal apps in general and macOS-compatible ones in particular. There are several really good terminals for macOS:
[iTerm2 app](https://iterm2.com/)
[Kitty terminal](https://sw.kovidgoyal.net/kitty/)
[WezTerm terminal](https://wezfurlong.org/wezterm/index.html)
[Alacritty](https://github.com/alacritty/alacritty)
My daily driver is WezTerm…
- Runs on Linux, macOS, Windows 10 and FreeBSD
- [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](https://wezfurlong.org/wezterm/multiplexing.html)
- [Ligatures](https://github.com/tonsky/FiraCode#fira-code-monospaced-font...), Color Emoji and font fallback, with true color and [dynamic color schemes](https://wezfurlong.org/wezterm/config/appearance.html#colors).
- [Hyperlinks](https://wezfurlong.org/wezterm/hyperlinks.html)
- [Searchable Scrollback](https://wezfurlong.org/wezterm/scrollback.html) (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode)
- xterm style selection of text with mouse; paste selection via `Shift-Insert` (bracketed paste is supported!)
- SGR style mouse reporting (works in vim and tmux)
- Render underline, double-underline, italic, bold, strikethrough (most other terminal emulators do not support as many render attributes)
- Configuration via a [configuration file](https://wezfurlong.org/wezterm/config/files.html) with hot reloading
- Multiple Windows (Hotkey: `Super-N`)
- Splits/Panes (Split horizontally/vertically: `Ctrl-Shift-Alt-%` and `Ctrl-Shift-Alt-"`, move between panes: `Ctrl-Shift-ArrowKey`)
- Tabs (Hotkey: `Super-T`, next/prev: `Super-Shift-[` and `Super-Shift-]`, go-to: `Super-[1-9]`)
- [SSH client with native tabs](https://wezfurlong.org/wezterm/ssh.html)
- [Connect to serial ports for embedded/Arduino work](https://wezfurlong.org/wezterm/serial.html)
- Connect to a local multiplexer server over unix domain sockets
- Connect to a remote multiplexer using SSH or TLS over TCP/IP
- iTerm2 compatible image protocol support, and built-in [imgcat command](https://wezfurlong.org/wezterm/imgcat.html)
- Kitty graphics support
- Sixel graphics support (experimental: starting in `20200620-160318-e00b076c`)
-
alacritty-themes not working any more!!!
# We use Alacritty's default Linux config directory as our storage location here. mkdir -p ~/.config/alacritty/themes git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes
-
The Linux graphics stack in a nutshell, part 2
if by 'in the terminal' you mean 'in a program emulating an ascii terminal' then no, because ascii terminals don't support anything that looks better than ascii art. they don't support sixel either. there are a variety of proposals for how to add graphics to ascii terminal emulators in a backwards-compatible way, such as mgr and notty https://github.com/alacritty/alacritty/issues/51
but the 'terminal' that a terminal emulator is emulating is a device which provides a user access to a remote computer. normally nowadays this is a laptop or cellphone. in that case, yes, you can use x-windows, xpra, vnc, or a web browser
-
Pimp your CLI
A decent terminal application (i.e: iterm2, alacritty, etc.)
-
What GPU Accelerated terminal do you recommend for Linux
I have been having random input lags with Alacritty. Initially I thought it was my custom neovim config. After some investigation, I have found an Alacritty github issue where users are reporting the same issue: https://github.com/alacritty/alacritty/issues/6844
-
Keypress delay
Thank you for your suggestions. I have now narrow it down to my terminal emulator. Alacritty. More precisely this issue: https://github.com/alacritty/alacritty/issues/6844
What are some alternatives?
nom - Rust parser combinator framework
kitty - Cross-platform, fast, feature-rich, GPU based terminal
rfcs - RFCs for changes to Rust
wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
time - The most used Rust library for date and time handling.
Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
byteorder - Rust library for reading/writing numbers in big-endian and little-endian.
starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
tower - async fn(Request) -> Result<Response, Error>
FiraCode - Free monospaced font with programming ligatures
hardcaml - Hardcaml is an OCaml library for designing hardware.
neofetch - 🖼️ A command-line system information tool written in bash 3.2+