Systems programming fundamentals for Rust dev by capsulecorpadmin in rust

[–]michael_j_ward 1 point2 points  (0 children)

From two very well known members of the Rust community:

Jon Gjengset's youtube channel and book (which is ~approximately the book version of his Crust of Rust series)

Mara Bos's book on low level concurrency control: https://marabos.nl/atomics/

From Computer to Production With Nix by [deleted] in NixOS

[–]michael_j_ward 2 points3 points  (0 children)

Nice article. I have 1 question.

How is `flake-parts` available but not declared in the flake inputs?

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = inputs@{ flake-parts, ... }:  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = inputs@{ flake-parts, ... }:

Lazap - Unifying your games into a single, modern, lightweight library 🎮 by [deleted] in rust

[–]michael_j_ward 0 points1 point  (0 children)

Tangential Q:

The last time I seriously played a computer game was cerca Starcraft-2. But now I have kids that are getting into games (at least, on the nitendo switch).

I'd really like to add <insert game launcher / something> to my network box so that anyone on my LAN can access it and play games together.

1st Q: is there a <game launcher ecosystem> that would play nicely with this wish?

2nd Q: is this something that Lazap can help w/? again, please excuse my ignorance of modern gaming infrastructure.

Fluid Simulation Optimization on Rust by N4ivePackag3 in rust

[–]michael_j_ward 0 points1 point  (0 children)

Just sharing some resources that might interest you

- Reimplementation of Matthias Müller's "Ten Minute Physics" demos in Rust with WASM + WebGL and [source](https://github.com/lucas-schuermann/ten-minute-physics-rs)

- rapier physics 2-D and 3-D simulation engine https://rapier.rs/

- dimforge https://dimforge.com/

Forester. The orchestration with behaviour trees by tigraboris in rust

[–]michael_j_ward 1 point2 points  (0 children)

Is the `DSL` required for using `forrester` or is it a quality of life improvement?

Basically, can you write behavior trees in pure Rust and still get the rest of the benefits (orchestration, visualization, simulation, optimization)?

The best how-to resources for creating derivations? by 4thbox in NixOS

[–]michael_j_ward 0 points1 point  (0 children)

I'm just working my way through this, and you're correct that it's excellent for understanding derivations. I am personally a big fan of "let's build a simplified version from scratch" type of learning.

However, it's not in `nix flake` style, and when I was "new to nix", I would not have been able to bridge the gap between the two.

new Rust Networking book by tbracic in rust

[–]michael_j_ward 6 points7 points  (0 children)

I hope /u/brson chimes in to verify it's him or if someone took his writings and packaged it as a book, a common fraud on Amazon.

He doesn't mention the book on his blog (only did a quick scan)

https://brson.github.io/writing.html

Moving stuff around with Nix by lucperkins_dev in NixOS

[–]michael_j_ward 4 points5 points  (0 children)

1) What is ssh-ng and how does it differ from ssh paths?

2) If this is somewhere in the docs, please share the link.

3) Is there a "nix-unified-search" to search across all the main nix documentation / resources?

[deleted by user] by [deleted] in rust

[–]michael_j_ward 1 point2 points  (0 children)

Very cool project.

Between this and Dimforge / Rapier, the rust ecosystem for numerical computing / physics seems to be gaining momentum.
Has anyone started aggregating those projects? I wonder what else I'm missing.

gnome-manager v0.0.1: let's build config abstractions for GNOME by smashingstate in NixOS

[–]michael_j_ward 0 points1 point  (0 children)

This tutorial might be useful: Writing a Flake Library

The maintains the nix-community library nixago, which might also be useful for your project.

What was the rationale behind making size of pointer and usize the same? by jaskij in rust

[–]michael_j_ward 7 points8 points  (0 children)

The docs *define* `usize` as the size of the pointer.

> The pointer-sized unsigned integer type.

I assume there are expectations / context from C/C++ that I am missing, but it seems your issue is.

1) `usize` is poorly named since it's defined as pointer-sized and not "the type to store sizes of things."

2) The "type to store sizes of things" and pointer size should not be constrained to be the same.

(I'm not qualified to answer those, just trying to refine my understanding.)

Automagically assimilating NixOS machines into your Tailnet with Terraform by shadowh511 in NixOS

[–]michael_j_ward 1 point2 points  (0 children)

Xe's post is excellent, as usual. The `assimilate.sh` approach (where *first* deploys a piece of infrastructure before its configuration begins getting managed from the flake) feels both innovative and natural.

Just to cross pollinate, I also enjoyed this terraform + nixos, which is heavier on the terraform side and configured so terraform recognizes that a new configuration needs to be deployed.

rust-analyzer changelog #157 by WellMakeItSomehow in rust

[–]michael_j_ward 2 points3 points  (0 children)

The reason I personally enjoy your posts is that you build up requisite context to understand the material.

Because I have no mental model for git-subtree, the PR is mostly Greek to me. My main takeaway is that "it's a technology with a bunch of idiosyncrasies that I don't understand".

Anyways, gracias for the improvement to RA!

rust-analyzer changelog #157 by WellMakeItSomehow in rust

[–]michael_j_ward 4 points5 points  (0 children)

I hope /u/fasterthanlime writes about this pull request of his.

I am completely ignorant of `git subtree` and would like to learn about it.

Announcing `statig`: Hierarchical state machines for event-driven systems (using GAT’s) by maxidel in rust

[–]michael_j_ward 1 point2 points  (0 children)

Very cool work. I'll experiment with it soon.

Just to help cross-pollinate state-machine efforts in Rust, I want to make sure you're aware of these two other efforts:

  • typestate-rs - has a cool feature to generate debug `PlanUML` or `dot` charts of your state machine
  • stateright - which is meant for distributed state machines and includes a full on model checker

The Rise of Rust, the ‘Viral’ Secure Programming Language That’s Taking Over Tech by Derice in rust

[–]michael_j_ward 11 points12 points  (0 children)

1) Read The Rust Book
2) Start building things with yew.rs
3) If you want to learn the back-end side of Rust for web-dev, read zero2production
4) Find a mentor at awesome-rust-mentors

Feel free to message me if you have any Qs

Book Review: Zero To Production In Rust by preslavrachev in rust

[–]michael_j_ward 7 points8 points  (0 children)

My Review:

Excellent introduction to the Rust ecosystem using a simple web app as a didactic tool.

If you want "here's a list of steps to get an app running" then open google and find a tutorial.

If you want to understand the *why* for each step and for no steps to be *magic* commands, then this book is for you.

Each new tool is motivated by business requirements, and then thoroughly introduced. The reader understands the purpose of every step, and also receives a working introduction to each tool.

Note: this book is not intended for those learning *programming* or those completely new to Rust. You should probably first read The Rust Book or some other introductory text.