I'm Tim Dennis. I've spent 26 years in the UC system building research data infrastructure that keeps running after the grant ends, after the staff turns over, after the priorities shift.
I run the UCLA Library Data Science Center. This is where I write about what that work actually takes.
Recent writing
-
Library Leadership Is Stewarding the Wrong Thing
Ask what a library leader is supposed to protect and the answers you get are a building, a budget, and a collection. Those are means, not the mission. The job is stewarding the conditions under which knowledge gets made.
-
Rebuilding a Carpentries lesson on software citation taught me that the reframe that mattered wasn't a new standard. It was retargeting the whole lesson from researchers publishing their own code to librarians advising other people's.
-
The prompt that makes a model disagree with me
A standing prompt template whose only job is to stop a second model from agreeing with my own diagnosis. Tested it on my own project-management setup and it found the weak joint in an argument I was ready to act on.
-
The single underscore that broke my task system
A CLI task manager that worked fine in my terminal silently failed inside Claude Code sessions. The cause wasn't a bug in the tool, it was a shell-snapshot mechanism that quietly drops single-underscore function names before the agent ever sees them.
-
How I run three LLMs without getting burned
Claude, ChatGPT, and NotebookLM each do different work in my writing. The thing that keeps them useful is not the model. It's a verification habit borrowed from the reference desk: every claim gets ground-truthed before it ships.
-
Giving our lesson catalog real metadata
A couple weeks ago I noticed our OSPO lesson catalog leaned hard toward one pathway. This week I went in and fixed the metadata underneath it. The cleanup taught me more than the result did.