Software Engineer at Red Hat · Python · DevOps · Applied AI

I build systems that fail safely.

I'm Dipayan Dutta, a Software Engineer at Red Hat and a Red Hat Certified Engineer. I work across Python, Linux, automation and AI. Recently I built VEMR, a protocol that edits LLM weights and rolls them back automatically if the edit breaks the model. I also built a quantum-triggered secret rotation system and a set of container and networking labs.

  • RHCE (RHEL 9) · OpenShift Administrator
  • Author, VEMR paper (2026)
  • Builds AI agents & skills

vemr — gpt2

$ vemr vemr --layer 5 --op noise --std 0.01 --tau 0.05
'The Eiffel Tower is located in the city of'
  ' Paris' → ' Paris'
Perplexity  41.203 → 41.897
Delta (kl)  0.0087  (tau=0.05)
STATUS: COMMITTED

$ vemr vemr --layer 5 --op zero --tau 0.05
Delta (kl)  4.2113  (tau=0.05)
STATUS: ROLLED_BACK
model is bit-identical to before

01 — Featured work

Selected projects

AI researchPython · PyTorch · Transformers

VEMR: verified LLM model surgery

Verified Extract → Modify → Reinsert. A transactional protocol for editing a live language model's weights.

The problem

Existing tools only cover half of model editing. Activation-patching frameworks change a model for one forward pass and then the change is gone. Weight-editing tools make permanent changes but never check whether the change broke the model, and there is no way to undo it.

What I built

VEMR backs up a layer or a single neuron, applies any edit to a scratch copy, loads the edited weights tentatively, and re-runs a fixed probe set. If the KL divergence stays under a calibrated threshold, the edit is committed. If not, the original weights are restored bit-for-bit. The model always ends up in exactly one of those two states.

It ships as a Python CLI and session API. It covers layer and neuron extraction, a logit lens, attention and neuron viewers, circuit discovery and benchmarking. It detects the architecture of any causal LM it loads, both GPT-2 style and Llama style models. I wrote it up as a research paper.

  1. 1
    Extractsnapshot weights + checksum
  2. 2
    Modifyedit a scratch copy
  3. 3
    Reinsertload tentatively
  4. 4
    VerifyKL divergence on probe set vs τ
  5. Δ ≤ τ → commit Δ > τ → rollback
100%
correct commit/rollback decisions across 40 labelled edits on 4 layers
16 / 16
severe edits caught. Without verification, perplexity rose to 1.1×10⁷ (baseline 61)
0
of 12 mild edits wrongly rejected, so the check does not block safe changes
L8 · N802
single GPT-2 neuron found, characterised and edited surgically

Quantum · Security

Quantum-triggered secret rotation

A hybrid classical–quantum security design. Requests use plain bearer-token auth until a sliding window detects 5 failed logins in 10 seconds. Then the token is rotated using 256 bits of entropy from a Qiskit Hadamard circuit, combined with the OS CSPRNG. Any stolen or brute-forced credential stops working in under a second, with no human in the loop.

Submitted as a conference talk (CFP): Adaptive Quantum-Triggered Secret Rotation for Active Attack Mitigation.

Python · Qiskit · Aer · Bash · HTTP auth

View repository →
Terminal dashboard showing points scored and fastest lap per driver at the 2026 Australian Grand Prix

Data analysis

Formula 1 2026 data analysis

Race analysis for the 2026 season using FastF1 and official timing data. A Rich terminal dashboard shows each Grand Prix's classification, points, fastest laps, tyre strategy, telemetry, weather and race-control messages. A FastAPI service exposes the same data as REST endpoints, such as winner, results, fastest lap, weather and retirements.

Python · FastF1 · pandas · Rich · FastAPI

View repository →

Networking

FRRouting eBGP lab

A reproducible routing lab built with Docker Compose. Two FRRouting containers on a private bridge network form an eBGP session between AS65001 and AS65002, advertise loopback prefixes to each other, and use route-maps to filter what they accept. I use it to practise BGP behaviour and troubleshoot with vtysh.

FRR · BGP · Docker Compose · Linux networking

Cloud native

WebAssembly on containerd (runwasi)

A hands-on lab with containerd's runwasi shims. I built them from source and ran WASI modules as ordinary containers on the Wasmtime, WasmEdge, Wasmer and WAMR runtimes. I wanted to see how Wasm workloads plug into the standard container toolchain: OCI images, shim lifecycle, and how start-up and footprint compare with Linux containers.

