Rust Programming

8858 readers
1 users here now

founded 6 years ago
MODERATORS
251
252
253
254
 
 

Announcement on NixOS Discourse

Features

  • Hash prefetching powered by nurl
  • Dependency inference for Rust packages using the Riff registry and python projects
  • Interactive prompts with fuzzy tab completions
  • License detection
  • Supported builders
    • stdenv.mkDerivation
    • buildRustPackage
    • buildPythonApplication and buildPythonPackage
    • buildGoModule
  • Supported fetchers
    • fetchCrate
    • fetchFromGitHub
    • fetchFromGitLab
    • fetchFromGitea
    • fetchPypi
    • All other fetchers supported by nurl are also supported, you just have to specify the tags manually

Usage

Usage: nix-init [OPTIONS] <OUTPUT>

Arguments:
  <OUTPUT>  The path to output the generated file to

Options:
  -u, --url <URL>        Specify the URL
  -c, --config <CONFIG>  Specify the config file
  -h, --help             Print help
  -V, --version          Print version
255
 
 

cross-posted from: https://group.lt/post/44860

Developers across government and industry should commit to using memory safe languages for new products and tools, and identify the most critical libraries and packages to shift to memory safe languages, according to a study from Consumer Reports.

The US nonprofit, which is known for testing consumer products, asked what steps can be taken to help usher in "memory safe" languages, like Rust, over options such as C and C++. Consumer Reports said it wanted to address "industry-wide threats that cannot be solved through user behavior or even consumer choice" and it identified "memory unsafety" as one such issue. 

The report, Future of Memory Safety, looks at range of issues, including challenges in building memory safe language adoption within universities, levels of distrust for memory safe languages, introducing memory safe languages to code bases written in other languages, and also incentives and public accountability.

More information:

256
257
8
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]
 
 

Did you know you can just whip out curly-braces all over the place in Rust and Go?

But why on Earth would you even want to do this?

258
 
 

While the memory safety and security features of the Rust programming language can be effective in many situations, Rust’s compiler is very particular on what constitutes good software design practices. Whenever design assumptions disagree with real-world data and assumptions, there is the possibility of security vulnerabilities–and malicious software that can take advantage of those vulnerabilities. In this post, we will focus on users of Rust programs, rather than Rust developers. We will explore some tools for understanding vulnerabilities whether the original source code is available or not. These tools are important for understanding malicious software where source code is often unavailable, as well as commenting on possible directions in which tools and automated code analysis can improve. We also comment on the maturity of the Rust software ecosystem as a whole and how that might impact future security responses, including via the coordinated vulnerability disclosure methods advocated by the SEI’s CERT Coordination Center (CERT/CC).

Programming Languages Maturity

259
 
 

Rust is a programming language that is growing in popularity. While its user base remains small, it is widely regarded as a cool language. According to the Stack Overflow Developer Survey 2022, Rust has been the most-loved language for seven straight years. Rust boasts a unique security model, which promises memory safety and concurrency safety, while providing the performance of C/C++. Being a young language, it has not been subjected to the widespread scrutiny afforded to older languages, such as Java. Consequently, in this blog post, we would like to assess Rust’s security promises.

Rust Protection in Context, table

260
261
5
There is no such thing as "consensual" C (bafybeidjejxqpij2zzfuyedsheljawl7xesgwo5wer76ghd7fw7q3dpsja.ipfs.cf-ipfs.com)
submitted 2 years ago by [email protected] to c/[email protected]
 
 
262
 
 

Plume and Lemmy got a shout out on an official Rust site!

263
264
 
 
265
 
 

dora is a DHCP server written in Rust using tokio. It is built on the dhcproto library and sqlx. We currently use the sqlite backend, although that could change in the future. The goal of dora is to provide a complete DHCP implementation for IPv4, and eventually IPv6. Dora supports duplicate address detection, ping, binding multiple interfaces, static addresses, etc see example.yaml for all options.

It is, however, an early release version and may contain bugs.

266
 
 

The merge window for the 6.1 release brought in basic support for writing kernel code in Rust — with an emphasis on "basic". It is possible to create a "hello world" module for 6.1, but not much can be done beyond that. There is, however, a lot more Rust code for the kernel out there; it's just waiting for its turn to be reviewed and merged into the mainline. Miguel Ojeda has now posted the next round of Rust patches, adding to the support infrastructure in the kernel.

267
 
 

Just sharing from r/rust

268
269
15
Learn Rust by making a Rogue-like game (bfnightly.bracketproductions.com)
submitted 2 years ago by [email protected] to c/[email protected]
 
 

this tutorial tries to take you from zero (how do I open a console to say Hello Rust) to hero (equipping items to fight foes in a multi-level dungeon). I'm hoping to continue to extend the series.

270
271
 
 

Hi everyone! This is my first post on Lemmy and it's to showcase a little project I've been working on lately which is my first public project made in Rust.

It's a file management tool called Vento, which allows you to move files as if you're playing a text adventure. It's based on an original concept made by a friend of mine on Bash. It consists of three comands: vento, take and drop. I've recorded a demo on Asciinema to showcase its functionality.

asciicast

The project is available to install through Cargo and the source code is hosted on Codeberg. I'm open to suggestions!

272
 
 

The UX team has been carefully designing widgets and applications over the last year. We are now at the point where it is critical for the engineering team to decide upon a GUI toolkit for COSMIC. After much deliberation and experimentation over the last year, the engineering team has decided to use Iced instead of GTK.

Iced is a native Rust GUI toolkit that's made enough progress lately to become viable for use in COSMIC. Various COSMIC applets have already been written in both GTK and Iced for comparison. The latest development versions of Iced have an API that's very flexible, expressive, and intuitive compared to GTK. It feels very natural in Rust, and anyone familiar with Elm will appreciate its design.

The main jumping-off point for COSMIC is this repository, I think: https://github.com/pop-os/cosmic-epoch

The iced crate is here: https://github.com/iced-rs/iced

Other GUI tookits for Rust can be found here: https://www.areweguiyet.com/

273
 
 

Not really a "sky is falling" sort of post, but it seems like there is room for further exploration and improvement of practices here

274
 
 

Today's Rust and Linux project is up :)

I built this plugin so that I could see NetworkManager controls in results that come back from pop-launcher

I'm using onagre to query/display/action those results

275
view more: ‹ prev next ›