MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box. For more information about features go to our documentation.
Follow along with Christine Dodrill as she makes a small HTTP service using Rust and Rocket. This can also serve as a new Rust project primer too.
This is how I start a new Rust project. I put all of the code described in this post in this GitHub repo in case it helps. Have fun and be well.
On my system, compiled with the
zoxideruns 10-20x faster than
z.lua, which, in turn, runs 3x faster than
z. This is pretty significant, since this command runs once at every shell prompt, and any slowdown there will result in an increased loading time for every prompt.
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means?
This 28 minute read will walk you through lots of Rust snippets and explain the meaning of the keywords and symbols they contain. Additional learning resources are included at the end too.
Special thanks to the 46 patrons mentioned by name at the end of the post who enable Amos to write and share this type of content.
The TLDR of their reasoning is Go’s garbage collection was causing performance problems at scale. Since Rust doesn’t have a garbage collector, it allowed the team to manage their memory use more effectively. Their results were… uplifting:
Remarkably, we had only put very basic thought into optimization as the Rust version was written. Even with just basic optimization, Rust was able to outperform the hyper hand-tuned Go version. This is a huge testament to how easy it is to write efficient programs with Rust compared to the deep dive we had to do with Go.
This is not a Go sucks switch to Rust story. It is a well-reasoned argument for using one technology over the other when it makes sense to do so.
When starting a new project or software component, we consider using Rust. Of course, we only use it where it makes sense.
The Rust programming language is an ambitious project of the Mozilla Foundation – a language that claims to be the next step in evolution of C and C++. Over the years of existence of these languages some of their basic flaws still haven’t been fixed, like segmentation errors, manual memory control, risks of memory leaks and unpredictable compiler behavior. Rust was created to solve these problems while improving security and performance along the way.
This is a full-featured replacement for many of your shell’s built-ins.
This is an NES emulator and a work in progress. The CPU, PPU, and APU mostly work, though there are still at least a couple bugs. I’ve mostly tested on Donkey Kong and Super Mario Bros. so far. There are plenty of full-featured emulators out there; this is primarily an educational project but I do want it to run well.
If you’re interested in learning about Rust and/or emulators, this is for you.
SQLx is a modern SQL client built from the ground up for Rust, in Rust.
Truly Asynchronous. Built from the ground-up using async-std using async streams for maximum concurrency.
Type-safe SQL (if you want it) without DSLs. Use the
query!()macro to check your SQL and bind parameters at compile time. (You can still use dynamic SQL queries if you like.)
Pure Rust. The Postgres and MySQL/MariaDB drivers are written in pure Rust using zero unsafe code.
bandwhichsniffs a given network interface and records IP packet size, cross referencing it with the
/procfilesystem on linux or
lsofon MacOS. It is responsive to the terminal window size, displaying less info if there is no room for it. It will also attempt to resolve ips to their host name in the background using reverse DNS on a best effort basis.
This looks much better than me fumbling through
lsof’s man page for ten minutes and then giving up.
The Orbital Widget Toolkit is a multi platform (G)UI toolkit for building scalable user interfaces with the programming language Rust. It’s based on the Entity Component System Pattern and provides a functional-reactive like API.
Built by the Redox team, but super cross-platform. It even runs on the web with plans for iOS and Android.
The Rust core team put out a post today titled “A call for blogs 2020” where they put Rust’s 2020 roadmap into the community’s hands, by way of blogging. Here’s the breakdown…
- Anyone and everyone in the Rust community writes a blog post about what they’d like Rust development to be like in 2020.
- The core team reads all the posts, and writes up a “Roadmap RFC” to make a formal proposal.
- The RFC is reviewed by everyone, comments are made, adjustments are made, and eventually it is accepted.
- This RFC is a guide to either accept or postpone RFCs for 2020. If a proposal fits into the themes of what we want to accomplish, we’ll take it, but if it doesn’t, we’ll put it off until the next year.
The core team will begin reviewing all the posts starting December 1 with a plan to produce the RFC draft a few weeks after.
Onefetch is a command line tool that displays information about your Git project directly on your terminal. Onefetch supports almost 50 different programming languages. If your language of choice isn’t supported: Open up an issue and support will be added.
rx is an extensible, modern and minimalist pixel editor and animator implemented in rust. It’s designed to have as little UI as possible, and instead takes inspiration from vi’s modal nature and command mode.
Buyer beware: this is still in the ‘experimental stage’. Inspired by Elm.
Monolith saves HTML pages as a single file (embedding all assets such as CSS, JS, and images) so…
You can finally replace that gazillion of open tabs with a gazillion of .html files stored somewhere on your precious little drive.
A modern, GitHub-era shell written in Rust.
Today, we’re introducing a new shell, written in Rust. It draws inspiration from the classic Unix philosophy of pipelines, the structured data approach of PowerShell, functional programming, systems programming, and more.
It’s called Nushell, or just Nu for short.
They have a work-in-progress book for nushell too.
It’s completely modular, and built directly for
async/await. Whether it’s a quick script, or a cross-platform SDK, Surf will make it work.
This is for people who are early Rust professionals (experienced programmers, intermediate Rust users), and prefer visual, example-driven content. If that’s you, click through.
This is a subjective, primarily developer-ergonomics-based comparison of the three languages from the perspective of a Python developer, but you can skip the prose and go to the code samples, the performance comparison if you want some hard numbers, the takeaway for the tl;dr, or the Python, Go, and Rust
Not only is this a good way to compare programming languages, but it’s a good way to learn a new language if you’re already familiar with one of the others.
The Discord team bumped up against some limitations of the BEAM (Erlang’s virtual machine) when dealing with rather large data structures:
The double-edged sword of immutable data structures is that mutations are modeled by taking an existing data structure and an operation and creating a brand new data structure that is the result of applying that operation to the existing data structure.
This meant that when someone joined a server — internally referred to as guilds — with a Member List of 100,000 members, we would have to build a new list with 100,001 members in it.
You’ll want to click through and read all of the data structures they tried to fix this problem. It’s some seriously solid engineering and I love how they continued to measure and push themselves further. Finally, they reached for Rust thanks to BEAM’s NIF feature and really scaled up the speed.
Built in Rust, Vector places high-value on performance, correctness, and operator friendliness. It compiles to a single static binary and is designed to be deployed across your entire infrastructure, serving both as a light-weight agent and a highly efficient service, making the process of getting data from A to B simple and unified.
It’s hard to believe it’s already been 9 years since Rust was first announced to the world. The New Stack has a nice interview with Graydon Hoare…
sharing his thoughts on everything from the state of systems programming, to the difficulty of defining safety on ever-more complex systems — and whether we’re truly more secure today, or confronting an inherited software mess that will take decades to clean up.
nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.