Rust Icon

Rust

Rust is a systems programming language created by Mozilla.
161 Stories
All Topics

Rust github.com

z-tokens – random tokens generation and related tools

I have (re)written my password generator in Rust with support for many different patterns. From completely random ASCII, to memorable diceware-like passphrases, and anything in between, plus extras such as private IP addresses or MACs.

I’ve also classified these patterns for easy accessing, and based on the pattern entropy I provide guesstimates about the effort for a brute force attack.

SQLite observablehq.com

A framework for building SQLite extensions in Rust

sqlite-loadable-rs is a new framework for writing fast, performant, and mostly-safe SQLite extensions in Rust. These extensions are nearly as fast those written in C, with the added benefit of Rust’s memory safety features, easy access to thousands of 3rd party crates and packages on crates.io, all while maintaining a splendid developer experience.

Rust ncameron.org

Rust in 2023

Nick Cameron works on Rust at Microsoft. He shared these desires for Rust in 2023.

The core team used to call for blog posts to help plan the next year. The core team has pretty much disappeared and certainly hasn’t called for blog posts, but I’m going to write one anyway because I have opinions and I want you to hear them. Sorry. I think you should write such a post too!

Rust simonwillison.net

Learning Rust with ChatGPT, Copilot and Advent of Code

Simon Willison is using this year’s Advent of Code as an opportunity to learn Rust.

He’s using Copilot to help him with syntax/snippets via comment-driven prompting. He’s using ChatGPT as a study partner by asking it questions about how to do things in Rust. Is it working?

So far I think this is working really well.

I feel like I’m beginning to get a good mental model of how Rust works, and a lot of the basic syntax is beginning to embed itself into my muscle memory.

The real test is going to be if I can first make it to day 25 (with no prior Advent of Code experience I don’t know how much the increasing difficulty level will interfere with my learning) and then if I can actually write a useful Rust program after that without any assistance from these AI models.

And honestly, the other big benefit here is that this is simply a lot of fun. I’m finding interacting with AIs in this way—as an actual exercise, not just to try them out—is deeply satisfying and intellectually stimulating.

This might be an early glimpse into the future of AI-assisted learning…

Rust Medium (via Scribe)

Using Rust at a startup: a cautionary tale

Matt Welsh:

I hesitated writing this post, because I don’t want to start, or get into, a holy war over programming languages. (Just to get the flame bait out of the way, Visual Basic is the best language ever!) But I’ve had a number of people ask me about my experience with Rust and whether they should pick up Rust for their projects. So, I’d like to share some of the pros and cons that I see of using Rust in a startup setting, where moving fast and scaling teams is really important.

The learning curve and hiring difficulties seem to be the major culprits, in Matt’s experience.

Rust blessed.rs

An unofficial guide to the Rust ecosystem

Compared to other programming languages such as Python and Go, Rust’s standard library is very small, including only core data structures in the standard library with all other functionality farmed out to 3rd party ecosystem crates, and a common complaint from new Rust developers is that they don’t know where to start: which crates they ought to use and which crates they ought to trust. This list attempts to answer those questions.

Tobias Koppers Vercel

Introducing Turbopack: Rust-based successor to Webpack

Webpack creator Tobias Koppers announcing its (Vercel-funded) successor:

Turbopack is built on a new incremental architecture for the fastest possible development experience. On large applications, it shows updates 10x faster than Vite and 700x faster than Webpack. On even larger applications, the difference is greater—often 20x faster than Vite.

Turbopack is open source and still in alpha. Here’s what the future may hold:

To start, Turbopack will be used for the Next.js 13 development server. It will power lightning-fast HMR, and it will support React Server Components natively, as well as TypeScript, JSX, CSS, and more.

Turbopack will eventually also power Next.js production builds, both locally and in the cloud. We’ll be able to share Turbo’s cache across your entire team, using Vercel Remote Caching.

Webpack users can also expect an incremental migration path into the Rust-based future with Turbopack.

Emil Ernerfeldt rerun.io

Why Rust?

Rust is quite popular, but why? Emil Ernerfeldt, CTO of rerun.io, shares his thoughts in the subject.

I believe Rust is the most important development in system programming languages since C. What is novel is not any individual feature (“Rust is not a particularly original language”), but the fact that so many amazing features have come together in one mainstream language.

Rust is not a perfect language (scroll down for my complaints!), but it’s so much nicer than anything else I’ve used.

I’m not alone in loving Rust - Rust has been the most loved language in the Stack Overflow Developer Survey for seven years straight. So what are the features that make me love Rust so much?

Git github.com

A fast terminal UI for Git

Here’s the motivation behind this Rust-based TUI:

I do most of my git work in a terminal but I frequently found myself using git GUIs for some use-cases like: index, commit, diff, stash, blame and log.

Unfortunately popular git GUIs all fail on giant repositories or become unresponsive and unusable.

GitUI provides you with the user experience and comfort of a git GUI but right in your terminal while being portable, fast, free and open source.

A fast terminal UI for Git

Lőrik Levente levminer.com

Tauri vs Electron with a real world app

