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.

Mixed-integer program selecting a salary-cap-optimal eight-player lineup

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.

View project

MulVAL attack graph nodes mapped to PDDL init state, actions, and goal

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.

View project

PDDL domain and problem expanded into a graph of reachable states and grounded actions

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.

View project