Category/Programming-language/rust
Broaden your selection: Category/Programming-language
Category/Programming-language
rust (34)
- AElhometta
- Archaic attempt at autonomous non-sandboxed distributed artificial life of assembler automaton type, it features: separation of descriptive and executive data that provides branches and loops without jump instructions, publish-subscribe interaction with other instances over Tor, input/output through ordinary files associated with external sensors and actuators, and built-in shell.
- Afrim
- Afrim is an input method designed to protect the native language of various local dialects and is a universal phonetic-based input method platform. Features ๐ Support for all sequential codification codes. ๐จ Easy to use CLI interface. ๐ Customizable dictionary. ๐ป Support for both desktop and web platform. Support for the Rhai scripting language. ๐ Auto-suggestion / Auto-correction / Auto-completion. โ๏ธ Full immersion mode for non-latin languages. (๐ง Experimental ๐ง)
- Alacritty
- Launched in 2017, Alacritty is a terminal emulator that uses Rust (a memory-safe language) and OpenGL for rendering everything, aiming for perfomance, security, configurability, and simplicity. A list of Alacritty's features can be found here. Alacritty is currently in beta, but is already used as a daily driver by many people. It is also the default terminal emulator for Sway, a Wayland-native WM. Another Wayland-native, GPU-accelerated terminal emulator is kitty.
- Bustd
- * Features
Insignificant memory usage!
bustd seems to use less memory than some other lean daemons such as earlyoom.
Also quite insignificant CPU usage
Much like earlyoom and nohang, bustd uses adaptive sleep times during its memory polling. Unlike these two, however, bustd does not read from /proc/meminfo, instead opting for the sysinfo syscall. This approach has its up- and downsides. The amount of free RAM that sysinfo reads does not account for cached memory, while MemAvailable in /proc/meminfo does. The sysinfo syscall is one order of magnitude faster, at least according to this kernel patch: https://sourceware.org/legacy-ml/libc-alpha/2015-08/msg00512.html (granted, from 2015). As bustd can't solely rely on the free RAM readings of sysinfo, we check for memory stress through Pressure Stall Information.
bustd locks all pages mapped into its address space
Much like earlyoom, bustd uses mlockall to avoid being sent to swap, which allows the daemon to remain responsive even when the system memory is under heavy load and susceptible to thrashing.
Checks for Pressure Stall Information
The Linux kernel, since version 4.20 (and built with CONFIG_PSI=y), presents canonical new pressure metrics for memory, CPU, and IO. In the words of Facebook Incubator:
- PSI stats are like barometers that provide fair warning of impending resource
- shortages, enabling you to take more proactive, granular, and nuanced steps
- when resources start becoming scarce.
- DeleteThisEntry ,
- Ccrtp RTP protocol stack of GNU Common C++ and the GNU project. https://www.gnu.org/software/ccrtp/ Expat GPLv3orlater LGPLv2.1orlater GPLv2orlater with library exceptionRTP protocol stack of GNU Common C++ and the GNU project.
- Dhammapada
- This application provides access to the Dhammapada, one of the fundamental works of the Buddhist tradition. It contains 423 verses of teachings attributed to the Buddha, presented in an accessible format in over 50 languages, allowing readers around the world to study the text in their own language.
- Env encryption tool
- env_encryption_tool ยฉ๏ธ Project Goals & Info Purpose: the goal for this project is to encrypt .env files for a given Rust application and store them in an encrypted state, then decrypt them at runtime using an OS-based environment variable and pass them to the application. This requires any potential/illicit attacker to breach the operating system's security and access its environment variables before any application-level environment variables can be compromised. Disclaimer: this project is brand-new. It's stable and can be used in production environments, but SLA-based support won't be offered until we're at v1.0. Installation Instructions Install Rust ๐ Clone/fork the env_encryption_tool repo โก Modify the encryption key in main.rs to your desired content ๐ Run "cargo build --release" - this outputs a binary in the target folder โจ Run the binary in the same folder as your .env file - this outputs a .env.enc file ๐ Integrate the included decrypt_config.rs file and its crates into your Rust project โญ Set an OS-level environment variable named "DECRYPTION_KEY" ( ๐ for Linux, ๐ for Windows, ๐ for MacOS) to the same value you placed in main.rs. Copy the .env.enc file to the same folder your Rust binary runs in and voila! You have encrypted environment variables provided to your application at runtime. ๐ Contributing We welcome contributions from the community! A simple guide to get started: Fork the repository to your Github account (a.k.a create a branch). Clone your forked repo/branch to your favorite IDE (VS Code is our editor of choice) and make changes (or use the command-line: git checkout -b feature/your-feature). Thoroughly test and debug your changes, then commit and push them to your forked repo/branch. Open a pull request to have your changes reviewed and reintegrated into the main branch. Contributors are strongly encouraged to read our CONTRIBUTING.md file before opening a pull request. License env_encryption_tool is licensed under the AGPL-3.0 license, making it free to use, modify, and distribute as long as the source code remains open-source. Using a modified version of this software without disclosing its source code is not in compliance with the AGPL-3.0 license. Acknowledgments Special thanks to contributors, open-source enthusiasts, and supporters of env_encryption_tool's vision. Terms of Service Please read our Terms of Service before using our software. Violators of these Terms are not supported by the community or contributors. Privacy Policy Please also read our Privacy Policy to understand how we handle your personal information. Contact Have questions or suggestions? Reach out to us at welcome@butlergroup.net. Thank you and happy coding! :)
- Ffsend
- ffsend allows you to easily and securely share encrypted files from the command line.
- Fractal
- Fractal is an instant messaging client and collaboration software for the GNOME desktop based on the Matrix protocol.
- GNA:AEFR
- GNA's Not AA : AEFR's Eternal Freedom & Rust-rendered AEFR is a high-performance, fan-made interactive storytelling and creative editor engine for the Blue Archive community, built from the ground up with a "Freedom First" philosophy. Inspired by the GNU Manifesto, AEFR is not just a tool, but a manifesto in code, advocating for the liberation of creative environments in the "Kivotos" universe. "Distributing software without providing source code is an irresponsible act." AEFR is strictly licensed under the AGPLv3 to ensure it remains free as in speech, forever. Core Philosophy: The Shortest Path is the Most Invincible Unlike bloated, proprietary alternatives, AEFR is a core of "straight-to-the-metal" Rust logic. We do not aim to please everyone with unnecessary complexity; we provide extreme performance and absolute freedom for those who demand it. Technical Purity & Architecture 100% Rust Purity: AEFR maintains a codebase with Rust purity significantly higher than mainstream kernels, ensuring memory safety and fearless concurrency. Engine-less Design: We reject heavy, non-free game engines. AEFR utilizes egui for an immediate-mode GUI, ensuring a minimal memory footprint and lightning-fast UI response. Gentleman Scheduler (Custom CPU Orchestration): To ensure a silk-smooth rendering experience, AEFR implements a proprietary "Gentleman Scheduler" using an N-2 Core Strategy. It strictly isolates CPU cores for Rendering, Audio (preventing buffer underruns), and Rayon-powered Worker threads for Spine skeletal deformation. Synchronous Order: We reject "cheap" non-blocking async models for visual logic. In AEFR, "Sync is Order." This ensures perfect spatial alignment for bones, physics, and expressions in every frame. Features & Capabilities Spine 2D Rendering: High-performance rendering supporting multiple simultaneous character slots with expression and motion control. Command-Driven Interaction: A hybrid GUI and Command-Driven interface for power users, allowing precise control over backgrounds, audio, and storytelling elements via an internal CMD console. Audio System: Asynchronous audio streaming via rodio, supporting seamless BGM transitions without UI interference. Multi-Platform Sovereignty: Native support for GNU/Linux, Windows, macOS, and Android (including Termux X11/Wayland environments). The Developer's Oath (Strict Contribution Rules) AEFR maintains its integrity through rigorous standards: Zero-FFI Policy: PRs involving complex C++/Proprietary framework interactions (Qt, Unity, etc.) are rejected to maintain architectural purity. Unsafe Code Manifesto: Any use of unsafe must be accompanied by a "Necessity Proof," defining the safety boundaries and proving the absence of safe alternatives. Instruction Set Optimization: Official builds leverage target-cpu=native to squeeze every bit of performance out of modern CPU instruction sets.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.
