capcode (Jun 2026)
A dataset-construction framework for detecting cheating by coding agents. It modifies coding tasks so that multiple outputs are valid and randomly selects one as the expected answer, which caps the achievable pass rate. Suspiciously high scores then reveal test-gaming rather than skill. From our paper. Created by Thanawat Lodkaew.
capreward (Jun 2026)
A reward function that mitigates reward hacking in RL for code generation. Built on capcode's randomized tasks, it penalizes implausibly high pass rates that exceed each task's cap, making cheating solutions unattractive during training. From the same paper as capcode. Also created by Thanawat Lodkaew.
notations-cli (Mar 2026)
Extract notation tables from arXiv papers using LLMs. Give it an arXiv ID, URL, or local LaTeX source and it produces a searchable, self-contained HTML page listing the paper's symbols and their definitions, rendered with KaTeX. Handy when reading equation-heavy papers.
translation-squared (Mar 2026)
A desktop app for checking translation quality via back-translation. It translates your text, translates it back without seeing the original, and highlights the semantic differences with color-coded annotations, so you can spot errors in a language you understand. Supports English, Japanese, and Chinese.
capbencher (Feb 2026)
A toolkit that gives an LLM benchmark a built-in alarm for test-set overfitting. It randomizes questions so that the maximum achievable score is capped below 100%; scores above the cap signal contamination or leaderboard manipulation. Companion to our ICML 2026 paper, with a Hugging Face dataset for open evaluation without disclosing the true answers. A collaboration with Thanawat Lodkaew and Ikko Yamane.
bibfixer (Sep 2025)
Standardize BibTeX entries using LLMs and web search. It completes missing metadata, fixes venue names and title capitalization, and enforces a consistent style across the bibliography, so you can review a clean diff instead of fixing entries by hand. I made this before hallucinated citations became a widespread issue in the research community. The original intent was simply to fix bib entries taken from Google Scholar.
arxiv-latex-mcp (Apr 2025)
MCP server that fetches and processes arXiv LaTeX sources, letting MCP clients such as Claude Code and Cursor read papers from the original LaTeX instead of PDFs. This makes LLMs far more reliable at interpreting math-heavy content.
arxiv-tex-ui (Mar 2025)
A web app for chatting with an AI about an arXiv paper. It loads a paper by ID, shows the PDF next to the chat, and feeds the model the paper's LaTeX source (via arxiv-to-prompt) instead of the PDF, with streaming responses and KaTeX-rendered equations.
arxiv-to-prompt (Feb 2025)
Transform an arXiv paper into a single flattened LaTeX file ready to paste into an LLM prompt. It downloads the source, resolves \input and \include commands, and can strip comments and appendices, extract specific sections, and count tokens. Agents keep getting better at fetching and reading papers on their own, but I still use this on a daily basis. Sometimes the simplest workflow wins.
paper2slides (Jul 2024)
Transform arXiv papers into slides using LLMs. It flattens the paper's LaTeX source, prompts an LLM to write Beamer code, and compiles the result into a PDF, with a CLI for the full pipeline and a Streamlit UI for interactive editing. Honestly, LLMs and coding agents are now so good that we don't need complicated workflows like this anymore. But it was a great experience to watch this kind of capability get absorbed into frontier models and just work out of the box.
cleanprompt (Mar 2024)
Anonymize sensitive information in text before sending it to LLM apps. It detects emails, phone numbers, names, organizations, and custom patterns using regexes and named entity recognition, replaces them with placeholders, and restores the originals afterward.
rapidadd (Mar 2024)
A minimal command-line tool for quickly appending timestamped notes to a daily plain-text log file without switching apps. Written in Rust; inspired by Obsidian's QuickAdd plugin. Not a serious project. It was mostly an excuse to study Rust and try writing something in it for the first time.
irreducible (Mar 2023)
Code for estimating the Bayes error, the irreducible error of a classification task, from soft labels alone. The method is model-free, instance-free, and hyperparameter-free. Useful for checking whether a model's accuracy is approaching the theoretical limit or overfitting the test set. From our ICLR 2023 paper, selected for oral (notable-top-5%).
flooding (Feb 2020)
Implementation of the flooding regularizer from our ICML 2020 paper "Do We Need Zero Training Loss After Achieving Zero Training Error?". Flooding keeps the training loss at a small constant level instead of letting it hit zero. It is a one-line change, loss = (loss-b).abs() + b, that works with any optimizer and combines with other regularizers. The repository is a collaboration with Tomoya Sakai and Ikko Yamane.
comp (May 2019)
Implementations of complementary-label learning, where each training example is labeled with a class it does not belong to. Covers five methods from our NeurIPS 2017 paper and ICML 2019 paper (plus a baseline from ECCV 2018), for linear models and MLPs.
pconf (Oct 2018)
Code for positive-confidence (Pconf) classification from our NeurIPS 2018 spotlight paper "Binary Classification from Positive-Confidence Data". The task is to train a binary classifier from positive examples equipped with confidence scores, without any negative data.
© 2026 Takashi Ishida