Standard Rust-only development environment?
A while ago I saw a video about an experiment where someone tried to use only Rust-based software for their daily work. That got me curious, so I decided to try something similar. I installed Redox OS in a virtual machine and started exploring what a “Rust-only” development environment might realistically look like.
I’m interested in learning which tools people would consider the most common or essential for such an environment—editors, build tools, debuggers, package management, etc.—ideally with links to documentation, manuals, or setup guides.
Do you think this is an interesting experiment worth trying out, or is it more of a “you’d have to be mad to try” kind of idea?
https://redd.it/1q0hd3d
@r_rust
A while ago I saw a video about an experiment where someone tried to use only Rust-based software for their daily work. That got me curious, so I decided to try something similar. I installed Redox OS in a virtual machine and started exploring what a “Rust-only” development environment might realistically look like.
I’m interested in learning which tools people would consider the most common or essential for such an environment—editors, build tools, debuggers, package management, etc.—ideally with links to documentation, manuals, or setup guides.
Do you think this is an interesting experiment worth trying out, or is it more of a “you’d have to be mad to try” kind of idea?
https://redd.it/1q0hd3d
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
[corroded update]: Rust--, now I removed the borrow checker from rust itself
You may have seen the [corroded](https://github.com/buyukakyuz/corroded) lib. I've been thinking, why bother with unsafe code while I can just remove the borrow checker from the compiler entirely?
Now possible at the language level:
* Move then use
* Multiple mutable references
* Mutable borrow then use original
* Use after move in loops
* Conflicting borrows
I've no idea where I'm going with this shit. But I think a lot of interesting stuff will pop up from this that I cannot think of at the moment.
Here is Rust-- for you, repo is [here](https://github.com/buyukakyuz/rustmm).
Happy new year. Enjoy.
https://redd.it/1q0kvn1
@r_rust
You may have seen the [corroded](https://github.com/buyukakyuz/corroded) lib. I've been thinking, why bother with unsafe code while I can just remove the borrow checker from the compiler entirely?
Now possible at the language level:
* Move then use
* Multiple mutable references
* Mutable borrow then use original
* Use after move in loops
* Conflicting borrows
I've no idea where I'm going with this shit. But I think a lot of interesting stuff will pop up from this that I cannot think of at the moment.
Here is Rust-- for you, repo is [here](https://github.com/buyukakyuz/rustmm).
Happy new year. Enjoy.
https://redd.it/1q0kvn1
@r_rust
GitHub
GitHub - buyukakyuz/corroded: Illegal rust
Illegal rust. Contribute to buyukakyuz/corroded development by creating an account on GitHub.
createlang.rs edition 1 is done!
After almost 6 years, it's done.
createlang.rs
The journey https://ehsanmkermani.com/posts/2025-12-31-createlang-rs-complete/
https://redd.it/1q0luy3
@r_rust
After almost 6 years, it's done.
createlang.rs
The journey https://ehsanmkermani.com/posts/2025-12-31-createlang-rs-complete/
https://redd.it/1q0luy3
@r_rust
Introduction ffmpReg, a complete rewrite of ffmpeg in pure Rust
Hi Rustaceans, I’m 21 and I’ve been working on ffmpReg, a complete rewrite of ffmpeg in pure Rust.
The last 5 days I’ve been fully focused on expanding container and codec support. Right now, ffmpreg can convert WAV (pcm_s16le → pcm_s24le → pcm_f32le) and partially read MKV streams, showing container, codec, and timebase info. Full container support is coming soon.
If you find this interesting, giving the project a star would really help keep the momentum going 🥺.
https://preview.redd.it/g01f61ydklag1.png?width=2530&format=png&auto=webp&s=d751a1c9a4af7be9378060da36f4b1a3c7e5321c
https://redd.it/1q0maft
@r_rust
Hi Rustaceans, I’m 21 and I’ve been working on ffmpReg, a complete rewrite of ffmpeg in pure Rust.
The last 5 days I’ve been fully focused on expanding container and codec support. Right now, ffmpreg can convert WAV (pcm_s16le → pcm_s24le → pcm_f32le) and partially read MKV streams, showing container, codec, and timebase info. Full container support is coming soon.
If you find this interesting, giving the project a star would really help keep the momentum going 🥺.
https://preview.redd.it/g01f61ydklag1.png?width=2530&format=png&auto=webp&s=d751a1c9a4af7be9378060da36f4b1a3c7e5321c
https://redd.it/1q0maft
@r_rust
GitHub
GitHub - yazaldefilimone/ffmpreg: In-development universal safe multimedia toolkit.
In-development universal safe multimedia toolkit. Contribute to yazaldefilimone/ffmpreg development by creating an account on GitHub.
Gitoxide in 2025 - a Retrospective
https://github.com/GitoxideLabs/gitoxide/discussions/2323
https://redd.it/1q0m809
@r_rust
https://github.com/GitoxideLabs/gitoxide/discussions/2323
https://redd.it/1q0m809
@r_rust
GitHub
2025 - the Retrospective · GitoxideLabs gitoxide · Discussion #2323
The year in numbers And 365 days later as of 2025-12-31, we are counting 211,983 SLOC, up by 33,827, which is 91% of the year before (➡OTYB) in 14845 commits up by 1,302 and 57%OTYB. There are 65 c...
If rust had a soundtrack which song would be?
I start: Black Label Society - Rust
https://redd.it/1q0plj7
@r_rust
I start: Black Label Society - Rust
https://redd.it/1q0plj7
@r_rust
YouTube
Rust
Provided to YouTube by eOne Music
Rust · Black Label Society
Stronger Than Death
℗ 2018 Wylde Wreckordings, LLC & Entertainment One U.S., LP
Released on: 2018-09-21
Main Artist: Black Label Society
Auto-generated by YouTube.
Rust · Black Label Society
Stronger Than Death
℗ 2018 Wylde Wreckordings, LLC & Entertainment One U.S., LP
Released on: 2018-09-21
Main Artist: Black Label Society
Auto-generated by YouTube.
Is casting sockaddr to sockaddr_ll safe?
So I have a bit of a weird question. I'm using `getifaddrs` right now to iterate over available NICs, and I noticed something odd. For the `AF_PACKET` family the `sa_data` (i believe) is expected to be cast to `sockaddr_ll` (`sockaddr_pkt` is deprecated I think). When looking at the kernel source code it specified that the data is a *minimum* of 14 bytes but (seemingly) can be larger.
[https://elixir.bootlin.com/linux/v6.18.2/source/include/uapi/linux/if\_packet.h#L14](https://elixir.bootlin.com/linux/v6.18.2/source/include/uapi/linux/if_packet.h#L14)
Yet the definition of `sockaddr` in the libc crate doesn't seem to actually match the one in the Linux kernel, and so while I can cast the pointer I get to the `sockaddr` struct to `sockaddr_ll`, does this not cause undefined behavior? It seems to work and I get the right mac address but it "feels" wrong and I want to make sure I'm not invoking UB.
https://redd.it/1q0q9c5
@r_rust
So I have a bit of a weird question. I'm using `getifaddrs` right now to iterate over available NICs, and I noticed something odd. For the `AF_PACKET` family the `sa_data` (i believe) is expected to be cast to `sockaddr_ll` (`sockaddr_pkt` is deprecated I think). When looking at the kernel source code it specified that the data is a *minimum* of 14 bytes but (seemingly) can be larger.
[https://elixir.bootlin.com/linux/v6.18.2/source/include/uapi/linux/if\_packet.h#L14](https://elixir.bootlin.com/linux/v6.18.2/source/include/uapi/linux/if_packet.h#L14)
Yet the definition of `sockaddr` in the libc crate doesn't seem to actually match the one in the Linux kernel, and so while I can cast the pointer I get to the `sockaddr` struct to `sockaddr_ll`, does this not cause undefined behavior? It seems to work and I get the right mac address but it "feels" wrong and I want to make sure I'm not invoking UB.
https://redd.it/1q0q9c5
@r_rust
Java dev learning rust… any projects need help?
Hey guys, experienced developer here just having fun learning Rust.
Currently building random things to get familiar with the ecosystem:
Built a front-end that replaces Lutris using Tauri
Working on a Flappy Bird clone with
macroquad
I think I’m ready to start contributing to something interesting and continue learning. Curious what this community recommends.
https://redd.it/1q0puu7
@r_rust
Hey guys, experienced developer here just having fun learning Rust.
Currently building random things to get familiar with the ecosystem:
Built a front-end that replaces Lutris using Tauri
Working on a Flappy Bird clone with
macroquad
I think I’m ready to start contributing to something interesting and continue learning. Curious what this community recommends.
https://redd.it/1q0puu7
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
Why have C++ and Rust been the fastest-growing major programming languages from 2022 to 2025?
https://herbsutter.com/2025/12/30/software-taketh-away-faster-than-hardware-giveth-why-c-programmers-keep-growing-fast-despite-competition-safety-and-ai/
https://redd.it/1q0tn4o
@r_rust
https://herbsutter.com/2025/12/30/software-taketh-away-faster-than-hardware-giveth-why-c-programmers-keep-growing-fast-despite-competition-safety-and-ai/
https://redd.it/1q0tn4o
@r_rust
Sutter’s Mill
Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI
2025 was another great year for C++. It shows in the numbers Before we dive into the data below, let’s put the most important question up front: Why have C++ and Rust been the fastest-growing major…
zero-mysql, zero-postgres: new DB libraries
https://preview.redd.it/qf1796fi1oag1.png?width=1200&format=png&auto=webp&s=d26438c02c01f8a4bf3421da9052c2de5a553736
[repo: zero-mysql](https://github.com/elbaro/zero-mysql)
repo: zero-postgres
[python mysql benchmark](https://github.com/elbaro/pyro-mysql/blob/main/BENCHMARK.md)
python postgres benchmark
# Handlers
These two libraries use Handler API to enable zero-cost customization without intermediate types. When a network packet containing row data arrives,
https://redd.it/1q0vr7p
@r_rust
https://preview.redd.it/qf1796fi1oag1.png?width=1200&format=png&auto=webp&s=d26438c02c01f8a4bf3421da9052c2de5a553736
[repo: zero-mysql](https://github.com/elbaro/zero-mysql)
repo: zero-postgres
zero-mysql and zero-postgres are developed for pyro-mysql and pyro-postgres (new Python DB libraries). pyro-mysql started with the mysql crate and went through various backend experiments including wtx and diesel, eventually leading to the own library. Since zero-mysql \+ pyro-mysql worked well, the same architecture is extended to zero-postgres \+ pyro-postgres.[python mysql benchmark](https://github.com/elbaro/pyro-mysql/blob/main/BENCHMARK.md)
python postgres benchmark
# Handlers
These two libraries use Handler API to enable zero-cost customization without intermediate types. When a network packet containing row data arrives,
Handler.row(packet: &[u8]) is called. Users can either drop this packet without even looking at it, collect it into a Vec using the provided parse functions, or directly convert it to a PyList or some third-party postgres plugin types. If you SELECT only fixed-length types (integer, float), you can even transmute &[u8] directly into your struct. (A derive macro for this will also be provided)https://redd.it/1q0vr7p
@r_rust
How’s Rust doing for game development?
I was just thinking. Rust would be a great language to write a game engine in.
Pretty much all engines are in C++ at the moment, and memory is a pain to handle in these and they are very complex.
I reckon Rust could give a more modern feel but still have (possibly better, if using certain features) performance.
I’ve heard of Bevy. But I’m just imagining the benefits of stuff like Unity editor like a proper engine but with Rust.
https://redd.it/1q0wtnw
@r_rust
I was just thinking. Rust would be a great language to write a game engine in.
Pretty much all engines are in C++ at the moment, and memory is a pain to handle in these and they are very complex.
I reckon Rust could give a more modern feel but still have (possibly better, if using certain features) performance.
I’ve heard of Bevy. But I’m just imagining the benefits of stuff like Unity editor like a proper engine but with Rust.
https://redd.it/1q0wtnw
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
Trying to learn Rust without touching Claude Code
Hi everyone!
So, I graduated Software Development a few years ago. However, I am not sure I know what I am doing.
We mainly were taught PHP and web development, however, even in PHP, I would rather go to Claude Code right now than to figure it out myself.
It is a bad trait of mine and now that I want to start learning Rust I want to prevent this from happening again.
I have been reading the Rust book, and I understand most concepts and how to use them. What I am struggling with, is the fact that I do not understand clearly how all of this would be used to actually make an application.
I realize that in the years I have been using Claude Code, it caused me to he in this problem. Understanding concepts, but not how to use them.
What is the best I could do in this scenario? Just keep going with the Rust book even though I do not understand how to practically use the concepts that are being taught?
Like, I tried to make a calculator in the terminal, and I was just fully struggling with making it. I felt so stupid. How can I graduate and not be able to make this in Rust?
https://redd.it/1q13w8x
@r_rust
Hi everyone!
So, I graduated Software Development a few years ago. However, I am not sure I know what I am doing.
We mainly were taught PHP and web development, however, even in PHP, I would rather go to Claude Code right now than to figure it out myself.
It is a bad trait of mine and now that I want to start learning Rust I want to prevent this from happening again.
I have been reading the Rust book, and I understand most concepts and how to use them. What I am struggling with, is the fact that I do not understand clearly how all of this would be used to actually make an application.
I realize that in the years I have been using Claude Code, it caused me to he in this problem. Understanding concepts, but not how to use them.
What is the best I could do in this scenario? Just keep going with the Rust book even though I do not understand how to practically use the concepts that are being taught?
Like, I tried to make a calculator in the terminal, and I was just fully struggling with making it. I felt so stupid. How can I graduate and not be able to make this in Rust?
https://redd.it/1q13w8x
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
Thoughts about AI projects
Every day there seem to be new posts for projects that were in part or entirely generated by AI and posted to Reddit. Every post has a bunch of responses about it being built with AI.
Now I'm not against AI, it's useful and I use it with many rust related questions and help solving errors or organizing things. I'd also like to use it to help write docs (as you can tell I'm bad at writing).
If at some point I built a project that I feel is useful to others and worth sharing, how does one go about not getting slated for it using AI and have it taken seriously?
I think there is a problem with too much AI written code with it being unclear that the person who wrote it actually understands what is there and how it works. But I don't know the solution
https://redd.it/1q144pl
@r_rust
Every day there seem to be new posts for projects that were in part or entirely generated by AI and posted to Reddit. Every post has a bunch of responses about it being built with AI.
Now I'm not against AI, it's useful and I use it with many rust related questions and help solving errors or organizing things. I'd also like to use it to help write docs (as you can tell I'm bad at writing).
If at some point I built a project that I feel is useful to others and worth sharing, how does one go about not getting slated for it using AI and have it taken seriously?
I think there is a problem with too much AI written code with it being unclear that the person who wrote it actually understands what is there and how it works. But I don't know the solution
https://redd.it/1q144pl
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
Rust's optional function, calling from C
If there's a Rust's function that returns an optional. Can I call that function from C side?
https://redd.it/1q195r4
@r_rust
If there's a Rust's function that returns an optional. Can I call that function from C side?
https://redd.it/1q195r4
@r_rust
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
Rust's most complicated features explained
https://youtu.be/9RsgFFp67eo
https://redd.it/1q1crhk
@r_rust
https://youtu.be/9RsgFFp67eo
https://redd.it/1q1crhk
@r_rust
YouTube
Rust in one video (hardest features explained)
👉Join the Rust Live Accelerator (30 seats now open): https://letsgetrusty.com/join
.
In this video we'll explore some of Rust's most complicated features by attempting to define a seemingly simple trait.
Join the Rust Live Accelerator: https://letsgetrusty.com/join
.
In this video we'll explore some of Rust's most complicated features by attempting to define a seemingly simple trait.
Join the Rust Live Accelerator: https://letsgetrusty.com/join
imgal: An open-source scientific image processing/algorithm library
Hi r/rust and happy new year! I'd like to share a project I've been working on. I'm a scientist/software developer at the Laboratory for Optical and Computational Instrumentation (LOCI) at the University of Wisconsin-Madison. I joined my group right before the COVID pandemic and I'm now a member of the ImageJ/Fiji development team (a Java-based open source scientific image processing platform). Since then I've really enjoyed programming, image processing algorithms and open source software. For the last year or two, a few of my friends have pushed me to get into Rust and well...they were right. I love it. It's my preferred language to develop in now. To further grow my Rust skills (and learn more about image processing) I started the
# What is imgal?
Imgal (IMaGe Algorithm Library) is a scientific image processing and algorithm library inspired by the ImageJ/Fiji/SciJava ecosystem. Imgal is written in a functional programming style, so I try my best to pay attention to side effects, state and pure functions. I’m sure if you look there are places where that is not true in imgal. (I love feedback so please educate me if you see something). If you use scikit-image in Python land then you essentially know what this project is. If not, the idea is its a FP image processing library that aims to bring fast, well-documented scientific image processing. Imgal also aims to meet the FAIR principles.
# Why did I start imgal?
Imgal is a selfish project. It's a place for me to learn how to be a better Rust developer (I'm an "it's about the journey" kind of fellow) and also expand my skills as an imaging scientist. Imgal originally started out as a Fluorescence Lifetime Imaging Microscopy (FLIM) phasor analysis library as more of an experiment in Rust and also to understand the math in Phasor analysis. Obviously the experiment was successful! I have a strong understanding of the phasor math (I wrote the implementation myself) and my experience made me realize that I could do more…and here we are.
# How is imgal organized?
Imgal is organized as a monorepo with imgal as the core library and
# Is imgal complete?
No. Like I said, I'm trying to learn here. I know I can ask an LLM to en masse convert existing frameworks (i.e. imagej-ops, scijava-ops, etc...) into Rust but I hate that. This means that some namespaces are mostly complete (see the “phasor” namespace) but most are not as it takes me time to understand the algorithm and design the implementation. What guides my attention are the needs of my science. For example you’ll notice the threshold namespace only has Nobuyuki’s Otsu method. This is because I needed that threshold method for my work and I haven’t had the free/fun time to jump into the other threshold algorithms.
# How can I use imgal?
Right now there are 4 ways to use the library:
1. Rust: Use the
2. Python: You can install the Python bindings to the library from PyPI by pip installing the
3. Java (prototype): I’m still deciding how to do this, but right now I have a prototype of this using Java 22+ and the FFM API. One of my friends suggested I use Kotlin native, but I’m not a big Kotlin guy so that requires some research. Any suggestions?
4. C (prototype): The Java bindings consume CABI so the C bindings are also in an embryonic state. I’m still thinking about how to do
Hi r/rust and happy new year! I'd like to share a project I've been working on. I'm a scientist/software developer at the Laboratory for Optical and Computational Instrumentation (LOCI) at the University of Wisconsin-Madison. I joined my group right before the COVID pandemic and I'm now a member of the ImageJ/Fiji development team (a Java-based open source scientific image processing platform). Since then I've really enjoyed programming, image processing algorithms and open source software. For the last year or two, a few of my friends have pushed me to get into Rust and well...they were right. I love it. It's my preferred language to develop in now. To further grow my Rust skills (and learn more about image processing) I started the
imgal project, a scientific n-dimensional image processing library with Python, C and Java bindings.# What is imgal?
Imgal (IMaGe Algorithm Library) is a scientific image processing and algorithm library inspired by the ImageJ/Fiji/SciJava ecosystem. Imgal is written in a functional programming style, so I try my best to pay attention to side effects, state and pure functions. I’m sure if you look there are places where that is not true in imgal. (I love feedback so please educate me if you see something). If you use scikit-image in Python land then you essentially know what this project is. If not, the idea is its a FP image processing library that aims to bring fast, well-documented scientific image processing. Imgal also aims to meet the FAIR principles.
# Why did I start imgal?
Imgal is a selfish project. It's a place for me to learn how to be a better Rust developer (I'm an "it's about the journey" kind of fellow) and also expand my skills as an imaging scientist. Imgal originally started out as a Fluorescence Lifetime Imaging Microscopy (FLIM) phasor analysis library as more of an experiment in Rust and also to understand the math in Phasor analysis. Obviously the experiment was successful! I have a strong understanding of the phasor math (I wrote the implementation myself) and my experience made me realize that I could do more…and here we are.
# How is imgal organized?
Imgal is organized as a monorepo with imgal as the core library and
imgal_c, imgal_java and imgal_python as the respective language bindings. I chose this layout because I wanted to prevent adding more dependencies to the core library. As a developer I have a strong allergic reaction to adding dependencies to a project, and wherever possible I will try to roll my own implementations.# Is imgal complete?
No. Like I said, I'm trying to learn here. I know I can ask an LLM to en masse convert existing frameworks (i.e. imagej-ops, scijava-ops, etc...) into Rust but I hate that. This means that some namespaces are mostly complete (see the “phasor” namespace) but most are not as it takes me time to understand the algorithm and design the implementation. What guides my attention are the needs of my science. For example you’ll notice the threshold namespace only has Nobuyuki’s Otsu method. This is because I needed that threshold method for my work and I haven’t had the free/fun time to jump into the other threshold algorithms.
# How can I use imgal?
Right now there are 4 ways to use the library:
1. Rust: Use the
imgal core library in your own project.2. Python: You can install the Python bindings to the library from PyPI by pip installing the
pyimgal package or building the imgal_python crate from source.3. Java (prototype): I’m still deciding how to do this, but right now I have a prototype of this using Java 22+ and the FFM API. One of my friends suggested I use Kotlin native, but I’m not a big Kotlin guy so that requires some research. Any suggestions?
4. C (prototype): The Java bindings consume CABI so the C bindings are also in an embryonic state. I’m still thinking about how to do
this given that imgal uses generic types. Any suggestions?
# AI/LLM stance
I’ve been lurking in the Rust subreddit for a while and I have come to feel that I should be explicit about LLM use with regards to imgal. Like I said before I do not enjoy LLMs writing my code. I have an internal desire to understand every line (crazy I know). However I do use LLMs as a consultant. For example I’ve come to favor using iterators over for loops (this makes parallelizing functions with rayon an absolute dream) and the LLMs have been great for teaching me the iterator way.
If you’re curious/interested you can check out imgal here!
Repo: GitHub: https://github.com/imgal-sc/imgal/
https://redd.it/1q1dlso
@r_rust
# AI/LLM stance
I’ve been lurking in the Rust subreddit for a while and I have come to feel that I should be explicit about LLM use with regards to imgal. Like I said before I do not enjoy LLMs writing my code. I have an internal desire to understand every line (crazy I know). However I do use LLMs as a consultant. For example I’ve come to favor using iterators over for loops (this makes parallelizing functions with rayon an absolute dream) and the LLMs have been great for teaching me the iterator way.
If you’re curious/interested you can check out imgal here!
Repo: GitHub: https://github.com/imgal-sc/imgal/
https://redd.it/1q1dlso
@r_rust
GitHub
GitHub - imgal-sc/imgal: A fast and open-source scientific image processing and algorithm library.
A fast and open-source scientific image processing and algorithm library. - imgal-sc/imgal
I tried making the fastest git graph renderer i could, ended up with a git client
Hey folks! A few months back i started my rust journey. I learn best when i have a problem to solve so I decided to tackle a problem I have with git clients. I usually get pretty confused regarding the topology of the commit graph without visual tools like git graph, sourcetree and gitkraken. However they dont allow you to go far into the history due to the nature of the git graph. And they load it lazily which is always annoying to me. So i did my best to fix this. Its not super duper optimised right now, but even now im able to preload the emacs repo (200000 commits) in a few seconds and have random access to any commit, together with the graph rendering.
There are few optimizations i have in mind to make it twice as fast at least (i think) and have a much lesser memory footprint. I have gone through a few iterations of development, but for now im satisfied.
Im mostly working on the features i personally need in my day to day work, so its not production ready of course.
Im also not the best rust dev, and im lazy as well, so i do lots of unwraps and rely on happy paths a lot. Main goal being making my life easier.
Have a look, give me a good ol beating, create some issues or even contribute if you are too annoyed with my lack of skills.
Demo: https://m.youtube.com/watch?v=oERA8MYlHjQ
Repo:
https://github.com/asinglebit/guitar
https://redd.it/1q1fyr6
@r_rust
Hey folks! A few months back i started my rust journey. I learn best when i have a problem to solve so I decided to tackle a problem I have with git clients. I usually get pretty confused regarding the topology of the commit graph without visual tools like git graph, sourcetree and gitkraken. However they dont allow you to go far into the history due to the nature of the git graph. And they load it lazily which is always annoying to me. So i did my best to fix this. Its not super duper optimised right now, but even now im able to preload the emacs repo (200000 commits) in a few seconds and have random access to any commit, together with the graph rendering.
There are few optimizations i have in mind to make it twice as fast at least (i think) and have a much lesser memory footprint. I have gone through a few iterations of development, but for now im satisfied.
Im mostly working on the features i personally need in my day to day work, so its not production ready of course.
Im also not the best rust dev, and im lazy as well, so i do lots of unwraps and rely on happy paths a lot. Main goal being making my life easier.
Have a look, give me a good ol beating, create some issues or even contribute if you are too annoyed with my lack of skills.
Demo: https://m.youtube.com/watch?v=oERA8MYlHjQ
Repo:
https://github.com/asinglebit/guitar
https://redd.it/1q1fyr6
@r_rust
YouTube
🦀 Rust: the Fastest Git Graph renderer I could build
Its open source, try it!
https://github.com/asinglebit/guitar
Motivation:
I needed a git client that would make it easy for me to understand where I am topologically at any given point in time. I also wanted it to be terminal based and cross-platform. I…
https://github.com/asinglebit/guitar
Motivation:
I needed a git client that would make it easy for me to understand where I am topologically at any given point in time. I also wanted it to be terminal based and cross-platform. I…