Sairam.

Sahanav Sai Ramesh

Software, math, and a podcast — for people who suspect life is happening for them, not to them.

For the people in my life, and the questions I can't put down.

scroll

I'm

16

third year at

UC Riverside

COMPUTER SCIENCE · CLASS OF 2027

full-stack engineering lead at

Sai Mithra LLC

REMOTE · TEAM OF THREE

and outside of work

I build things for people I know, write occasionally about markets and methods, host a podcast, and read more carefully than I used to.

And maybe, soon, for you.

Now

Now.

reading

A Nutshell
Intellectual Property
Schechter & Thomas
A Nutshell
Torts
Kionka

two volumes about how the world keeps its promises.

drafting

the Half-Continuous Model

SahastaDirectionality evaluated as a continuous average across timeframes.

τ₁ + τ₂ + τ₃ → continuous avg

writing

EFFECTIVE
SAHASTA
HOLDINGS

operating agreements I'm not
legally required to write.

for the love of defined terms, well-allocated authority, and prose that means exactly one thing.

memory_safety.rs rust 1.83.0 stable
1// What's worth not shutting up about.
2//
3// Memory safety. Without a garbage collector.
4
5fn main() {
6 let s = String::from("hello");
7 take_ownership(s);
8 // println!("{}", s); // value moved — won't compile.
9}
10
11fn take_ownership(s: String) {
12 println!("{}", s);
13} // s is dropped here. memory freed. deterministically.
14
15
16// References borrow without taking ownership.
17
18fn borrow(s: &String) -> usize {
19 s.len()
20}
21
22
23// Lifetimes make borrows explicit at compile time.
24
25fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
26 if x.len() > y.len() { x } else { y }
27}
28
29
30// The borrow checker prevents data races.
31
32let mut v = vec!, , ;
33let first = &v;
34v.push();
35//
36// error[E0502]: cannot borrow `v` as mutable
37// because it is also borrowed as immutable
38// --> src/main.rs:34:1
39//
40// the compiler is your friend, not your bouncer.
41
42
43// Send + Sync are auto-derived. Threading is fearless.
44
45use std::thread;
46
47let handle = thread::spawn(move || {
48 println!("from another thread");
49});
50handle.join().unwrap();
51
52
53// Errors are values. No nulls. No exceptions.
54
55fn parse(s: &str) -> Result<i32, ParseIntError> {
56 s.parse::<i32>()
57}
58
59
60// Traits compose like algebra.
61
62trait Greet { fn hello(&self) -> String; }
63
64impl Greet for &str {
65 fn hello(&self) -> String { format!("hello, {}", self) }
66}
67
68
69// Match on enums, exhaustive by default.
70
71enum Tree<T> {
72 Leaf(T),
73 Node(Box<Tree<T>>, Box<Tree<T>>),
74}
75
76
77// The result:
78// memory safety without a garbage collector,
79// data race freedom without locks,
80// abstractions without overhead.
81//
82//
83//
84// That's why I won't shut up.
rust-analyzer · 0 errors · 0 warningsbecoming the guy who just won't shut up

Trained in rooms with

Tony Robbins

15events
UPW×6
LM×3
WM×3
DWD×2
GYLS×1

The Show

For Us.
Not To Us.

Everything in your life is happening for your benefit,
no matter how contrary it may seem.

Listen
For Us Not To Us
spotify · 5 years · ongoing

Languages I think in

CC++RustJavaJavaScriptTypeScriptARM32ARM64MIPS

Sairam.

to

me@sahastasai.com

If you are building something curious,

want to talk math,

want to come on the show,

write.

Sahanav Sai Ramesh · 2026