Lőrik Levente shared a real world comparrison between Tauri and Electron using a real application he’s building called Authme. The comparrison focused on all the major things you’d care about — Bundle size, startup time, performance, app backend, rendering your app, security, auto update, and developer experience.

Also, see this tweet from swyx.

Tauri vs Electron results are consistently mindblowing

App: 97% smaller
Startup: 50% faster
RAM: 33% less
Security: priceless

So, is Electron is being replaced? Lőrik says yes, but…

Tauri vs Electron with a real world app

Svelte github.com

The Svelte compiler rewritten in Rust

When Rich Harris was last on JS Party, he wondered aloud:

“Should I learn Rust? Should we rewrite the Svelte compiler in Rust?” Maybe it’s a terrible idea, I don’t know, but I think it’s at least worth investigating.

Well, the effort we’re linking to here isn’t by Rich, but another member of the Svelte community. Their reasoning:

My main reason for doing this, is to compile Svelte without Node.js and possibly use Deno instead.

And the state of the project:

This is still a big work in progress. I’m mainly working on this for fun and learning. I came up with the name rustle by combining rust and svelte (ruslte => rustle). The project is open to naming suggestions!

Rust ralfj.de

Announcing: MiniRust

Ralf Jung has been thinking about semantics of Rust… a lot:

The purpose of MiniRust is to describe the semantics of an interesting fragment of Rust in a way that is both precise and understandable to as many people as possible… Specifically, MiniRust is specified by a reference interpreter that describes the step-by-step process of executing a MiniRust program, including checking at each step whether the program has Undefined Behavior.

Source code here.

Tooling prql-lang.org

PRQL is a modern language for transforming data

The P in PRQL (pronounced “Prequel”) stands for Pipelined, which I’m convinced is a great way of writing and reasoning about queries:

A PRQL query is a linear pipeline of transformations

Each line of the query is a transformation of the previous line’s result. This makes it easy to read, and simple to write.

It compiles to SQL, which means it’s compatible with most databases already and there are currently bindings for Python, JS & Rust, which is the compiler itself.

Try it out in their web-based playground. (Thanks, Wasm!)

Linux phoronix.com

Linus Torvalds: Rust for the kernel could possibly be merged for Linux 5.20

Speaking this morning at The Linux Foundation’s Open-Source Summit, Linus Torvalds talked up the possibilities of Rust within the Linux kernel and that it could be landing quite soon – possibly even for the next kernel cycle…

The Linux 5.20 merge window will open following the release of Linux 5.19 stable around the end of July, so at that point we’ll see if the Rust PR is submitted and lands for this next kernel version. It wouldn’t be too surprising with how things have been pacing and already having the blessing of Linus.

Lots of positivity about this in the attached comment thread.

Rust tauri.app

Tauri (a cross-platform app toolkit) goes 1.0

Tauri is an app framework built with Rust. You build UIs for it using virtually any frontend JavaScript framework. It has three major tenets: security, privacy, and environment. Speaking to the latter:

The apps you make are lean and performant, which reduces electricity, storage space, and general natural resource consumption. Every byte saved is a leaf on a tree that gets to grow.

This project has gotten a lot of early interest because, well, people have been waiting for an Electron alternative to emerge. Now that Tauri is 1.0 I’m guessing adoption will really start to take off.

Even more good news: we have an episode on Tauri in the hopper for ya 💪

Rust hirrolot.github.io

Rust is hard, or: the misery of mainstream programming

I entered Rust four years ago. To this moment, I co-authored teloxide and dptree, wrote several publications and translated a number of language release announcements. I also managed to write some production code in Rust, and had a chance to speak at one online meetup dedicated to Rust. Still, from time to time I find myself disputing with Rust’s borrow checker and type system for no practical reason. Yes, I am no longer stupefied by such errors as cannot return reference to temporary value – over time, I developed multiple heuristic strategies to cope with lifetimes…

But one recent situation has made me to fail ignominiously.

Rust is hard, or: the misery of mainstream programming

Rust github.com

fclones – an efficient duplicate file finder and remover

Duplicates taking up tons of space on your home NAS? fclones quickly identifies duplicates, even when there’s 10s of thousands that you’re scanning over the network:

fclones treats your data seriously. You can inspect and modify the list of duplicate files before removing them. There is also a –dry-run option that can tell you exactly what changes on the file system would be made.

Also check out the algorithm used to detect duplicates.

Rust github.com

A cross-platform file explorer powered by a virtual distributed filesystem

Spacedrive helps you organize your files across many devices in one place. Here’s the motivation:

Many of us have multiple cloud accounts, drives that aren’t backed up and data at risk of loss. We depend on cloud services like Google Photos and iCloud, but are locked in with limited capacity and almost zero interoperability between services and operating systems. Photo albums shouldn’t be stuck in a device ecosystem, or harvested for advertising data. They should be OS agnostic, permanent and personally owned. Data we create is our legacy, that will long outlive us—open source technology is the only way to ensure we retain absolute control over the data that defines our lives, at unlimited scale.

A cross-platform file explorer powered by a virtual distributed filesystem
  0:00 / 0:00