Skip to content

My book on Rust, notes, details, and references.

License

Notifications You must be signed in to change notification settings

bluewitch/RustWerks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RustWerks

My book (dwulf's manifesto) on Rust, notes, details, and references.

RustWerks is a manifesto for Rust specific development and a complete deep dive into all things Rust. Rust was bootstrapped from an compiler written in OCaml. The compiler is also not exclusively written in Rust with the actual code generation and low level optimizations happen through the LLVM library, which is written in C++.

There is also the mrustc project that can be used for bootstrapping. It compiles/transpiles Rust into C that can be compiled using something like Clang or GCC.

Techically speaking, Rust is not "written in anything". It is a language, the syntax, the rules, operations, everything is defined as an abstract concept that eventually is meant to be transcribed to the machine code, that when fed to the computer, does stuff.

A compiler is just a program that is transcribing a source code written in some language to the mentioned machine code. Like every other piece of software, it can be written in any language. Just like a Fibonacci sequence generator, like Fizzbuzz, like anything that does stuff. Input source code, output machine code.

So at first, the source code written in Rust was compiled to the machine code with a compiler written in another language (OCaml apparently, but it can be done in any language, so let's tell that it was C). So you had a program written in C that took source code written in Rust and returned machine code that can be executed on a computer.

Then after testing that the thing works, somebody wrote the program that does the same thing that this old C program did, but this time they written it in Rust. Then they compiled it with the C program.

Now you have a compiled executable originally written in Rust that can compile new things. So we took the executable, compiled the source code and it turned out to work. Thus Rust "compiled itself".

I use Github's dev browser tool and VSCode IDE and have found it a great tool for development and git commits

In Rust we Trust:

~dwulf

I live in code, my logic is real. my own abode, its electrons I steal.

The code is Rust, with a compiler that knows. to never trust, the sytnax that grows.

Complication, is a name of a game. that computation, will reduce just the same.

To clarify, we code what we trust. To simplify, we code it in Rust.


Resource URLs (Rust Core)

Install the rust toolchain

  • curl https://sh.rustup.rs | sh

Install Rustlings, the best way to learn Rust

  • curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash

THE BOOK

Books and Cheatsheets

Courses

misc, etc.


Rust Projects

The following are Rust specific projects that I feel are good learning tools, I find that when I read code I can write it better.


A.I.

Lambda

Linear Algebra


Operating System:

Game Engine:

Social Media:

Media Player:

Pastebin:

Code Forge:

File Encryption Tool:

zk (Zero Knowledge)

Linux Security Tools:

Signing Tool:

Static Site Generator:

Markdown based Doc Generator:

Frontend Web Framework w/ WASM Support:

Backend Web Framework:

Fullstack Framework:

GUI Library:

Matrix Protocol:

Email Server:

Database and related tooling:

Virtualization:

Virtual Private Network:

BitTorrent (v1) Library:

IPFS Protocol Stack:

Hypercore (Dat) Protocol Stack:

Service Health Monitoring System:

Backup Tool:

Container Registry:

-trow, Container Registry and Image Management for Kubernetes Clusters

Captcha:

File Transfer:

Drive:

File Synchronization:

IDP:

Software Framework:

Music Server:

Link Shortener:

Packet Sniffer:


Everything re-written in Rust.

About

My book on Rust, notes, details, and references.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages