Best of Rust — November 2024

  1. 1
    Article
    Avatar of devtoDEV·1y

    I love Rust/Tauri & Svelte

    NeoHtop is a modern task manager for macOS combining terminal-based system monitors with a clean UI. Built with Rust and Tauri for the backend and Svelte for the frontend, its features include real-time process monitoring, CPU/memory tracking, and process management. Challenges included maintaining performance and navigating Apple's certification process. Future plans involve Linux support, additional process management features, and network usage monitoring.

  2. 2
    Article
    Avatar of rich_tech123Tech Pioneers·1y

    End the war once and for all: C++ or Rust

    A C++ developer explores the passionate competition between C++ and Rust communities and seeks advice on whether to switch to Rust or continue with C++, particularly in systems development for game engines, code editors, and operating systems.

  3. 3
    Article
    Avatar of lobstersLobsters·1y

    The two factions of C++

    The C++ community is divided on the language's future, particularly over backward compatibility and modernizing the language. While the Evolution Working Group aims to maintain ABI compatibility and avoid disruptive changes, other camps, including key tech companies like Google and Microsoft, are moving towards modern practices and adopting languages like Rust. The divide is notably between older industries with legacy systems and modern tech firms with sophisticated automated tooling. The C++ committee appears committed to maintaining backward compatibility, but this has created tensions within the community.

  4. 4
    Article
    Avatar of bitfieldconsultingBitfield Consulting·1y

    Rust and Go vs everything else — Bitfield Consulting

    This post features an interview with John Arundel discussing the strengths and differences of Rust and Go programming languages. Rust is known for its safety features and memory management while being more complex to learn. Go is appreciated for its simplicity and efficiency, especially in handling concurrency through goroutines and channels. Arundel emphasizes the importance of learning both languages for comprehensive software development skills in 2024 and beyond.

  5. 5
    Article
    Avatar of communityCommunity Picks·1y

    Why Rust is Becoming a Contender in AI Development

    Rust has emerged as a strong contender in the AI development space, primarily due to its performance, memory safety, and concurrency support. Rust's key advantages include safer memory management compared to C++, and a growing ecosystem of AI and machine learning libraries, such as Linfa, Tch-rs, and Rust-NN. While the language faces challenges like a steeper learning curve and fewer libraries than Python, its increasing adoption indicates a promising future for scalable and efficient AI systems.

  6. 6
    Article
    Avatar of alternativetoAlternativeTo·1y

    LocalSend 1.16: enhanced features and improvements

    LocalSend 1.16 introduces enhanced transfer speeds through Rust-based HTTP client operations and multithreading. The update includes automatic file receipt from favorites, improved spacing in RTL languages, and new macOS-specific functionalities like drag-and-drop into the menu bar icon and a share menu integration. Several platform-specific bugs have been resolved to enhance overall functionality.

  7. 7
    Article
    Avatar of hnHacker News·1y

    Hand Tracking for Mouse Input

    The post describes a project that implements hand tracking to simulate mouse input using finger pinching, inspired by Apple Vision Pro. Initially, the author faced performance issues with the Python version of MediaPipe but found success using the web version. They managed real-time communication between the web frontend and Python backend via WebSocket. Later, they transitioned to using Tauri to build a more efficient desktop app with a Rust backend. The project also explored a mode inspired by Meta Quest for front-facing camera input. Various challenges like jitter and latency were tackled through techniques like the One Euro Filter.

  8. 8
    Article
    Avatar of lobstersLobsters·1y

    Async Rust vs RTOS showdown!

    A detailed comparison between the Embassy async Rust model and FreeRTOS in C on an STM32F446 microcontroller focusing on interrupt latency, program size, RAM usage, and ease of programming is discussed. Tests reveal that Embassy/Rust outperforms FreeRTOS/C in interrupt time, thread time, interrupt latency, program size, and static memory usage, making it the winner of the showdown. The showdown includes practical implementation examples and performance results, highlighting the strengths of both approaches.

  9. 9
    Video
    Avatar of t3dotggTheo - t3․gg·1y

    Tailwind V4 is WAY better than I expected

    Tailwind V4 has introduced significant changes, including a rewrite in Rust, making builds up to 100 times faster. The new version brings a unified tool chain, built-in import handling, vendor prefixing, and syntax transforms. It also emphasizes modern CSS features like container queries and 3D transforms, while allowing more seamless configuration directly in CSS. The update is anticipated to greatly enhance performance and ease of use.

  10. 10
    Video
    Avatar of youtubeYouTube·1y

    Solana Developer Bootcamp 2024 - Learn Blockchain and Full Stack Web3 Development - Projects 1-9

    The Solana Developer Bootcamp 2024 is an extensive guide designed to teach participants how to build on the Solana blockchain, covering everything from blockchain basics to creating decentralized applications. The bootcamp uses both Rust and TypeScript, providing resources and support through a GitHub repository and Solana-specific stack exchange. Participants will learn key blockchain concepts and how to develop smart contracts in a structured, paced format, with practical projects to reinforce learning.

  11. 11
    Article
    Avatar of communityCommunity Picks·1y

    bootandy/dust: A more intuitive version of du in rust

    Dust is an intuitive alternative to the traditional 'du' command, written in Rust for efficient disk usage analysis. It provides an easy way to see which directories are consuming disk space, without the need for additional flags. It supports various installation methods across different platforms, including cargo, brew, snap, pacstall, conda, deb-get, and scoop. Dust also features colored output to highlight the largest subdirectories and various commands for customized views.

  12. 12
    Article
    Avatar of fettblogfettblog.eu·1y

    Tokio: Getting Started

    This guide provides instructions on how to create your first Tokio application in Rust. It covers adding the Tokio dependency, creating a basic 'Hello, World!' TCP server, and explains key concepts such as the #[tokio::main] attribute macro, TCP listeners, and task spawning. An exercise to create an echo server and its solution are also included.

  13. 13
    Article
    Avatar of communityCommunity Picks·1y

    tauri-apps/awesome-tauri: 🚀 Awesome Tauri Apps, Plugins and Resources

    This post offers a comprehensive collection of resources, tutorials, templates, and plugins for developing applications with Tauri, a framework designed for building cross-platform desktop apps using web technologies like Rust and JavaScript. It includes guides for getting started, integrating with various front-end frameworks, setting up auto-updates, and publishing apps to app stores. Additionally, there's an extensive list of plugins for enhancing app functionalities and various example applications built with Tauri.

  14. 14
    Article
    Avatar of hnHacker News·1y

    Building Databases over a Weekend

    Databases are ubiquitous yet often viewed as complex systems, typically developed by specialized experts. Despite their complexity, innovation in database technology continues, with tools like Apache DataFusion simplifying the process for developers. DataFusion allows developers to build custom databases by extending or replacing various layers, particularly useful for creating bespoke query engines. This guide demonstrates how to implement a window operator for stream processing applications using DataFusion, detailing the integration into the physical and logical planning stages and optimizing the custom operator.

  15. 15
    Article
    Avatar of hnHacker News·1y

    trynova/nova: JS engine lolz

    Nova is a JavaScript and WebAssembly engine written in Rust, designed with a focus on data-oriented architecture. It follows the ECMAScript specification in spirit but introduces double definitions for Performance optimization. Presentations at noteworthy events highlighted both the general working of JavaScript engines and the specific advantages and costs of data-oriented design in Nova. For those interested, contribution guidelines and a detailed Heap structure walkthrough are provided.

  16. 16
    Article
    Avatar of controversycontroversy.dev·1y

    Redis Inc seeks control over future of Rust redis-rs client library, amid talk of trademark concerns

    Redis Inc aims to take control of the Redis client library for Rust, known as redis-rs, amidst ongoing discussions about potential trademark issues. The move raises questions about the future development and support for the library within the open-source community.

  17. 17
    Article
    Avatar of lobstersLobsters·1y

    gccrs: An alternative compiler for Rust

    gccrs is an alternative compiler for Rust being developed as part of the GCC project. The main goal is to provide another option for compiling Rust, leveraging GCC's support for various platforms, including some that LLVM doesn't support. The project aims to maintain compatibility with rustc and contribute to the Rust specification effort. Despite its early stage of development, gccrs ensures alignment with Rust's values and minimizes ecosystem friction by reusing rustc components and facilitating communication through familiar platforms like GitHub and Zulip.

  18. 18
    Article
    Avatar of hnHacker News·1y

    How Much Memory Do You Need in 2024 to Run 1 Million Concurrent Tasks?

    A benchmark comparing memory consumption for running 1 million concurrent tasks using different programming languages and async runtimes reveals surprising results. Rust and C# (with NativeAOT) are highly efficient, with C# demonstrating remarkable improvement. Surprisingly, Go and Java (GraalVM native image) perform less efficiently than expected. The study highlights the varying efficiency of async runtimes in handling a high number of tasks.

  19. 19
    Article
    Avatar of logrocketLogRocket·1y

    How to use the lazy initialization pattern with Rust 1.80

    Lazy initialization can improve the performance of Rust applications by delaying the resource initialization until actually needed. Previously, crates like `lazy_static` and `once_cell` were used for this pattern. With Rust 1.80, the standard library now supports lazy initialization through types like `OnceLock` and `LazyLock`, reducing the need for external dependencies. These native types offer advantages such as fewer dependencies and direct maintenance by the Rust standard library team.

  20. 20
    Article
    Avatar of logrocketLogRocket·1y

    Handling memory leaks in Rust

    Discover how curl-impersonate can bypass anti-bot measures in Node.js for web scraping. Learn techniques for handling frontend data discrepancies using WebSockets and Docker Compose. Explore the benefits of lazy initialization in Rust 1.80. Design visually appealing React Native UIs with adaptive layouts and responsive scaling.

  21. 21
    Article
    Avatar of watercoolerWatercooler·1y

    When Compilers Take Parenting Classes

  22. 22
    Article
    Avatar of ntietznicole@web·1y

    Abusing Talon to use my eye tracker in a project

    The author describes how they used Talon, a voice-control software, to integrate an eye tracker into a project. They discuss challenges with using the Tobii 5 eye tracker on Linux, as its native SDK supports only more expensive models and is Windows-based. They detail creating a Python script to use Talon's eye tracker module, handling gaze data, and setting up a hot-reloading server to expose this data. Despite some integration hurdles, they successfully linked the eye tracker to a Rust program, enabling eye-tracking inputs for a game development project.

  23. 23
    Article
    Avatar of hnHacker News·1y

    mdBook Documentation

    mdBook is a command-line tool for creating books using Markdown, ideal for product documentation, tutorials, and course materials. It offers features like integrated search, syntax highlighting, customizable themes, and multiple output formats. Written in Rust, mdBook ensures speed and safety and allows for community contributions via GitHub. It is open-source and licensed under the Mozilla Public License v2.0.

  24. 24
    Article
    Avatar of lobstersLobsters·1y

    zaphar/sheetsui

    SheetsUI is a command-line tool that allows users to view and edit spreadsheet files. It can be installed via Nix or Cargo and supports various options including setting locale and timezone. Usage information and help can be accessed using the `sheetui --help` command.

  25. 25
    Article
    Avatar of eatonphilPhil Eaton·1y

    1 million page views

    The author celebrates passing 1 million page views on their blog. They started blogging in 2018, focusing initially on JavaScript and Scheme before transitioning to topics like bytecode VMs, emulators, databases, and distributed systems. Their motivation stems from a desire to provide complete, minimal implementations to help others avoid the confusion of incomplete resources. They also find value in writing survey posts and emphasize the importance of continuous learning and healthy obsessions outside of writing.