Skip to content

Latest commit

ย 

History

232 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Qompass AI on Rust

Educational Content on the Rust Programming Language

Repository Views GitHub all releases

Rust
Rust Documentation Rust Tutorials
License: Apache 2.0

Ferris the Crab Rust Solutions
โ–ถ๏ธ Qompass AI Quick Start
curl -fSsL https://raw.githubusercontent.com/qompassai/rust/main/scripts/quickstart.sh | sh
๐Ÿ“„ We STRONGLY advise you read the script BEFORE running it ๐Ÿ˜‰
#!/bin/sh
# /qompassai/rust/scripts/quickstart.sh
# Qompass AI Rust Quick Start
# Copyright (C) 2025 Qompass AI, All rights reserved
####################################################
set -eu
IFS=' 
	'
LOCAL_PREFIX="$HOME/.local"
BIN_DIR="$LOCAL_PREFIX/bin"
CONFIG_DIR="$HOME/.config/rust"
DATA_DIR="$HOME/.local/sharerust"
mkdir -p "$BIN_DIR" "$CONFIG_DIR" "$DATA_DIR"
case ":$PATH:" in
*":$BIN_DIR:"*) ;;
*) PATH="$BIN_DIR:$PATH" ;;
esac
export PATH
NEEDED_TOOLS="git curl tar make clang bash"
MISSING=""
for tool in $NEEDED_TOOLS; do
  if ! command -v "$tool" >/dev/null 2>&1; then
    if [ -x "/usr/bin/$tool" ]; then
      ln -sf "/usr/bin/$tool" "$BIN_DIR/$tool"
      echo " โ†’ Added symlink for $tool in $BIN_DIR (not originally in PATH)"
    else
      MISSING="$MISSING $tool"
    fi
  fi
done
if [ -n "$MISSING" ]; then
  echo "โš  Warning: The following tools are missing (not installed or not symlinkable):$MISSING"
  echo "Please install them manually with your package manager to continue."
  exit 1
fi
cat <"/tmp/rust_menu.$USER"
1	Rust Stable (x86_64/Linux)	stable-x86_64-unknown-linux-gnu
2	Rust Nightly (x86_64/Linux)	nightly-x86_64-unknown-linux-gnu
3	Rust Stable (aarch64/Linux)	stable-aarch64-unknown-linux-gnu
4	Rust Stable for Mac (x86_64/macos)	stable-aarch64-apple-darwin
5	Rust Nightly for Mac (aarch64/macos)	nightly-aarch64-apple-darwin
q	Quit
a	All (Advanced)
EOF
printf 'โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ\n'
printf 'โ”‚    Qompass AI ยท Rust Quickโ€‘Start           โ”‚\n'
printf 'โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ\n'
printf '    ยฉ 2025 Qompass AI. All rights reserved   \n\n'
awk -F '\t' 'NF==3 {printf " %s) %s\n", $1, $2}' "/tmp/rust_menu.$USER"
printf ' a) all   (Advanced)\n'
printf ' q) quit\n\n'
printf "Choose toolchains to install [1]: "
read -r choice
[ -z "$choice" ] && choice="a"
[ "$choice" = "q" ] && exit 0
VERSIONS=""
if [ "$choice" = "a" ]; then
  VERSIONS=$(awk -F '\t' 'NF==3 {print $3}' "/tmp/rust_menu.$USER")
else
  for sel in $choice; do
    SELVER=$(awk -F '\t' -v k="$sel" '$1 == k {print $3}' "/tmp/rust_menu.$USER")
    if [ -z "$SELVER" ]; then
      echo "Unknown option: $sel"
      rm -f "/tmp/rust_menu.$USER"
      exit 1
    fi
    VERSIONS="$VERSIONS $SELVER"
  done
fi
OS="unknown"
case "$(uname -s)" in
Linux*) OS="linux" ;;
Darwin*) OS="macos" ;;
CYGWIN* | MINGW* | MSYS*) OS="windows" ;;
esac
echo "==> Detected OS: $OS"
add_path_to_shell_rc() {
  rcfile=$1
  line="export PATH=\"$BIN_DIR:\$PATH\""
  if [ -f "$rcfile" ]; then
    if ! grep -Fxq "$line" "$rcfile"; then
      printf '\n# Added by Qompass AI Rust quickstart script\n%s\n' "$line" >>"$rcfile"
      echo " โ†’ Added PATH export to $rcfile"
    fi
  fi
}
if ! command -v rustup >/dev/null 2>&1; then
  echo "โš  rustup not found. Installing rustup for $OS ..."
  case "$OS" in
  linux | macos)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
    PATH="$HOME/.cargo/bin:$PATH"
    export PATH
    add_path_to_shell_rc "$HOME/.bashrc"
    add_path_to_shell_rc "$HOME/.zshrc"
    add_path_to_shell_rc "$HOME/.profile"
    ;;
  windows)
    echo "โŒ Automated rustup installation is not supported on Windows by this script."
    echo "โžก Please install it manually via https://rustup.rs/"
    rm -f "/tmp/rust_menu.$USER"
    exit 1
    ;;
  *)
    echo "โŒ Unknown OS. Cannot install rustup."
    rm -f "/tmp/rust_menu.$USER"
    exit 1
    ;;
  esac
else
  echo "โœ… rustup found"
