summaryrefslogtreecommitdiff
path: root/cv/index.typ
diff options
context:
space:
mode:
Diffstat (limited to 'cv/index.typ')
-rw-r--r--cv/index.typ103
1 files changed, 34 insertions, 69 deletions
diff --git a/cv/index.typ b/cv/index.typ
index 63b5c6e..e4f8227 100644
--- a/cv/index.typ
+++ b/cv/index.typ
@@ -6,58 +6,43 @@
#let email = "jayrupnakawala@gmail.com"
#let github = "github.com/CaptainJack2491"
#let linkedin = "linkedin.com/in/jayrupnakawala"
-#let phone = "+1 (xxx) xxx-xxxx"
#let personal-site = "jayrup.me"
#show: resume.with(
author: name,
- // All the lines below are optional.
- // For example, if you want to to hide your phone number:
- // feel free to comment those lines out and they will not show.
location: location,
email: email,
github: github,
linkedin: linkedin,
- // phone: phone,
personal-site: personal-site,
accent-color: "#26428b",
font: "New Computer Modern",
- paper: "us-letter",
+ paper: "a4",
author-position: center,
personal-info-position: center,
)
-/*
-* Lines that start with == are formatted into section headings
-* You can use the specific formatting functions if needed
-* The following formatting functions are listed below
-* #edu(dates: "", degree: "", gpa: "", institution: "", location: "", consistent: false)
-* #work(company: "", dates: "", location: "", title: "")
-* #project(dates: "", name: "", role: "", url: "")
-* certificates(name: "", issuer: "", url: "", date: "")
-* #extracurriculars(activity: "", dates: "")
-* There are also the following generic functions that don't apply any formatting
-* #generic-two-by-two(top-left: "", top-right: "", bottom-left: "", bottom-right: "")
-* #generic-one-by-two(left: "", right: "")
-*/
-
-/*
-== Work Experience
+== Research Experience
-#work(
- title: "Subatomic Shepherd and Caffeine Connoisseur",
- location: "Atomville, CA",
- company: "Microscopic Circus, Schrodinger's University",
- dates: dates-helper(start-date: "May 2024", end-date: "Present"),
+#project(
+ name: "Prime-Grokking: Pre-registered Grokking Study",
+ url: "git.jayrup.me/c/prime-grokking.git",
+ dates: dates-helper(start-date: "Aug 2026", end-date: "Present"),
)
-- Played God with tiny molecules, making them dance to uncover the secrets of the universe
-- Convinced high-performance computers to work overtime without unions, reducing simulation time by 50%
-- Wowed a room full of nerds with pretty pictures of invisible things and imaginary findings
-*/
+- Tested whether minimal transformers and RNNs can grok next-prime prediction, running the study like production research: every experiment batch pre-registered with commit-locked interpretations before launch.
+- Caught two experimental-design blockers (layout invariance, prereg-code drift) via hostile pre-run review; built an idempotent multi-cell sweep runner and batched the evaluation loop *46× faster*.
+- Ran a 16-cell PyTorch CUDA/AMP sweep (architecture × weight decay) on a remote GPU node, then extended through 10× more data and a 20× longer horizon — following the negative result rather than tuning it away.
+- Published a 3-part writeup at jayrup.me with a public, re-runnable repository (prereg addenda, eval code).
+#project(
+ name: "Stress-Testing the J-space Interpretability Lens",
+ url: "jayrup.me/blog/jacobian-lens-frequency",
+ dates: "Jul 2026 — Aug 2026",
+)
-== Research Experience
+- Independently reproduced a frontier interpretability method (Anthropic's July 2026 J-space/J-lens analysis) on a small PyTorch transformer and found its scores track token frequency.
+- Designed a matched-frequency control showing contextual predictability remains detectable — framed and published as a control requirement for the method, not a refutation; shared with the mech-interp community.
#project(
name: "Dissertation: Moral Cover and Watchful Eyes",
@@ -65,39 +50,25 @@
role: "",
// Dates is optional
dates: dates-helper(start-date: "Nov 2025", end-date: "May 2026"),
- // URL is also optional
- url: "github.com/CaptainJack2491/Dissertation",
)
- Architected a sandboxed evaluation framework with a Virtual File System (VFS) to safely execute and monitor autonomous LLM tool-use across multiple providers (Anthropic, OpenAI, Google).
- Built a provider abstraction layer for glass-box reasoning extraction and a post-hoc interrogation system to adversarially probe agent intent.
- Designed a 3-prong automated judging pipeline (regex, LLM blackbox, LLM glassbox) and ran *960 experimental trials* across exploratory and confirmatory studies.
- Quantified a *"Stealth Gap"*: deceptive intent held steady (~62--67%) under high oversight while output-level detectability dropped (47.8%→35.6%), showing output-only monitoring underestimates risk.
-
+- Code and evaluation harness: github.com/CaptainJack2491/Dissertation
== Projects
#project(
- // role: "Lead Infrastructure Engineer",
name: "Hybrid-Cloud Research Infrastructure & Zero-Trust Mesh",
- // url: "jayrup.me",
dates: dates-helper(start-date: "Jan 2024", end-date: "Present"),
)
-- Developed a hybrid-cloud networking mesh using Tailscale/WireGuard to unify a Dell Precision local node (Ubuntu) with 3 distributed VPS instances into a single secure plane.
-- Engineered a custom ingress solution using VPS nodes as forward proxies to bypass CGNAT, ensuring secure, high-availability access to internal research tools without port forwarding.
-- Orchestrated 15+ containerized services via Docker Compose, implementing automated backups, resource monitoring, and a centralized NVMe-backed storage tier.
-- Optimized a headless development workflow (Arch Linux, Neovim, Tmux) with dotfile versioning for consistent, rapid environment replication across heterogeneous hardware.
-
-#project(
- name: "Jayrup.me: Fast Personal Portfolio",
- url: "jayrup.me",
- dates: "Nov 2025 — Present"
-)
-- Engineered a dual-interface web server using Nginx to serve context-aware content (HTML vs. Plaintext) based on User-Agent detection (e.g., `curl`, `wget`).
-- Architected a Quarto-based publishing pipeline that generates synchronized web and CLI-friendly documentation from a single Markdown source.
-- Automated Deployment: Optimized a secure rsync-over-SSH deployment workflow from a local Arch Linux environment to a distributed VPS cluster.
-- Focus: Having a light-weight portfolio that is accessible via the terminal
+- Operate a multi-node Linux estate (Void, Arch, Ubuntu) — always-on agent laptop, homelab server, remote GPU research node, VPS edge nodes — unified over a Tailscale/WireGuard zero-trust mesh.
+- Run 15+ containerized services in production (Nextcloud, media, password vault, document tooling) via Docker Compose with automated backups, resource monitoring, and an NVMe-backed storage tier.
+- Solved CGNAT reachability by deploying VPS nodes as forward proxies, restoring secure high-availability access to internal services without port forwarding.
+- Built jayrup.me on this stack: Nginx dual-interface serving (HTML for browsers, plaintext for `curl`) with a Quarto pipeline rendering web and CLI docs from one Markdown source.
== Education
@@ -105,30 +76,24 @@
institution: "University of East London",
location: "London, UK",
dates: dates-helper(start-date: "Sept 2023", end-date: "May 2026"),
- degree: "Bachelor's of Science (Hons) Data Science and Artificial Intelligence — First-Class Honours (94%)",
+ degree: "BSc (Hons) Data Science & Artificial Intelligence — First-Class Honours (94%)",
// Uncomment the line below if you want edu formatting to be consistent with everything else
// consistent: true
)
-- Relevant Coursework: Math for computing, Data Structure and Algorithm, Networking, Database systems, Big Data analysis, Project Management, Artificial Intelligence
-
+- Relevant Coursework: Math for Computing, Data Structures & Algorithms, Networking, Databases, Big Data, AI
+/*
+== Extracurriculars
-// #extracurriculars(
-// activity: "Science Olympiad Volunteering",
-// dates: "Sep 2023 --- Present"
-// )
-// - Volunteer and write tests for tournaments, including LA Regionals and SoCal State \@ Caltech
-
-// #certificates(
-// name: "OSCP",
-// issuer: "Offensive Security",
-// // url: "",
-// date: "Oct 2024",
-// )
+#extracurriculars(
+ activity: "GDG on Campus UEL — hands-on dev workshops (developer-portfolio codelab: Antigravity + Firebase)",
+ dates: "<DATES>",
+)
+*/
== Skills
*Programming*: Python, Bash, SQL\
-*ML/AI*: PyTorch, Transformers, LangChain, scikit-learn\
-*Infrastructure*: Docker, Nginx, Caddy, Tailscale, WireGuard, Quarto \
-*Systems*: Linux (Arch, Ubuntu), Git, rsync, Tmux, Neovim\
+*ML/AI*: PyTorch, Transformers, Hugging Face, llama.cpp (GGUF quant), LangChain, scikit-learn\
+*Infrastructure*: Docker, Docker Compose, Nginx, Caddy, Tailscale, WireGuard, Quarto\
+*Systems*: Linux (Arch, Void, Ubuntu), Git, rsync, Tmux, Neovim\