Reed Yalouh — portfolio and thoughts
Biography
The most interesting problems live at the boundaries, between disciplines, cultures, and systems of thought.
Born in Morocco and raised in Abu Dhabi, I graduated from UC Berkeley with a degree in Computer Science and a minor in Jewish Studies. Growing up across cultures gave me an early sense that the most interesting problems don't stay inside their lane. They live at the edges of technology, institutions, and power.
My technical work spans reinforcement learning, game theory, and large-scale software systems. The thread running through it is decision-making under uncertainty: how algorithms, organizations, governments, and adversaries behave when information is incomplete and failure compounds. I'm drawn to the moments when a system has to act anyway.
Growing up in the Middle East made these questions concrete. The region doesn't let you believe that elegant ideas are enough. Systems break in the gap between how they're supposed to work and how people actually behave, and I've always been obsessed with that gap. Understanding it, taking it apart, and building something better in its place.
That obsession has followed me since I was a kid. I tend to find a problem I can't stop thinking about, learn whatever I need to understand it, and build until the idea becomes real. Today, that means building software for messy, high-stakes environments where AI systems have to reason, act, coordinate, and recover in the real world. The engineering and the larger questions about how these systems reshape the world feel, to me, like the same problem at different scales.
Projects
- slug
nimbleprobe
- title
NimbleProbe
- category
security
- kind
agentic red-team simulation
- stack
Python · Containers · Local LLM
- summary
Agentic red-team simulation framework. Run the loop: environment → context → reasoning → action → feedback → report →
- problem
LLM-based security agents can produce plausible plans without grounding those plans in real host state, network context, permissions, installed software, package managers, or cloud metadata.
- built
A containerized lab framework that collects structured telemetry from the operating system, installed software, package managers, cloud metadata endpoints, file permissions, and reachable network services, then uses a local code-oriented LLM to generate investigative plans, choose actions, analyze pivots, and produce remediation reports.
- mechanisms
host and network telemetry
structured context model
local code-oriented LLM planning
action-feedback loop
pivot analysis
remediation report generation
- edgeCases
separating observed facts from agent inference
preventing hallucinated host context
keeping actions inside a containerized lab
avoiding public exploit detail exposure
making the final report auditable
- artifact
Architecture flow, sanitized run transcript, lab-only demo, remediation report example. No unsafe exploit payloads or real target data.
- link
https://spuz.me/blog/zine/n4753c_h4ck47h0n_2
- repoNote
The artifact walks a sanitized lab run of the agent loop, separating observed host facts from agent inference. No real target data or exploit payloads.
- title
AI Dialogue Mapping Platform
- category
ai
- kind
deployed AI system
- stack
Full-stack · LLM
- summary
Pre-conversation intake and synthesis engine for difficult group discussions.
- problem
Participants enter hard conversations with hidden disagreements about definitions, assumptions, values, and what they think others misunderstand.
- built
A full-stack platform that interviews participants with adaptive LLM prompts, stores answers in structured form, compares participants across shared concepts, and generates a facilitator brief.
- mechanisms
adaptive intake prompts
structured response storage
cross-participant comparison
tension & shared-ground extraction
facilitator brief generation
- edgeCases
uneven answer depth
minority views need preservation
synthesis must not flatten disagreement
admin needs usable output fast
- artifact
Public demo with anonymized data; private implementation notes.
- title
Sanctions-Evasion Network Analysis
- category
data
- kind
intelligence workflow
- stack
Graph · Analyst UI
- summary
Entity-graph workflow moving from raw relationships to investigative triage.
- problem
Analysts need a path from entity search to suspicious relationships, risk indicators, and a briefing-ready explanation, not disconnected tables.
- built
A workflow connecting entity, trade, and financial relationship data into a graph view organized around investigation steps: search, expand, inspect, triage, summarize.
- mechanisms
entity graph modeling
relationship expansion
path inspection
risk-indicator panel
briefing output
- edgeCases
ambiguous entity names
dense graph clutter
false-positive pathways
explainability for reviewers
- artifact
Synthetic-data demo to avoid exposing sensitive data.
- slug
x-devrel-pulse
- title
X DevRel Pulse
- category
data
- kind
developer intelligence · signal classification
- stack
Python · X API · SQLite · xAI/Grok
- summary
Developer-intelligence pipeline that turns public X API frustration into prioritized, actionable DevRel signals.
- problem
Developer conversations mix urgent production blockers with tutorials, announcements, and general discussion, making it difficult for DevRel teams to identify the issues that need action.
- built
A pipeline that collects relevant public posts through X API Recent Search, applies a deterministic classifier to separate topic, pain intent, and severity, persists structured signals in SQLite, ranks the highest-signal issues, and optionally produces a Grok/xAI summary.
- mechanisms
X API Recent Search ingestion
deterministic topic and pain classification
severity and confidence scoring
structured signal persistence
owner and artifact recommendation
optional Grok/xAI summarization
- edgeCases
distinguishing genuine blockers from topical discussion
detecting production and business impact
preserving classifier explainability
handling incomplete public metadata
keeping summarization optional rather than core to classification
- artifact
Public repository with an offline demo, 16-case classifier evaluation suite, live X API search path, SQLite persistence, and optional summarization.
- github
https://github.com/reedyalouh2/x-devrel-pulse
- repoNote
The repository includes an offline mode for evaluating the complete pipeline without live API credentials.
- title
Sequential Game Analysis Infrastructure
- category
research
- kind
research engineering
- stack
Rust · Python
- summary
State-space search and visualization tooling for adversarial sequential games.
- problem
Large game trees are impossible to read from raw solver output. Researchers need interpretable views of strategy behavior, outcomes, and policy structure.
- built
Rust/Python infrastructure for state representation, exhaustive search, redundant-computation reduction, evaluation utilities, and visualization across large adversarial environments.
- mechanisms
state encoding
search traversal
memoization / caching
outcome classification
strategy comparison views
- edgeCases
state explosion
duplicate states via different paths
hard-to-interpret policy output
visualizing very large trees
- artifact
Research writeup plus selected visual outputs.
- title
Multilingual Review Classification System
- category
ai
- kind
applied ML system · multilingual classification · analyst triage
- stack
Python · scikit-learn · TF-IDF · SMOTE · Linear SVM
- summary
Multilingual review classifier for routing noisy social/product text into Homegoods, Beauty, and Other. Expand the card, then open the artifact to inspect the pipeline, metrics, confusion matrix, and public release design →
- problem
Review triage becomes difficult when incoming text is noisy, multilingual, emoji-heavy, and unevenly distributed across categories. The system needed to turn messy Instagram/Reddit-style exports into a reliable classification pipeline: normalize inconsistent fields, preserve useful emoji signal, map labels across datasets, handle class imbalance, and separate Homegoods, Beauty, and Other despite overlap between categories.
- built
A multilingual text classification pipeline for applied review triage. The system standardizes CSV inputs, merges title/body fields, converts emojis into semantic text tokens with emoji.demojize, maps labels into Homegoods / Beauty / Other, vectorizes text with TF-IDF unigrams and bigrams, applies SMOTE for imbalance correction, and trains linear SVM classifiers with stratified evaluation.
- mechanisms
CSV schema normalization
title/body merge into one inference field
emoji.demojize preprocessing
label mapping into Homegoods / Beauty / Other
TF-IDF unigram + bigram features
English + Spanish stopword handling
SMOTE imbalance correction
targeted Beauty-class oversampling
linear SVM classification
stratified train/test evaluation
classification reports and confusion matrices
- edgeCases
emoji tokens can carry category signal
Beauty is underrepresented and needs imbalance correction
Homegoods and Other overlap in lifestyle/shopping language
Spanish and Korean variants require schema cleanup
Reddit and Instagram text create platform domain shift
missing titles or bodies need predictable handling
overall accuracy can hide weak minority-class recall
public release excludes raw user data, URLs, handles, and private artifacts
- artifact
Native artifact with five linked panels: pipeline, verified metrics, English confusion matrix, synthetic classify_text walkthrough, and public release policy. Verified notebook results include an English 3-class run at 93.18% accuracy over 3,064 test examples with 250,138 TF-IDF features. Per-class F1: Homegoods 0.93, Beauty 0.88, Other 0.95. Spanish 3-class performance was around 78%, with a Spanish Beauty/Other binary run around 85%.
- github
https://github.com/reedyalouh2/multimodal-review-classifier
- repoNote
Private repo contains the GitHub-safe version of the pipeline: preprocessing, training, evaluation, prediction CLI, synthetic sample data, model card, architecture notes, tests, and the native artifact. Raw platform exports, usernames, URLs, private CSVs, trained private artifacts, and proprietary context are excluded.
- title
2048 Game Logic Engine
- category
software
- kind
game logic · state transitions
- stack
Java
- summary
Core 2048 mechanics: board tilt, merges, scoring, game-over detection. Play it →
- problem
The game looks simple but merge rules are subtle: a tile can slide, merge, score, and become ineligible for another merge in the same tilt.
- built
Model logic for a 4×4 board: empty-space detection, max-tile detection, valid-move detection, board tilting, merge ordering, and score updates.
- mechanisms
board-state scan
valid-move detection
single-merge-per-tile rule
directional tilt transform
score & terminal-state update
- edgeCases
three equal tiles in a row
four equal → two merges
tilt with no board change
full board, no legal moves
- artifact
Native artifact with four tabs: an interactive tilt simulator with before/after board previews and merge highlighting, a line-normalized merge engine trace, terminal-state checks (empty space, max tile, available move), and the validation surface.
- github
https://github.com/reedyalouh2/game2048-logic-engine
- title
Deque Data Structure Library
- category
software
- kind
data structures
- stack
Java · Generics
- summary
Linked-list and resizing circular-array deques. Push and pop from either end →
- problem
The same abstract deque API can be implemented with very different memory layouts and performance tradeoffs.
- built
Two generic deques, a linked-node version and a resizing circular-array version, with iteration, equality, comparator-based max queries, and a small sound-synthesis app.
- mechanisms
sentinel-based linked structure
circular index arithmetic
geometric resizing
usage-factor shrink policy
iterator / equality
- edgeCases
wraparound add/remove
resize preserving order
removing to empty
stale-reference avoidance
- artifact
Native artifact with four tabs: live circular-array deque with capacity/head/resize tracking, sentinel-linked-list visualizer, comparator-driven max deque, and a Karplus-Strong synthesis client that uses the deque as a waveform ring buffer.
- github
https://github.com/reedyalouh2/deque-data-structure-library
- title
NGordnet Linguistic Analytics Engine
- category
data
- kind
time series + graph backend
- stack
Java
- summary
Word-frequency time series fused with semantic graph traversal. Expand a synset →
- problem
Historical word usage and semantic relationships are separate data problems: one a time series, one a graph.
- built
A Java backend that parses NGram data, represents word histories over time, models WordNet synsets / hyponyms as a directed graph, and answers queries through backend handlers.
- mechanisms
time-series parsing
year-count aggregation
WordNet graph construction
hyponym traversal
query handler design
- edgeCases
words with missing years
multiple synsets per word
duplicate hyponyms
filter by usage frequency
- artifact
Native artifact with five panels: query pipeline, NGram time-series chart, WordNet graph traversal with multi-word intersection, usage-ranked results, and validation/complexity notes, all driven by synthetic in-browser data.
- github
https://github.com/reedyalouh2/ngordnet-analytics-engine
- title
Procedural World Generation Engine
- category
software
- kind
game systems · large codebase
- stack
Java
- summary
Seeded tile-world generator. Reroll the seed, watch a new world build →
- problem
A generated world should vary across seeds yet be exactly reproducible for the same seed.
- built
A tile-world engine with seeded randomness, room placement, hallway connection, wall/floor rendering, avatar movement, an interaction loop, and save/load.
- mechanisms
seeded RNG
room generation
hallway connectivity
tile rendering
input loop
save / load state
- edgeCases
overlapping rooms
disconnected rooms
thin hallways
invalid movement
reloading exact state
- artifact
Native artifact with five panels: live seeded world map with line-of-sight, generation pipeline, room-connectivity graph, scriptable movement/save-state replay, and validation/complexity notes.
- github
https://github.com/reedyalouh2/procedural-world-engine
- title
Hog Strategy Simulator
- category
ai
- kind
simulation · decision strategy · higher-order functions
- stack
Python · Monte Carlo · Higher-Order Functions
- summary
Two-player dice game with Sow Sad, Boar Brawl, and Sus Fuss rules. Expand the card, then open the artifact to roll dice, sweep strategies, and trace exactly when each rule fires →
- problem
A game strategy must choose actions under probabilistic scoring rules (Sow Sad collapses a turn to 1 if any die rolls a 1), positional triggers (Boar Brawl scores 3·|tens(opp) − ones(player)| when rolling 0 dice), and number-theoretic bonuses (Sus Fuss jumps your score to the next prime if it has exactly 3 or 4 factors). The interaction between these rules creates non-obvious sweet spots that a naive strategy misses.
- built
A Python simulator with dice abstractions (fair + deterministic test dice), turn mechanics with full Sow Sad / Boar Brawl / Sus Fuss handling, higher-order strategy functions (always_roll, catch_up, boar_strategy, sus_strategy, a combined final_strategy), make_averaged for *args-based Monte Carlo evaluation, max_scoring_num_rolls sweeps, win-rate comparisons across strategies, and a full game loop alternating turns until the goal.
- mechanisms
dice abstraction via zero-arg functions
Sow Sad collapse on any 1-roll
Boar Brawl positional payoff with min=1
Sus Fuss prime jump via factor counting
higher-order strategy returning n dice
make_averaged with *args for Monte Carlo
goal-aware turn alternation
strategy composition for the final agent
- edgeCases
zero-dice turn invokes Boar Brawl, not roll_dice
Boar Brawl with equal tens/ones digits returns 1, not 0
scores below 10 have tens digit 0
Sus Fuss must use exactly 3 or 4 factors (not ≥3)
Sus Fuss only fires once per turn, the prime it jumps to is itself prime
catch_up reads opponent score every call
deterministic test dice cycle for reproducible unit tests
game ends the moment a player reaches goal, no over-shoot mid-turn
- artifact
Native artifact with five linked panels: (1) a dice roller that shows Sow Sad collapses live, (2) the full Boar Brawl heatmap colored by payoff with the diagonal min=1 band, (3) every Sus Fuss trigger from 1 to 100 with the prime jump destination, (4) the boar+sus combo lookup that finds the +36 sweet spot at player=91, and (5) Monte Carlo win-rate comparison across the seven strategies with live games-played count. Numbers match a reference Python implementation: always_roll(3)≈0.36, boar≈0.67, sus≈0.68, final≈0.69 win rate vs always_roll(6) under sus_update.
- github
https://github.com/reedyalouh2/hog-strategy-simulator
- repoNote
Private repo contains the full Python simulator (dice, rules, strategies, experiment harness), strategy writeups, and the native portfolio artifact. Win rates and expected turn scores in the artifact are verified against Monte Carlo runs of the same Python code.
- title
Typing Autocorrect & WPM Tool
- category
software
- kind
text processing · UX logic
- stack
Python
- summary
Typing test with accuracy, speed, autocorrect. Type into it →
- problem
Typing tools must measure human input accurately while correcting near-miss words without overcorrecting unrelated text.
- built
Typing-speed and autocorrect logic: paragraph selection, accuracy measurement, WPM calculation, diff functions, correction limits, multiplayer progress reports.
- mechanisms
string tokenization
accuracy / WPM metrics
recursive diff functions
autocorrect thresholds
progress reporting
- edgeCases
punctuation & casing
extra or missing words
edit limit exceeded
ties between candidates
- artifact
Typing demo screenshot and diff-function diagram.
- title
Ants Tower Defense Engine
- category
software
- kind
object-oriented game system
- stack
Python · OOP
- summary
Tower-defense logic from interacting classes. Place ants, watch targeting →
- problem
Game behavior emerges from many interacting object types: places, tunnels, insects, resources, actions, and win/loss conditions.
- built
Game logic for a tower-defense system: linked places, ants, bees, food generation, targeting rules, specialized ant classes, water/armor behavior, queen logic.
- mechanisms
class hierarchy
turn loop
nearest-target search
resource costs
subclass-specific actions
game-end checks
- edgeCases
multiple bees in one place
blocked movement
range-limited attackers
bodyguard interactions
- artifact
GUI screenshot, object model diagram, interaction trace.
- title
Scheme Interpreter
- category
systems
- kind
programming languages
- stack
Python
- summary
Interpreter for a Scheme subset. Step source through read·eval·apply →
- problem
An interpreter must convert code into data, evaluate expressions in environments, apply procedures, and handle special forms that don't evaluate normally.
- built
A Scheme interpreter with tokenization/parsing, expression representation, environment frames, eval/apply logic, lambdas, definitions, recursion, built-ins, special forms.
- mechanisms
lexer / parser
Pair / nil representation
environment chain
eval / apply loop
special-form dispatch
- edgeCases
lexical scoping
recursive calls
quote semantics
lambda frames
incorrect arity
- artifact
Native artifact with four panels: eval/apply trace, environment-frame visualizer, special-form dispatch map, and test surface for reader/evaluator/procedure behavior.
- github
https://github.com/reedyalouh2/scheme-interpreter
- title
Snake Engine in C
- category
systems
- kind
C systems · game engine
- stack
C
- summary
Terminal Snake with board parsing and memory-safe ticks. Start the loop →
- problem
A text-grid game in C demands explicit state representation, pointer-safe updates, file parsing, and careful handling of dynamic board data.
- built
A playable Snake engine: board loading, snake init, head/body/tail updates, collision handling, fruit consumption, random placement, state cleanup.
- mechanisms
grid encoding
struct-based state
file parsing
snake traversal
collision / eat logic
memory cleanup
- edgeCases
multiple snakes
death on collision
fruit at empty cell
ragged input boards
tail update after eating
- artifact
Native artifact with four panels: live tick simulator, C memory model, ragged-board parser, and testing matrix covering movement, collisions, fruit growth, multi-snake handling, and cleanup invariants.
- github
https://github.com/reedyalouh2/snek-engine-c
- title
RISC-V Handwritten Digit Classifier
- category
systems
- kind
assembly · ML systems
- stack
RISC-V asm
- summary
Digit classification at the assembly level. Run the matmul→relu→argmax pipeline →
- problem
A classifier becomes concrete when every matrix load, heap allocation, function call, and arithmetic op is explicit.
- built
A RISC-V assembly classification pipeline: matrix loading, matrix multiplication, ReLU, argmax, file I/O, heap usage, and calling-convention-correct functions.
- mechanisms
RISC-V calling convention
stack / register discipline
matrix multiplication
heap allocation
ReLU
argmax
- edgeCases
dimension mismatch
allocation failure
file read errors
register preservation
invalid args
- artifact
Native artifact with four panels: full inference pipeline, matmul/dot microtrace, stack/heap register discipline view, and test/error-path map for kernels, binary I/O, allocation, and classification.
- github
https://github.com/reedyalouh2/riscv-neural-classifier
- title
RISC-V CPU Datapath
- category
systems
- kind
computer architecture
- stack
Logisim
- summary
CPU datapath executing real RISC-V. Step an instruction through the stages →
- problem
A CPU must coordinate fetch, decode, execute, memory access, and writeback through control signals derived from instruction bits.
- built
A Logisim CPU: program-counter logic, instruction memory, register file, ALU, immediate generation, branch/jump handling, data memory, writeback paths, control logic.
- mechanisms
fetch/decode/execute path
ALU control
register-file wiring
immediate generation
branch/jump selection
memory writeback
- edgeCases
branch target calculation
load/store alignment
control-signal conflicts
wrong writeback source
- artifact
Circuit screenshot and one-instruction trace.
- title
NumC Matrix Library
- category
systems
- kind
performance engineering
- stack
C · SIMD · OpenMP
- summary
C matrix library with SIMD/OpenMP. Toggle optimizations, watch the speedup →
- problem
Matrix ops are easy to write naively, but performance depends on memory layout, vectorization, parallelism, and algorithmic choices.
- built
A NumPy-style matrix library: C allocation, slicing/reference tracking, basic ops, multiplication, exponentiation, SIMD/OpenMP optimization, benchmarking.
- mechanisms
row-major storage
manual alloc / free
reference counting for slices
SIMD vector ops
outer-loop parallelism
fast exponentiation
- edgeCases
invalid dimensions
allocation failure
slice lifetime
non-multiple-of-width loops
power 0/1
- artifact
Benchmark chart, memory-layout diagram, optimization notes.
- title
Pacman Search Planner
- category
ai
- kind
graph search · path planning
- stack
Python · DFS · BFS · UCS · A*
- summary
Pacman path-planning over mazes, corners, and food grids. Expand the card, then open the artifact →
- problem
Pacman search is not just moving to a coordinate. Different tasks require different state representations: a single target uses position, corners require remembering which corners have been visited, and food search requires reasoning over the remaining food grid.
- built
Implemented graph-search agents and search problems for Pacman: DFS, BFS, uniform-cost search, A*, position search, corner-collection search, food-search heuristics, closest-dot planning, and maze-distance queries.
- mechanisms
stack / queue / priority-queue frontiers
explored-set graph search
path reconstruction
cost-sensitive UCS
A* priority g(n)+h(n)
corner and food state augmentation
- edgeCases
repeated states and cycles
illegal wall transitions
unit-cost vs weighted-cost paths
heuristic admissibility and consistency
large food grids with expensive state spaces
- artifact
Deep interactive Pacman search debugger with frontier/expanded/path layers, simple Pacman playback, algorithm comparison, objective switching, cost models, heuristic priorities, and expansion trace. The artifact is intentionally standalone so reviewers can see the end product without the original course skeleton.
- github
https://github.com/reedyalouh2/pacman-search-planner
- repoNote
Private repo includes source code and the standalone artifact. The artifact exists so the search behavior is visible without the full original Pacman skeleton; it uses explicit food pellets so the full search trace remains inspectable and deterministic.
- title
Pacman Multi-Agent Planner
- category
ai
- kind
adversarial search · game-tree planning
- stack
Python · Minimax · Alpha-Beta · Expectimax
- summary
Multi-agent Pacman planner. Expand the card, then open the artifact to watch the board and tree evolve turn by turn →
- problem
Pacman must choose actions while ghosts also move. The correct decision rule changes depending on whether ghosts are adversarial minimizers, stochastic agents, or scared targets that should be pursued.
- built
Implemented reflex evaluation, minimax, alpha-beta pruning, expectimax, and a feature-based state evaluation function for multi-agent Pacman states.
- mechanisms
reflex successor evaluation
multi-agent minimax recursion
alpha-beta pruning
expectimax chance nodes
depth cycling across Pacman and ghosts
food/capsule/ghost feature scoring
- edgeCases
multiple ghosts
depth increments only after all agents move
terminal win/loss states
scared vs active ghost behavior
STOP action penalties
alpha-beta cutoffs without changing minimax value
- artifact
Native TSX multi-turn simulator with moving Pacman/ghost board, recomputed decision tree each turn, root-action values that change with the board, minimax/alpha-beta/expectimax modes, evaluation breakdown, optional trace details, and full-screen mode. Hidden until + more → artifact.
- github
https://github.com/reedyalouh2/multi-agent-search
- repoNote
Private repo includes source code and the native artifact. The artifact makes the multi-agent search behavior visible without requiring the full original Pacman skeleton.
- title
Reinforcement Learning Agents
- category
ai
- kind
MDPs · RL
- stack
Python · Value Iteration · Q-Learning
- summary
Value iteration and Q-learning on the Russell-Norvig BookGrid. Expand the card, then open the artifact to step Bellman sweeps, train Q episodes, and inspect the Q-table →
- problem
Some agents can plan from a known MDP using Bellman backups; others must learn Q-values from experience under noisy transitions, exploration vs exploitation tradeoffs, and unseen state-action pairs. The original Pacman/Gridworld skeleton is not bundled here, so the portfolio needs a faithful standalone artifact that reproduces the same numerical mechanics on a canonical MDP.
- built
Value-iteration and Q-learning agents for CS188-style MDPs: batch Bellman backups, Q-value computation from V, greedy policy extraction, epsilon-greedy exploration, sample-based temporal-difference learning, approximate Q-learning with feature weights, and analysis-question parameter shaping (discount, noise, living reward).
- mechanisms
batch Bellman value backups
Q(s,a) from V via expected one-step lookahead
greedy policy extraction with tie-breaking
epsilon-greedy action selection
temporal-difference Q update Q←(1-α)Q+α(r+γ·max Q')
feature-weighted approximate Q-values
noise-model transition sampling
- edgeCases
terminal states with no legal actions
unseen state-action pairs default to 0
tie-breaking between equal Q-values
discount / noise / living-reward shape policy direction
exploration vs exploitation tradeoff at low ε
feature scaling for approximate Q-learning
Q-learning convergence vs value-iteration ground truth
- artifact
Native artifact reproducing the original project mechanics on the Russell-Norvig 4×3 BookGrid: step Bellman sweeps and watch V propagate from the +1 terminal outward, train Q-learning episodes with a live agent trajectory, inspect the full Q-table per state, compare the learned Q-policy against the value-iteration ground truth, and shape the policy via discount/noise/living-reward sliders that mirror analysis.py. Numbers match a reference Python implementation to within rounding.
- github
https://github.com/reedyalouh2/reinforcement-learning-agents
- repoNote
Private repo contains the original project implementation files (valueIterationAgents.py, qlearningAgents.py, analysis.py) and the standalone artifact. The embedded artifact is a faithful reproduction so the algorithmic behavior is inspectable without the original Pacman/Gridworld skeleton; its V and Q values have been verified to match a reference Python implementation of the same mechanics.
- title
Probabilistic Ghost Tracking
- category
ai
- kind
Bayes nets · HMM inference
- stack
Python
- summary
Belief tracking from noisy sensors. Observe a reading, watch the posterior update →
- problem
Pacman can't directly observe ghost locations, so it must maintain and update beliefs under sensor noise and movement uncertainty.
- built
Inference agents using Bayes nets, variable elimination, exact inference over time, and particle filtering for one or more moving hidden ghosts.
- mechanisms
factor operations
variable elimination
belief distribution updates
time-elapse model
observation update
particle resampling
- edgeCases
zero-weight particles
jail position
multiple ghosts
normalization
noisy likelihoods
- artifact
Exact-vs-particle posterior visualization, animated noisy-sensor belief update, and inference-flow card. Full course solution code kept private.
- github
https://github.com/reedyalouh2/probabilistic-ghost-tracking
- repoNote
Private repo contains artifact, explanation, and attribution only. Full solution code kept private.
- title
Neural Models for Classification
- category
ai
- kind
machine learning
- stack
PyTorch
- summary
Train curves for digit ID, language ID, CNNs, attention. Run training →
- problem
Different supervised tasks require different architectures, losses, and input representations.
- built
Neural models trained for digit classification, language identification, convolutional image recognition, attention-based prediction, and character-level modeling.
- mechanisms
training loop
loss functions
linear layers
CNN feature extraction
attention weights
validation metrics
- edgeCases
overfitting
class imbalance
learning-rate sensitivity
sequence length variation
misclassified examples
- artifact
Model smoke tests, regression training curve, predicted-vs-true function approximation, attention probe, and manual convolution probe. Full course solution code kept private.
- github
https://github.com/reedyalouh2/neural-models
- repoNote
Private repo contains artifact and technical writeup. Full training/source code kept private.
- title
Memory Safety Exploitation Lab
- category
security
- kind
binary exploitation · stack internals
- stack
C · x86 · GDB
- summary
Seven classic memory-corruption classes on 32-bit x86, each defeated in a lab and mapped to the mitigation that stops it. Expand the card, then open the artifact to watch the stack overflow, the canary catch, and step through every technique →
- problem
Unsafe memory operations corrupt stack and control data and create exploitable control-flow behavior. Each mitigation introduced to stop one technique (length checks, stack canaries, address randomization, input transforms) carries its own bypass, and understanding why requires seeing the stack at the byte level, not just reading about it.
- built
A structured study of seven vulnerability classes, plain overflow, signed-length bypass, canary leak-and-replay, off-by-one frame-pointer corruption, input-transform-aware overflow, format-string write primitive, and info-leak + canary + libc, each analyzed in a debugger, exploited in an isolated lab, and mapped to the modern defense that closes it.
- mechanisms
32-bit x86 stack-frame analysis in GDB
buffer overflow reaching the saved return address
signed vs unsigned length-check confusion
stack canary leak and verbatim replay
off-by-one saved-frame-pointer corruption
format-string %hn write primitive
info-leak-driven ASLR defeat
mapping each technique to its mitigation
- edgeCases
little-endian address byte order
one-byte SFP overwrite is a full control primitive
reversible input transforms add no security
canaries fail the moment they're observable
ASLR collapses on a single address leak
layered defenses because each one alone has a bypass
- artifact
Native artifact with four panels: (1) a live stack visualizer where you fire an overflow and watch bytes climb from the buffer into the saved frame pointer and return address, (2) a stack-canary demo showing the guard catching a naive overflow then being defeated by a leak-and-replay, (3) a step-through of all seven challenges with their stack layouts and conceptual payload shapes, and (4) a mitigation matrix mapping each technique to the defense that stops it. Defense-oriented, no working payloads, no shellcode, no real offsets.
- github
https://github.com/reedyalouh2/memory-safe-exploitation
- repoNote
Private repo contains a defense-oriented writeup, a 32-bit x86 stack primer, a per-challenge walkthrough, and a mitigations reference. Deliberately contains no runnable exploits, target addresses, or shellcode, the value is in understanding why each bug is exploitable and what stops it.
- title
Cryptographic File Sharing System
- category
security
- kind
secure storage · applied cryptography
- stack
Go · AES · HMAC · RSA · DSA · Argon2
- summary
End-to-end encrypted file sharing that assumes the server is malicious. Expand the card, then open the artifact to inspect the untrusted datastore, trace the key hierarchy, and watch revocation re-key the file →
- problem
A storage system must keep files confidential and integrity-protected even when the datastore itself is adversarial, free to read, tamper with, reorder, or delete any byte, and when sharing relationships change, including users who must be cryptographically locked out after having had legitimate access.
- built
A client-side design with no trusted server logic: password-derived key hierarchies, an encrypted per-user file index, per-user-per-file access nodes, a main-file-node indirection layer that makes sharing and revocation tractable, files stored as a backwards linked list for constant-bandwidth appends, public-key-wrapped + digitally-signed invitations, and a revocation path that re-keys the entire file and cascades to sub-sharees.
- mechanisms
Argon2 root key derived from password + username salt
HashKDF subkey separation per object family
encrypt-then-MAC on every stored object
per-page keys derived from file key + page UUID
deterministic UUIDs for index-free access
MFN indirection: one node per direct sharee
public-key-wrapped, DS-signed invitations
revocation re-key with automatic cascade
- edgeCases
datastore adversary tampers with any object → integrity check fails, never silent corruption
revoked user retains old keys but they decrypt nothing new
append bandwidth must not scale with file size, file count, or share count
authentication by decryption, no stored password or verifier
overwrite preserves existing share graph
revoke-before-accept, double-share, and non-owner revoke all rejected
sub-sharees ride inviter's MFN so cascade is automatic
- artifact
Native artifact with four linked panels: (1) a live view of the untrusted key-value datastore showing every object as ciphertext, (2) an interactive key-hierarchy tree from the Argon2 root down to per-page keys, (3) a step-through of the backwards-linked-list append showing that only one new page is written, and (4) a revocation simulator that re-keys the file and visibly scrambles a revoked user's view while authorized users still read it. The artifact is a faithful structural model of the real implementation.
- github
https://github.com/reedyalouh2/cryptographic-file-sharing
- repoNote
Private repo contains the full Go implementation, integration test suite (correctness, integrity, bandwidth, sharing/revocation), architecture and threat-model docs, and the standalone artifact. The artifact faithfully reproduces the encryption and keying scheme so the security behavior is inspectable without the full course skeleton.
- title
Vulnerable Web Server Breach Lab
- category
security
- kind
web exploitation · trust boundary analysis
- stack
Web · HTTP · SQL · JavaScript
- summary
Six web-application vulnerabilities across three attack families, SQL injection, XSS, and path traversal. Expand the card, then open the artifact to probe each trust boundary and see the attack fire and the fix engage →
- problem
Web systems fail when user-controlled input crosses a trust boundary without being sanitized: into a SQL query, into HTML, or into a file path. Each of the six flaws here is one missing sanitization step, and together they form a complete escalation chain from unauthenticated attacker to admin access and arbitrary file read.
- built
A controlled analysis of a deliberately vulnerable file-hosting application. Identified and exploited: SQL injection via UNION SELECT for data exfiltration and session hijack, stored XSS via filename to steal session cookies, reflected XSS combined with CSRF to delete files, SQL injection plus MD5 hash cracking for admin escalation, and path traversal to read server-side config files. Each mapped to the precise defensive control that closes it.
- mechanisms
UNION SELECT injects a second query alongside the original
session token lookup injectable via same SQLi surface
filename stored and rendered as HTML without encoding
reflected ?term= parameter executes in victim's browser
cross-origin POST accepted without CSRF token check
MD5 hash extracted and cracked offline in seconds
../config traverses out of the intended file directory
- edgeCases
SQL injection via search field reaches a different table than intended
session tokens must be validated for format before reaching the database
stored XSS requires sharing with a target to become a targeted attack
reflected XSS + CSRF fire together from a single crafted URL
MD5 with no salt is trivially reversible for common passwords
path traversal requires only a single ../ to escape the serving directory
parameterized queries alone close three of the six flags
- artifact
Native artifact: a request-flow visualizer for each of the six vulnerability classes. Pick an attack, watch the request probe the application layer, see the injection/XSS/traversal fire against the vulnerable state, then toggle the defense, parameterized query, output encoding, CSRF token, Argon2, or path canonicalization, and see it block at the trust boundary. Sanitized; no live credentials or session data.
- github
https://github.com/reedyalouh2/vulnerable-web-server-breach-lab
- repoNote
Private repo contains per-vulnerability writeups, a defense reference mapping each control to the attack step it breaks, and a trust-boundary analysis. No live credentials, tokens, or exploit scripts.
- title
Traceroute Implementation
- category
networks
- kind
packet-level networking
- stack
Python
- summary
Traceroute from scratch. Send probes, watch TTL climb and hops resolve →
- problem
Traceroute must infer hop-by-hop paths from limited ICMP responses while handling timeouts, duplicates, unrelated packets, malformed packets, and loops.
- built
A Python traceroute using increasing-TTL probes, UDP sends, ICMP response parsing, router grouping by distance, and defensive packet validation.
- mechanisms
TTL-controlled probes
raw packet parsing
IPv4 header extraction
ICMP type/code handling
per-hop grouping
timeout logic
- edgeCases
duplicate packets
delayed duplicates
invalid ICMP
truncated buffers
silent routers
router loops
- artifact
Route diagram, packet-header diagram, edge-case matrix.
- github
https://github.com/reedyalouh2/traceroute-from-scratch
- repoNote
Private repo: the implementation plus byte-level packet-format and edge-case docs. The artifact shows the TTL climb, the nested ICMP packet, and per-probe port matching.
- title
Distance-Vector Routing Protocol
- category
networks
- kind
distributed routing
- stack
Python
- summary
Router mesh with Bellman-Ford. Cut a link, watch the network reconverge →
- problem
Routers must learn paths from neighbors while avoiding stale routes, loops, and count-to-infinity behavior.
- built
A distance-vector router: static routes, forwarding, advertisements, Bellman-Ford updates, route expiration, split horizon, poison reverse, triggered updates.
- mechanisms
forwarding-table entries
route advertisements
Bellman-Ford update
route TTL expiration
split horizon
poison reverse
triggered updates
- edgeCases
link down
route timeout
equal-cost stability
count-to-infinity
poisoned propagation
- artifact
Simulator trace, protocol notes, route-table snapshots.
- github
https://github.com/reedyalouh2/distance-vector-routing
- repoNote
Private repo: the router plus algorithm and loop-avoidance docs. The artifact lets you cut a link and watch count-to-infinity happen, then toggle split horizon to prevent it.
- title
TCP-like Reliable Transport Layer
- category
networks
- kind
transport protocol
- stack
Python
- summary
Reliable delivery over a lossy link. Play the timeline, drop a packet, retransmit →
- problem
Packets can drop, duplicate, reorder, or arrive late, but applications expect ordered byte streams and connection semantics.
- built
A TCP-like transport: connection setup, sequence arithmetic, send/receive windows, ordered delivery, out-of-order buffering, ACK handling, retransmission, state transitions.
- mechanisms
three-way handshake
sequence numbers
sliding windows
ACK processing
out-of-order buffer
retransmission timer
state machine
- edgeCases
dropped SYN/ACK
duplicate data
out-of-order arrival
window wrap
FIN / close
retransmit dedup
- artifact
Protocol diagram, packet trace, state-machine note.
- github
https://github.com/reedyalouh2/tcp-reliable-transport
- repoNote
Private repo: the socket plus state-machine, sequence-space, and RFC 6298 retransmission docs. The artifact computes the real adaptive RTO live as ACKs arrive.
My thinkers
- id
systems
- label
systems & computation
- cx
210
- cy
175
- nodes
- name
von Neumann
- take
the root layer of everything: computation, game theory, nuclear strategy, and machine intelligence as one continuous problem.
- wiki
https://en.wikipedia.org/wiki/John_von_Neumann
- name
Turing
- take
the origin of computation, AI, and codebreaking, and the question still unanswered: can machines think?
- wiki
https://en.wikipedia.org/wiki/Alan_Turing
- name
Shannon
- take
reduced communication to signal, noise, and entropy: that kind of clean reduction is rare.
- wiki
https://en.wikipedia.org/wiki/Claude_Shannon
- name
Gödel
- take
even the most rigorous systems contain truths they can't prove from inside themselves.
- wiki
https://en.wikipedia.org/wiki/Kurt_G%C3%B6del
- name
Bellman
- take
dynamic programming as a model of agency: every decision reshapes the state, the future built recursively from the present.
- wiki
https://en.wikipedia.org/wiki/Richard_E._Bellman
- name
Wiener
- take
cybernetics: feedback, control, biology, and machines as one framework, before 'intelligent systems' was even a category.
- wiki
https://en.wikipedia.org/wiki/Norbert_Wiener
- name
Simon
- take
intelligence under real constraints: bounded rationality, incomplete information, limited time.
- wiki
https://en.wikipedia.org/wiki/Herbert_A._Simon
- name
Kauffman
- take
how order emerges from chaos with no one designing it: that question shows up everywhere once you look.
- wiki
https://en.wikipedia.org/wiki/Stuart_Kauffman
- id
strategy
- label
strategy & conflict
- cx
790
- cy
175
- nodes
- name
Schelling
- take
the invisible mechanics of conflict: threats, signals, and credibility move people more than raw power does.
- wiki
https://en.wikipedia.org/wiki/Thomas_Schelling
- name
Clausewitz
- take
war as politics under uncertainty: friction, morale, and chance; conflict as fundamentally human.
- wiki
https://en.wikipedia.org/wiki/Carl_von_Clausewitz
- name
Luttwak
- take
strategy is paradoxical: strength breeds vulnerability, victory breeds complacency, the obvious move backfires.
- wiki
https://en.wikipedia.org/wiki/Edward_Luttwak
- name
Mackinder
- take
power at geographic scale: land, sea, chokepoints; the physical world outlasts any single leader.
- wiki
https://en.wikipedia.org/wiki/Halford_Mackinder
- name
Napoleon
- take
strategy, speed, and administrative genius fused with historical will: the org innovations mattered as much as the battles.
- wiki
https://en.wikipedia.org/wiki/Napoleon
- name
Kissinger
- take
diplomacy through history and tragedy: order is fragile, legitimacy matters, good intentions have limits.
- wiki
https://en.wikipedia.org/wiki/Henry_Kissinger
- id
institutions
- label
institutions & order
- cx
210
- cy
505
- nodes
- name
Hayek
- take
knowledge is scattered and local: no central planner can see what millions know individually.
- wiki
https://en.wikipedia.org/wiki/Friedrich_Hayek
- name
Scott
- take
states fail when they make society legible on paper but miss how things work on the ground.
- wiki
https://en.wikipedia.org/wiki/James_C._Scott
- name
Olson
- take
why groups stay stuck even when coordination would help everyone: the incentives are the logic, not a bug.
- wiki
https://en.wikipedia.org/wiki/Mancur_Olson
- name
Hirschman
- take
exit, voice, loyalty: how people and institutions respond when things start breaking down.
- wiki
https://en.wikipedia.org/wiki/Albert_O._Hirschman
- name
Lee Kuan Yew
- take
statecraft as execution: institutions, incentives, and discipline actually made real.
- wiki
https://en.wikipedia.org/wiki/Lee_Kuan_Yew
- id
nation
- label
nation & sovereignty
- cx
790
- cy
505
- nodes
- name
Pinsker
- take
cold and diagnostic: Jewish insecurity as a structural condition that needs power, not sympathy or patience.
- wiki
https://en.wikipedia.org/wiki/Leon_Pinsker
- name
Jabotinsky
- take
dignity and survival require power, not appeals: hard realism about what self-determination demands.
- wiki
https://en.wikipedia.org/wiki/Ze%27ev_Jabotinsky
- name
Ahad Ha'am
- take
national revival as a cultural and spiritual question: without that foundation the project hollows out.
- wiki
https://en.wikipedia.org/wiki/Ahad_Ha%27am
- name
Scholem
- take
rescued Jewish mysticism from folklore into a serious tradition with real historical weight.
- wiki
https://en.wikipedia.org/wiki/Gershom_Scholem
- name
Strauss
- take
philosophy as dangerous and layered: the real argument isn't always the surface one.
- wiki
https://en.wikipedia.org/wiki/Leo_Strauss
- id
builders
- label
builders & technology
- cx
500
- cy
150
- nodes
- name
Licklider
- take
imagined computers as partners in thought: augmentation, not just automation, before most knew what a computer was.
- wiki
https://en.wikipedia.org/wiki/J._C._R._Licklider
- name
Jobs
- take
technology wins through taste, narrative, and psychology: making complexity feel simple is its own engineering.
- wiki
https://en.wikipedia.org/wiki/Steve_Jobs
- name
Thiel
- take
secrets and monopolies: what hidden assumptions hold back progress, and what it takes to build something that lasts.
- wiki
https://en.wikipedia.org/wiki/Peter_Thiel
- name
Jensen Huang
- take
saw the infrastructure layer first: GPUs and accelerated computing as the foundation of the AI era.
- wiki
https://en.wikipedia.org/wiki/Jensen_Huang
- id
human
- label
history & the human
- cx
500
- cy
530
- nodes
- name
Hegel
- take
history driven by contradiction and struggle, not smooth progress: ideas evolve through conflict.
- wiki
https://en.wikipedia.org/wiki/Georg_Wilhelm_Friedrich_Hegel
- name
Ibn Khaldun
- take
civilization as a cycle: cohesion, conquest, luxury, decay, renewal; systems thinking in the 14th century.
- wiki
https://en.wikipedia.org/wiki/Ibn_Khaldun
- name
Feynman
- take
real technical depth plus the instinct to cut through fake complexity: he wanted things to actually make sense.
- wiki
https://en.wikipedia.org/wiki/Richard_Feynman
My reads — Reading Atlas
Book coordinates are interpretive placements, not objective measurements.
- id
plato-republic
- title
The Republic
- author
Plato
- published
-375
- concepts
justice
knowledge
political order
forms
education
- id
dostoevsky-crime-punishment
- title
Crime and Punishment
- author
Fyodor Dostoevsky
- published
1866
- concepts
guilt
morality
agency
conscience
alienation
- id
dostoevsky-brothers-karamazov
- title
The Brothers Karamazov
- author
Fyodor Dostoevsky
- published
1880
- concepts
faith
freedom
evil
responsibility
family
- id
dostoevsky-underground
- title
Notes from Underground
- author
Fyodor Dostoevsky
- published
1864
- concepts
rationality
spite
freedom
self-consciousness
modernity
- id
nietzsche-zarathustra
- title
Thus Spoke Zarathustra
- author
Friedrich Nietzsche
- published
1883
- concepts
values
self-overcoming
meaning
morality
nihilism
- id
nietzsche-beyond-good-evil
- title
Beyond Good and Evil
- author
Friedrich Nietzsche
- published
1886
- concepts
morality
perspectivism
power
truth
values
- id
machiavelli-prince
- title
The Prince
- author
Niccolò Machiavelli
- published
1532
- concepts
power
statecraft
strategy
legitimacy
political action
- id
hobbes-leviathan
- title
Leviathan
- author
Thomas Hobbes
- published
1651
- concepts
sovereignty
social contract
order
fear
state
- id
marx-manuscripts
- title
Economic and Philosophic Manuscripts of 1844
- author
Karl Marx
- published
1844
- concepts
alienation
labor
materialism
human nature
capital
- id
descartes-meditations
- title
Meditations on First Philosophy
- author
René Descartes
- published
1641
- concepts
certainty
skepticism
mind
knowledge
method
- id
hume-enquiry
- title
An Enquiry Concerning Human Understanding
- author
David Hume
- published
1748
- concepts
causation
induction
skepticism
experience
knowledge
- id
kant-pure-reason
- title
Critique of Pure Reason
- author
Immanuel Kant
- published
1781
- concepts
epistemology
categories
experience
reason
limits
- id
kuhn-structure
- title
The Structure of Scientific Revolutions
- author
Thomas S. Kuhn
- published
1962
- concepts
paradigm
science
model revision
institutions
progress
- id
popper-conjectures
- title
Conjectures and Refutations
- author
Karl Popper
- published
1963
- concepts
falsification
science
criticism
knowledge
error correction
- id
wiener-cybernetics
- title
Cybernetics
- author
Norbert Wiener
- published
1948
- concepts
feedback
control
information
communication
systems
- id
simon-sciences-artificial
- title
The Sciences of the Artificial
- author
Herbert A. Simon
- published
1969
- concepts
design
bounded rationality
systems
complexity
artificial
- id
scott-seeing-state
- title
Seeing Like a State
- author
James C. Scott
- published
1998
- concepts
legibility
state
planning
local knowledge
institutions
- id
anderson-imagined-communities
- title
Imagined Communities
- author
Benedict Anderson
- published
1983
- concepts
nationalism
identity
print
community
history
- id
fukuyama-origins-order
- title
The Origins of Political Order
- author
Francis Fukuyama
- published
2011
- concepts
institutions
state
law
accountability
political development
- id
hertzberg-zionist-idea
- title
The Zionist Idea
- author
Arthur Hertzberg
- published
1959
- concepts
zionism
nationhood
history
political thought
identity
- id
pinsker-auto-emancipation
- title
Auto-Emancipation
- author
Leon Pinsker
- published
1882
- concepts
emancipation
nationhood
agency
security
political action
- id
diamond-guns-germs-steel
- title
Guns, Germs, and Steel
- author
Jared Diamond
- published
1997
- concepts
geography
development
causation
civilization
history
- id
harari-sapiens
- title
Sapiens
- author
Yuval Noah Harari
- published
2011
- concepts
humanity
institutions
myth
cooperation
history
- id
sun-tzu-art-war
- title
The Art of War
- author
Sun Tzu
- published
-500
- concepts
strategy
uncertainty
deception
conflict
adaptation
- id
homer-odyssey
- title
The Odyssey
- author
Homer
- published
-700
- concepts
homecoming
identity
cunning
fate
memory
- id
homer-iliad
- title
The Iliad
- author
Homer
- published
-750
- concepts
war
honor
fate
rage
mortality
- id
marquez-solitude
- title
One Hundred Years of Solitude
- author
Gabriel García Márquez
- published
1967
- concepts
memory
history
family
myth
time
- id
wilde-dorian-gray
- title
The Picture of Dorian Gray
- author
Oscar Wilde
- published
1890
- concepts
beauty
morality
identity
corruption
self
- id
deutsch-beginning-infinity
- title
The Beginning of Infinity
- author
David Deutsch
- published
2011
- concepts
explanation
knowledge
progress
computation
possibility
- id
karp-technological-republic
- title
The Technological Republic
- author
Alexander C. Karp & Nicholas W. Zamiska
- published
2025
- concepts
technology
state capacity
institutions
purpose
sovereignty
From the internet
- left
essay
- source
Scott Alexander
- title
Meditations on Moloch
- tag
essay
- note
[coordination failure as a civilizational force]
- left
essay
- source
Jo Freeman
- title
The Tyranny of Structurelessness
- tag
essay
- note
[informal power never disappears, it just hides]
- left
essay
- source
Leonard Read
- title
I, Pencil
- tag
essay
- note
[distributed knowledge in a single object]
- left
talk
- source
-
- title
a lecture you keep returning to
- tag
talk
- note
[your note here]
- left
thread
- source
-
- title
a thread that reframed something
- tag
thread
- note
[your note here]
This is a text equivalent of the portfolio's content. Interactive simulations and visualizations require the JavaScript site.