Rust · containerd · OCI · WASI · Wasmtime / WasmEdge

Upstream project →

02 — Skills

What I work with

These are honest self-ratings. I would rather be accurate than impressive.

Python3 / 5

CLIs, automation, PyTorch / Transformers research tooling

Linux3 / 5

RHEL administration, hardening, troubleshooting, networking

DevOps3 / 5

Containers, CI, infrastructure labs, shell automation

Docker / Containers3 / 5

Images, Compose, Podman, OCI runtimes and containerd

Kubernetes3 / 5

Deploying and operating workloads; OpenShift administration

AI / ML2 / 5

Interpretability, model editing, LLM tooling, and learning fast

LangChain2 / 5

Building LLM agents, tool calling and retrieval pipelines

How I use AI day to day

  • I build agents. Tool-using LLM agents that automate real engineering work, such as triage, diagnostics and reporting.
  • I write skills. Reusable, packaged instructions and workflows that make AI assistants reliable for a specific job.
  • I research AI. I read papers and test ideas myself; VEMR came out of this.
  • I put it to work. New techniques go into my daily workflow, and I keep the ones that prove useful.

Toolbox

  • RHEL / Fedora
  • Bash
  • Python
  • PyTorch
  • Hugging Face Transformers
  • Qiskit
  • Docker / Podman
  • containerd
  • Kubernetes
  • FRRouting / BGP
  • FastAPI
  • pandas
  • OpenShift
  • Git & GitHub
  • Rust (reading & building)
  • LLM agents
  • LangChain
  • Claude skills

03 — Certifications

Certifications & training

Red Hat

  • RH
    Red Hat Certified OpenShift AdministratorRed Hat · Dec 2025
    View Verify
  • RH
    Red Hat Certified Specialist in ContainersRed Hat · Nov 2025
    View Verify
  • RH
    Red Hat Certified Engineer (RHCE)Red Hat · RHEL 9
    View
  • RH
    Red Hat Certified Engineer (RHCE)Red Hat · RHEL 7
    View
  • RH
    Red Hat Certified System Administrator (RHCSA)Red Hat · RHEL 7
    View

AI & agents

  • OR
    Agentic AI Certified Foundations AssociateOracle · Sep 2026
    View
  • HF
    Fundamentals of Agents: Hugging Face Agents CourseHugging Face · Mar 2026
    View
  • A\
    Claude Code 101Anthropic · May 2026
    View
  • A\
    Claude 101Anthropic · May 2026
    View
  • A\
    Introduction to Claude CoworkAnthropic · May 2026
    View
Dipayan Dutta presenting a talk on RHEL for Edge at DevConf.IN
Speaking on RHEL for Edge at DevConf.IN

04 — About

Engineer by training, self-taught by choice

RH

Currently

Software Engineer at Red Hat

Python developerDevOpsAI in daily work

I work as a Software Engineer at Red Hat. Most of my work is in Python, and I also handle the DevOps side: building, automating and operating the systems the code runs on. I use AI every day, writing agents and skills that handle repetitive engineering tasks so I can focus on the hard problems.

I trained as an Electronics & Instrumentation engineer and started out in the electrical department of a ferro-alloys plant. I then taught myself programming and operating systems, earned my RHCSA and RHCE, and moved into Linux systems work. Since then I have added OpenShift and containers certifications, and more recently AI and agent credentials.

I like to understand how a system works internally: the kernel, the network, the inside of a transformer. I care about security and integrity, so my projects usually include a way to verify the result or recover from a bad change.

05 — Contact

Say hello.

This is my portfolio: the projects I build and the things I learn along the way. If one of them interests you, I'd be glad to talk about it.

debug.py — python3

$ cat debug.py
from itertools import count

EXCUSES = ["it's DNS", "works on my machine", "cache issue",
           "a tab in the YAML", "the AI wrote that part"]

def debug(bug):
    """Senior Python engineer workflow. Patent pending."""
    for coffee in count(1):
        excuse = EXCUSES[coffee % len(EXCUSES)]
        if excuse == "it's DNS":    # it is always DNS
            return f"{bug}: fixed after {coffee} coffees, {excuse}"

$ python3
>>> debug("prod is down")
"prod is down: fixed after 5 coffees, it's DNS"
>>> print("dipayandutta56@gmail.com")