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.
nimbleprobe
NimbleProbe
security
agentic red-team simulation
Python · Containers · Local LLM
Agentic red-team simulation framework. Run the loop: environment → context → reasoning → action → feedback → report →
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.
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.
host and network telemetry
structured context model
local code-oriented LLM planning
action-feedback loop
pivot analysis
remediation report generation
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
Architecture flow, sanitized run transcript, lab-only demo, remediation report example. No unsafe exploit payloads or real target data.
https://spuz.me/blog/zine/n4753c_h4ck47h0n_2
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.
AI Dialogue Mapping Platform
ai
deployed AI system
Full-stack · LLM
Pre-conversation intake and synthesis engine for difficult group discussions.
Participants enter hard conversations with hidden disagreements about definitions, assumptions, values, and what they think others misunderstand.
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.
adaptive intake prompts
structured response storage
cross-participant comparison
tension & shared-ground extraction
facilitator brief generation
uneven answer depth
minority views need preservation
synthesis must not flatten disagreement
admin needs usable output fast
Public demo with anonymized data; private implementation notes.
Sanctions-Evasion Network Analysis
data
intelligence workflow
Graph · Analyst UI
Entity-graph workflow moving from raw relationships to investigative triage.
Analysts need a path from entity search to suspicious relationships, risk indicators, and a briefing-ready explanation, not disconnected tables.
A workflow connecting entity, trade, and financial relationship data into a graph view organized around investigation steps: search, expand, inspect, triage, summarize.
entity graph modeling
relationship expansion
path inspection
risk-indicator panel
briefing output
ambiguous entity names
dense graph clutter
false-positive pathways
explainability for reviewers
Synthetic-data demo to avoid exposing sensitive data.
x-devrel-pulse
X DevRel Pulse
data
developer intelligence · signal classification
Python · X API · SQLite · xAI/Grok
Developer-intelligence pipeline that turns public X API frustration into prioritized, actionable DevRel signals.
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.
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.
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
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
Public repository with an offline demo, 16-case classifier evaluation suite, live X API search path, SQLite persistence, and optional summarization.
https://github.com/reedyalouh2/x-devrel-pulse
The repository includes an offline mode for evaluating the complete pipeline without live API credentials.
Sequential Game Analysis Infrastructure
research
research engineering
Rust · Python
State-space search and visualization tooling for adversarial sequential games.
Large game trees are impossible to read from raw solver output. Researchers need interpretable views of strategy behavior, outcomes, and policy structure.
Rust/Python infrastructure for state representation, exhaustive search, redundant-computation reduction, evaluation utilities, and visualization across large adversarial environments.
state encoding
search traversal
memoization / caching
outcome classification
strategy comparison views
state explosion
duplicate states via different paths
hard-to-interpret policy output
visualizing very large trees
Research writeup plus selected visual outputs.
Multilingual Review Classification System
ai
applied ML system · multilingual classification · analyst triage
Python · scikit-learn · TF-IDF · SMOTE · Linear SVM
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 →
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.
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.
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
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
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%.
https://github.com/reedyalouh2/multimodal-review-classifier
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.
2048 Game Logic Engine
software
game logic · state transitions
Java
Core 2048 mechanics: board tilt, merges, scoring, game-over detection. Play it →
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.
Model logic for a 4×4 board: empty-space detection, max-tile detection, valid-move detection, board tilting, merge ordering, and score updates.
board-state scan
valid-move detection
single-merge-per-tile rule
directional tilt transform
score & terminal-state update
three equal tiles in a row
four equal → two merges
tilt with no board change
full board, no legal moves
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.
https://github.com/reedyalouh2/game2048-logic-engine
Deque Data Structure Library
software
data structures
Java · Generics
Linked-list and resizing circular-array deques. Push and pop from either end →
The same abstract deque API can be implemented with very different memory layouts and performance tradeoffs.
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.
sentinel-based linked structure
circular index arithmetic
geometric resizing
usage-factor shrink policy
iterator / equality
wraparound add/remove
resize preserving order
removing to empty
stale-reference avoidance
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.
https://github.com/reedyalouh2/deque-data-structure-library
NGordnet Linguistic Analytics Engine
data
time series + graph backend
Java
Word-frequency time series fused with semantic graph traversal. Expand a synset →
Historical word usage and semantic relationships are separate data problems: one a time series, one a graph.
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.
time-series parsing
year-count aggregation
WordNet graph construction
hyponym traversal
query handler design
words with missing years
multiple synsets per word
duplicate hyponyms
filter by usage frequency
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.
https://github.com/reedyalouh2/ngordnet-analytics-engine
Procedural World Generation Engine
software
game systems · large codebase
Java
Seeded tile-world generator. Reroll the seed, watch a new world build →
A generated world should vary across seeds yet be exactly reproducible for the same seed.
A tile-world engine with seeded randomness, room placement, hallway connection, wall/floor rendering, avatar movement, an interaction loop, and save/load.
seeded RNG
room generation
hallway connectivity
tile rendering
input loop
save / load state
overlapping rooms
disconnected rooms
thin hallways
invalid movement
reloading exact state
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.
https://github.com/reedyalouh2/procedural-world-engine
Hog Strategy Simulator
ai
simulation · decision strategy · higher-order functions
Python · Monte Carlo · Higher-Order Functions
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 →
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.
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.
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
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
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.
https://github.com/reedyalouh2/hog-strategy-simulator
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.
Typing Autocorrect & WPM Tool
software
text processing · UX logic
Python
Typing test with accuracy, speed, autocorrect. Type into it →
Typing tools must measure human input accurately while correcting near-miss words without overcorrecting unrelated text.
Typing-speed and autocorrect logic: paragraph selection, accuracy measurement, WPM calculation, diff functions, correction limits, multiplayer progress reports.
string tokenization
accuracy / WPM metrics
recursive diff functions
autocorrect thresholds
progress reporting
punctuation & casing
extra or missing words
edit limit exceeded
ties between candidates
Typing demo screenshot and diff-function diagram.
Ants Tower Defense Engine
software
object-oriented game system
Python · OOP
Tower-defense logic from interacting classes. Place ants, watch targeting →
Game behavior emerges from many interacting object types: places, tunnels, insects, resources, actions, and win/loss conditions.
Game logic for a tower-defense system: linked places, ants, bees, food generation, targeting rules, specialized ant classes, water/armor behavior, queen logic.
class hierarchy
turn loop
nearest-target search
resource costs
subclass-specific actions
game-end checks
multiple bees in one place
blocked movement
range-limited attackers
bodyguard interactions
GUI screenshot, object model diagram, interaction trace.
Scheme Interpreter
systems
programming languages
Python
Interpreter for a Scheme subset. Step source through read·eval·apply →
An interpreter must convert code into data, evaluate expressions in environments, apply procedures, and handle special forms that don't evaluate normally.
A Scheme interpreter with tokenization/parsing, expression representation, environment frames, eval/apply logic, lambdas, definitions, recursion, built-ins, special forms.
lexer / parser
Pair / nil representation
environment chain
eval / apply loop
special-form dispatch
lexical scoping
recursive calls
quote semantics
lambda frames
incorrect arity
Native artifact with four panels: eval/apply trace, environment-frame visualizer, special-form dispatch map, and test surface for reader/evaluator/procedure behavior.
https://github.com/reedyalouh2/scheme-interpreter
Snake Engine in C
systems
C systems · game engine
C
Terminal Snake with board parsing and memory-safe ticks. Start the loop →
A text-grid game in C demands explicit state representation, pointer-safe updates, file parsing, and careful handling of dynamic board data.
A playable Snake engine: board loading, snake init, head/body/tail updates, collision handling, fruit consumption, random placement, state cleanup.
grid encoding
struct-based state
file parsing
snake traversal
collision / eat logic
memory cleanup
multiple snakes
death on collision
fruit at empty cell
ragged input boards
tail update after eating
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.
https://github.com/reedyalouh2/snek-engine-c
RISC-V Handwritten Digit Classifier
systems
assembly · ML systems
RISC-V asm
Digit classification at the assembly level. Run the matmul→relu→argmax pipeline →
A classifier becomes concrete when every matrix load, heap allocation, function call, and arithmetic op is explicit.
A RISC-V assembly classification pipeline: matrix loading, matrix multiplication, ReLU, argmax, file I/O, heap usage, and calling-convention-correct functions.
RISC-V calling convention
stack / register discipline
matrix multiplication
heap allocation
ReLU
argmax
dimension mismatch
allocation failure
file read errors
register preservation
invalid args
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.
https://github.com/reedyalouh2/riscv-neural-classifier
RISC-V CPU Datapath
systems
computer architecture
Logisim
CPU datapath executing real RISC-V. Step an instruction through the stages →
A CPU must coordinate fetch, decode, execute, memory access, and writeback through control signals derived from instruction bits.
A Logisim CPU: program-counter logic, instruction memory, register file, ALU, immediate generation, branch/jump handling, data memory, writeback paths, control logic.
fetch/decode/execute path
ALU control
register-file wiring
immediate generation
branch/jump selection
memory writeback
branch target calculation
load/store alignment
control-signal conflicts
wrong writeback source
Circuit screenshot and one-instruction trace.
NumC Matrix Library
systems
performance engineering
C · SIMD · OpenMP
C matrix library with SIMD/OpenMP. Toggle optimizations, watch the speedup →
Matrix ops are easy to write naively, but performance depends on memory layout, vectorization, parallelism, and algorithmic choices.
A NumPy-style matrix library: C allocation, slicing/reference tracking, basic ops, multiplication, exponentiation, SIMD/OpenMP optimization, benchmarking.
row-major storage
manual alloc / free
reference counting for slices
SIMD vector ops
outer-loop parallelism
fast exponentiation
invalid dimensions
allocation failure
slice lifetime
non-multiple-of-width loops
power 0/1
Benchmark chart, memory-layout diagram, optimization notes.
Pacman Search Planner
ai
graph search · path planning
Python · DFS · BFS · UCS · A*
Pacman path-planning over mazes, corners, and food grids. Expand the card, then open the artifact →
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.
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.
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
repeated states and cycles
illegal wall transitions
unit-cost vs weighted-cost paths
heuristic admissibility and consistency
large food grids with expensive state spaces
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.
https://github.com/reedyalouh2/pacman-search-planner
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.
Pacman Multi-Agent Planner
ai
adversarial search · game-tree planning
Python · Minimax · Alpha-Beta · Expectimax
Multi-agent Pacman planner. Expand the card, then open the artifact to watch the board and tree evolve turn by turn →
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.
Implemented reflex evaluation, minimax, alpha-beta pruning, expectimax, and a feature-based state evaluation function for multi-agent Pacman states.
reflex successor evaluation
multi-agent minimax recursion
alpha-beta pruning
expectimax chance nodes
depth cycling across Pacman and ghosts
food/capsule/ghost feature scoring
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
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.
https://github.com/reedyalouh2/multi-agent-search
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.
Reinforcement Learning Agents
ai
MDPs · RL
Python · Value Iteration · Q-Learning
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 →
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.
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).
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
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
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.
https://github.com/reedyalouh2/reinforcement-learning-agents
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.
Probabilistic Ghost Tracking
ai
Bayes nets · HMM inference
Python
Belief tracking from noisy sensors. Observe a reading, watch the posterior update →
Pacman can't directly observe ghost locations, so it must maintain and update beliefs under sensor noise and movement uncertainty.
Inference agents using Bayes nets, variable elimination, exact inference over time, and particle filtering for one or more moving hidden ghosts.
factor operations
variable elimination
belief distribution updates
time-elapse model
observation update
particle resampling
zero-weight particles
jail position
multiple ghosts
normalization
noisy likelihoods
Exact-vs-particle posterior visualization, animated noisy-sensor belief update, and inference-flow card. Full course solution code kept private.
https://github.com/reedyalouh2/probabilistic-ghost-tracking
Private repo contains artifact, explanation, and attribution only. Full solution code kept private.
Neural Models for Classification
ai
machine learning
PyTorch
Train curves for digit ID, language ID, CNNs, attention. Run training →
Different supervised tasks require different architectures, losses, and input representations.
Neural models trained for digit classification, language identification, convolutional image recognition, attention-based prediction, and character-level modeling.
training loop
loss functions
linear layers
CNN feature extraction
attention weights
validation metrics
overfitting
class imbalance
learning-rate sensitivity
sequence length variation
misclassified examples
Model smoke tests, regression training curve, predicted-vs-true function approximation, attention probe, and manual convolution probe. Full course solution code kept private.
https://github.com/reedyalouh2/neural-models
Private repo contains artifact and technical writeup. Full training/source code kept private.
Memory Safety Exploitation Lab
security
binary exploitation · stack internals
C · x86 · GDB
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 →
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.
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.
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
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
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.
https://github.com/reedyalouh2/memory-safe-exploitation
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.
Cryptographic File Sharing System
security
secure storage · applied cryptography
Go · AES · HMAC · RSA · DSA · Argon2
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 →
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.
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.
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
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
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.
https://github.com/reedyalouh2/cryptographic-file-sharing
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.
Vulnerable Web Server Breach Lab
security
web exploitation · trust boundary analysis
Web · HTTP · SQL · JavaScript
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 →
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.
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.
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
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
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.
https://github.com/reedyalouh2/vulnerable-web-server-breach-lab
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.
Traceroute Implementation
networks
packet-level networking
Python
Traceroute from scratch. Send probes, watch TTL climb and hops resolve →
Traceroute must infer hop-by-hop paths from limited ICMP responses while handling timeouts, duplicates, unrelated packets, malformed packets, and loops.
A Python traceroute using increasing-TTL probes, UDP sends, ICMP response parsing, router grouping by distance, and defensive packet validation.
TTL-controlled probes
raw packet parsing
IPv4 header extraction
ICMP type/code handling
per-hop grouping
timeout logic
duplicate packets
delayed duplicates
invalid ICMP
truncated buffers
silent routers
router loops
Route diagram, packet-header diagram, edge-case matrix.
https://github.com/reedyalouh2/traceroute-from-scratch
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.
Distance-Vector Routing Protocol
networks
distributed routing
Python
Router mesh with Bellman-Ford. Cut a link, watch the network reconverge →
Routers must learn paths from neighbors while avoiding stale routes, loops, and count-to-infinity behavior.
A distance-vector router: static routes, forwarding, advertisements, Bellman-Ford updates, route expiration, split horizon, poison reverse, triggered updates.
forwarding-table entries
route advertisements
Bellman-Ford update
route TTL expiration
split horizon
poison reverse
triggered updates
link down
route timeout
equal-cost stability
count-to-infinity
poisoned propagation
Simulator trace, protocol notes, route-table snapshots.
https://github.com/reedyalouh2/distance-vector-routing
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.
TCP-like Reliable Transport Layer
networks
transport protocol
Python
Reliable delivery over a lossy link. Play the timeline, drop a packet, retransmit →
Packets can drop, duplicate, reorder, or arrive late, but applications expect ordered byte streams and connection semantics.
A TCP-like transport: connection setup, sequence arithmetic, send/receive windows, ordered delivery, out-of-order buffering, ACK handling, retransmission, state transitions.
three-way handshake
sequence numbers
sliding windows
ACK processing
out-of-order buffer
retransmission timer
state machine
dropped SYN/ACK
duplicate data
out-of-order arrival
window wrap
FIN / close
retransmit dedup
Protocol diagram, packet trace, state-machine note.
https://github.com/reedyalouh2/tcp-reliable-transport
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.
systems
systems & computation
210
175
von Neumann
the root layer of everything: computation, game theory, nuclear strategy, and machine intelligence as one continuous problem.
https://en.wikipedia.org/wiki/John_von_Neumann
Turing
the origin of computation, AI, and codebreaking, and the question still unanswered: can machines think?
https://en.wikipedia.org/wiki/Alan_Turing
Shannon
reduced communication to signal, noise, and entropy: that kind of clean reduction is rare.
https://en.wikipedia.org/wiki/Claude_Shannon
Gödel
even the most rigorous systems contain truths they can't prove from inside themselves.
https://en.wikipedia.org/wiki/Kurt_G%C3%B6del
Bellman
dynamic programming as a model of agency: every decision reshapes the state, the future built recursively from the present.
https://en.wikipedia.org/wiki/Richard_E._Bellman
Wiener
cybernetics: feedback, control, biology, and machines as one framework, before 'intelligent systems' was even a category.
https://en.wikipedia.org/wiki/Norbert_Wiener
Simon
intelligence under real constraints: bounded rationality, incomplete information, limited time.
https://en.wikipedia.org/wiki/Herbert_A._Simon
Kauffman
how order emerges from chaos with no one designing it: that question shows up everywhere once you look.
https://en.wikipedia.org/wiki/Stuart_Kauffman
strategy
strategy & conflict
790
175
Schelling
the invisible mechanics of conflict: threats, signals, and credibility move people more than raw power does.
https://en.wikipedia.org/wiki/Thomas_Schelling
Clausewitz
war as politics under uncertainty: friction, morale, and chance; conflict as fundamentally human.
https://en.wikipedia.org/wiki/Carl_von_Clausewitz
Luttwak
strategy is paradoxical: strength breeds vulnerability, victory breeds complacency, the obvious move backfires.
https://en.wikipedia.org/wiki/Edward_Luttwak
Mackinder
power at geographic scale: land, sea, chokepoints; the physical world outlasts any single leader.
https://en.wikipedia.org/wiki/Halford_Mackinder
Napoleon
strategy, speed, and administrative genius fused with historical will: the org innovations mattered as much as the battles.
https://en.wikipedia.org/wiki/Napoleon
Kissinger
diplomacy through history and tragedy: order is fragile, legitimacy matters, good intentions have limits.
https://en.wikipedia.org/wiki/Henry_Kissinger
institutions
institutions & order
210
505
Hayek
knowledge is scattered and local: no central planner can see what millions know individually.
https://en.wikipedia.org/wiki/Friedrich_Hayek
Scott
states fail when they make society legible on paper but miss how things work on the ground.
https://en.wikipedia.org/wiki/James_C._Scott
Olson
why groups stay stuck even when coordination would help everyone: the incentives are the logic, not a bug.
https://en.wikipedia.org/wiki/Mancur_Olson
Hirschman
exit, voice, loyalty: how people and institutions respond when things start breaking down.
https://en.wikipedia.org/wiki/Albert_O._Hirschman
Lee Kuan Yew
statecraft as execution: institutions, incentives, and discipline actually made real.
https://en.wikipedia.org/wiki/Lee_Kuan_Yew
nation
nation & sovereignty
790
505
Pinsker
cold and diagnostic: Jewish insecurity as a structural condition that needs power, not sympathy or patience.
https://en.wikipedia.org/wiki/Leon_Pinsker
Jabotinsky
dignity and survival require power, not appeals: hard realism about what self-determination demands.
https://en.wikipedia.org/wiki/Ze%27ev_Jabotinsky
Ahad Ha'am
national revival as a cultural and spiritual question: without that foundation the project hollows out.
https://en.wikipedia.org/wiki/Ahad_Ha%27am
Scholem
rescued Jewish mysticism from folklore into a serious tradition with real historical weight.
https://en.wikipedia.org/wiki/Gershom_Scholem
Strauss
philosophy as dangerous and layered: the real argument isn't always the surface one.
https://en.wikipedia.org/wiki/Leo_Strauss
builders
builders & technology
500
150
Licklider
imagined computers as partners in thought: augmentation, not just automation, before most knew what a computer was.
https://en.wikipedia.org/wiki/J._C._R._Licklider
Jobs
technology wins through taste, narrative, and psychology: making complexity feel simple is its own engineering.
https://en.wikipedia.org/wiki/Steve_Jobs
Thiel
secrets and monopolies: what hidden assumptions hold back progress, and what it takes to build something that lasts.
https://en.wikipedia.org/wiki/Peter_Thiel
Jensen Huang
saw the infrastructure layer first: GPUs and accelerated computing as the foundation of the AI era.
https://en.wikipedia.org/wiki/Jensen_Huang
human
history & the human
500
530
Hegel
history driven by contradiction and struggle, not smooth progress: ideas evolve through conflict.
https://en.wikipedia.org/wiki/Georg_Wilhelm_Friedrich_Hegel
Ibn Khaldun
civilization as a cycle: cohesion, conquest, luxury, decay, renewal; systems thinking in the 14th century.
https://en.wikipedia.org/wiki/Ibn_Khaldun
Feynman
real technical depth plus the instinct to cut through fake complexity: he wanted things to actually make sense.
https://en.wikipedia.org/wiki/Richard_Feynman
Book coordinates are interpretive placements, not objective measurements.
plato-republic
The Republic
Plato
-375
justice
knowledge
political order
forms
education
dostoevsky-crime-punishment
Crime and Punishment
Fyodor Dostoevsky
1866
guilt
morality
agency
conscience
alienation
dostoevsky-brothers-karamazov
The Brothers Karamazov
Fyodor Dostoevsky
1880
faith
freedom
evil
responsibility
family
dostoevsky-underground
Notes from Underground
Fyodor Dostoevsky
1864
rationality
spite
freedom
self-consciousness
modernity
nietzsche-zarathustra
Thus Spoke Zarathustra
Friedrich Nietzsche
1883
values
self-overcoming
meaning
morality
nihilism
nietzsche-beyond-good-evil
Beyond Good and Evil
Friedrich Nietzsche
1886
morality
perspectivism
power
truth
values
machiavelli-prince
The Prince
Niccolò Machiavelli
1532
power
statecraft
strategy
legitimacy
political action
hobbes-leviathan
Leviathan
Thomas Hobbes
1651
sovereignty
social contract
order
fear
state
marx-manuscripts
Economic and Philosophic Manuscripts of 1844
Karl Marx
1844
alienation
labor
materialism
human nature
capital
descartes-meditations
Meditations on First Philosophy
René Descartes
1641
certainty
skepticism
mind
knowledge
method
hume-enquiry
An Enquiry Concerning Human Understanding
David Hume
1748
causation
induction
skepticism
experience
knowledge
kant-pure-reason
Critique of Pure Reason
Immanuel Kant
1781
epistemology
categories
experience
reason
limits
kuhn-structure
The Structure of Scientific Revolutions
Thomas S. Kuhn
1962
paradigm
science
model revision
institutions
progress
popper-conjectures
Conjectures and Refutations
Karl Popper
1963
falsification
science
criticism
knowledge
error correction
wiener-cybernetics
Cybernetics
Norbert Wiener
1948
feedback
control
information
communication
systems
simon-sciences-artificial
The Sciences of the Artificial
Herbert A. Simon
1969
design
bounded rationality
systems
complexity
artificial
scott-seeing-state
Seeing Like a State
James C. Scott
1998
legibility
state
planning
local knowledge
institutions
anderson-imagined-communities
Imagined Communities
Benedict Anderson
1983
nationalism
identity
community
history
fukuyama-origins-order
The Origins of Political Order
Francis Fukuyama
2011
institutions
state
law
accountability
political development
hertzberg-zionist-idea
The Zionist Idea
Arthur Hertzberg
1959
zionism
nationhood
history
political thought
identity
pinsker-auto-emancipation
Auto-Emancipation
Leon Pinsker
1882
emancipation
nationhood
agency
security
political action
diamond-guns-germs-steel
Guns, Germs, and Steel
Jared Diamond
1997
geography
development
causation
civilization
history
harari-sapiens
Sapiens
Yuval Noah Harari
2011
humanity
institutions
myth
cooperation
history
sun-tzu-art-war
The Art of War
Sun Tzu
-500
strategy
uncertainty
deception
conflict
adaptation
homer-odyssey
The Odyssey
Homer
-700
homecoming
identity
cunning
fate
memory
homer-iliad
The Iliad
Homer
-750
war
honor
fate
rage
mortality
marquez-solitude
One Hundred Years of Solitude
Gabriel García Márquez
1967
memory
history
family
myth
time
wilde-dorian-gray
The Picture of Dorian Gray
Oscar Wilde
1890
beauty
morality
identity
corruption
self
deutsch-beginning-infinity
The Beginning of Infinity
David Deutsch
2011
explanation
knowledge
progress
computation
possibility
karp-technological-republic
The Technological Republic
Alexander C. Karp & Nicholas W. Zamiska
2025
technology
state capacity
institutions
purpose
sovereignty
essay
Scott Alexander
Meditations on Moloch
essay
[coordination failure as a civilizational force]
essay
Jo Freeman
The Tyranny of Structurelessness
essay
[informal power never disappears, it just hides]
essay
Leonard Read
I, Pencil
essay
[distributed knowledge in a single object]
talk
-
a lecture you keep returning to
talk
[your note here]
thread
-
a thread that reframed something
thread
[your note here]
This is a text equivalent of the portfolio's content. Interactive simulations and visualizations require the JavaScript site.