fi
COMPONENTS="cargo clippy rustfmt rust-src rust-docs rustc rust-analyzer llvm-tools-preview"
TARGETS="x86_64-unknown-linux-musl x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu aarch64-apple-darwin wasm32-wasi riscv64gc-unknown-linux-gnu aarch64-unknown-linux-rocm"
CARGO_TOOLS="bacon bacon-ls bat cargo2nix crane cargo-zigbuild cross cargo-debugger cargo-lipo cargo-apk cargo-godot cargo-ndk maturin cargo-leptos cxxbridge-cmd flamegraph cargo-bloat cargo-udeps cargo-sweep nixpkgs-fmt"
echo "==> Installing Rust toolchains..."
for t in $VERSIONS; do
  echo " โ–ช Installing $t"
  rustup toolchain install "$t"
  echo "   Adding components to $t"
  for c in $COMPONENTS; do
    rustup component add "$c" --toolchain "$t" 2>/dev/null || true
  done
done
echo "==> Adding cross-compilation targets..."
for t in $VERSIONS; do
  echo " โ–ช Processing targets for $t"
  for tgt in $TARGETS; do
    rustup target add "$tgt" --toolchain "$t" 2>/dev/null || true
  done
done
echo "==> Installing popular cargo tools..."
for tool in $CARGO_TOOLS; do
  echo " โ–ช Installing $tool"
  cargo install "$tool" --locked --force 2>/dev/null || true
done
if ! command -v zig >/dev/null 2>&1; then
  cargo install zig --locked --force 2>/dev/null || true
fi
echo "โœ… Rust cross-compilation environment setup complete!"
echo "โ†’ Please restart your terminal or run 'export PATH=\"$BIN_DIR:\$PATH\"' to update your PATH."
rm -f "/tmp/rust_menu.$USER"
exit 0 

Or, View the quickstart script.

๐Ÿงญ About Qompass AI

Matthew A. Porter
Former Intelligence Officer
Educator & Learner
DeepTech Founder & CEO

Publications

ORCID ResearchGate Zenodo

Developer Programs

NVIDIA Developer Meta Developer HackerOne HuggingFace Epic Games Developer

Professional Profiles

Personal LinkedIn Startup LinkedIn

Social Media

X/Twitter Instagram Qompass AI YouTube

๐Ÿ”ฅ How Do I Support
๐Ÿ›๏ธ Qompass AI Pre-Seed Funding 2023-2025 ๐Ÿ† Amount ๐Ÿ“… Date
RJOS/Zimmer Biomet Research Grant $30,000 March 2024
Pathfinders Intern Program
View on LinkedIn
$2,000 October 2024

๐Ÿค How To Support Our Mission

GitHub Sponsors Patreon Liberapay Open Collective Buy Me A Coffee

๐Ÿ” Cryptocurrency Donations

Monero (XMR):

Monero QR Code
42HGspSFJQ4MjM5ZusAiKZj9JZWhfNgVraKb1eGCsHoC6QJqpo2ERCBZDhhKfByVjECernQ6KeZwFcnq8hVwTTnD8v4PzyH
๐Ÿ“‹ Copy Address

Funding helps us continue our research at the intersection of AI, healthcare, and education

Frequently Asked Questions

Q: How do you mitigate against bias?

TLDR - we do math to make AI ethically useful

A: We delineate between mathematical bias (MB) - a fundamental parameter in neural network equations - and algorithmic/social bias (ASB). While MB is optimized during model training through backpropagation, ASB requires careful consideration of data sources, model architecture, and deployment strategies. We implement attention mechanisms for improved input processing and use legal open-source data and secure web-search APIs to help mitigate ASB.

AAMC AI Guidelines | One way to align AI against ASB

AI Math at a glance

Forward Propagation Algorithm

$$ y = w_1x_1 + w_2x_2 + ... + w_nx_n + b $$

Where:

  • $y$ represents the model output
  • $(x_1, x_2, ..., x_n)$ are input features
  • $(w_1, w_2, ..., w_n)$ are feature weights
  • $b$ is the bias term

Neural Network Activation

For neural networks, the bias term is incorporated before activation:

$$ z = \sum_{i=1}^{n} w_ix_i + b $$ $$ a = \sigma(z) $$

Where:

  • $z$ is the weighted sum plus bias
  • $a$ is the activation output
  • $\sigma$ is the activation function

Attention Mechanism- aka what makes the Transformer (The "T" in ChatGPT) powerful

The Attention mechanism equation is:

$$ \text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V $$

Where:

  • $Q$ represents the Query matrix
  • $K$ represents the Key matrix
  • $V$ represents the Value matrix
  • $d_k$ is the dimension of the key vectors
  • $\text{softmax}(\cdot)$ normalizes scores to sum to 1

Q: Do I have to buy a Linux computer to use this? I don't have time for that!

A: No. You can run Linux and/or the tools we share alongside your existing operating system:

  • Windows users can use Windows Subsystem for Linux WSL
  • Mac users can use Homebrew
  • The code-base instructions were developed with both beginners and advanced users in mind.

Q: Do you have to get a masters in AI?

A: Not if you don't want to. To get competent enough to get past ChatGPT dependence at least, you just need a computer and a beginning's mindset. Huggingface is a good place to start.

Q: What makes a "small" AI model?

A: AI models ~=10 billion(10B) parameters and below. For comparison, OpenAI's GPT4o contains approximately 200B parameters.

License

This project is licensed under the Apache License, Version 2.0.

Copyright 2025 Qompass AI.

About

Educational Content on the Rust Programming Language

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages