Misc
Books
A short, opinionated list of the classic books in computer science and robotics, with the mathematics and control theory underneath them, and where to read each one. Links only: nothing is hosted, and every entry points to the author's or publisher's free copy when one exists. If a book you search for isn't listed, the search looks it up on Open Library, checks it against the "classic" bar, and lets you propose it.
The full library, and how additions are reviewed, lives at leelening.github.io/books · Source on GitHub
Side projects
Built outside of research and work.
LineupIQ
Salary-cap-optimal daily NBA lineups for DraftKings, solved as a binary integer program that maximizes projected fantasy points under the $50,000 cap. Runs automatically every day on GitHub Actions and tracks projected versus actual performance. For entertainment only. Source on GitHub.
MulVAL to PDDL
Converts MulVAL logical attack graphs into PDDL for automated planners: leaf facts become the initial state, interaction rules become STRIPS actions, and derived privileges become predicates and the goal. Runs entirely in the browser from MulVAL’s VERTICES.CSV and ARCS.CSV, and produces domain.pddl and problem.pddl. Used in our ACC 2023 paper on proactive sensor placement in probabilistic attack graphs. Source on GitHub.
PDDL Parser
A small, dependency-free Python tool that reads a STRIPS-style PDDL domain and problem (with typing and negative preconditions), grounds every lifted action over the declared objects, and explores the reachable state space by breadth-first search from the initial state. The result is a labelled, deterministic transition system ready for classical planning, MDP solving, or attack-graph analysis. Ships as a Python library, a CLI, and an in-browser demo. Source on GitHub.
