Researcher working on LLM alignment and preference optimization, focused on agentic/tool-use safety (MCP). Papers: arxiv.org/abs/2505.23634, arxiv.org/abs/2605.11217. Code: github.com/johnhalloran321
One thing that's easy to forget is how much of the "everything is a service" idea predates LSP. Emacs had long-running subprocesses, RPC-ish interactions, TRAMP, GUD, REPL integration, etc. LSP standardized one important interface, but it wasn't the beginning of the architecture.