yrCSSComplex Systems Society

Reproducible research and automation and how to regain work-life balance

Sadamori Kojaku
yrCSS CCS Warm-Up 2026
Binghamton University · 10/09/2026
skojaku@binghamton.edu
Bluesky @skojaku.bsky.social
Snakefile
Directed Acyclic Graph
Re-run only what changed
Git
Task log
Write the task down first
Not all at once, a little each time
Local agent
Skill

Welcome to Binghamton

Welcome to Binghamton, and to the yrCSS Warm-Up.

Photo: NY-BEST (ny-best.site-ym.com)

What does this campus road look like? 🤔

Map data: © OpenStreetMap contributors

Students call it the Brain

Map data: © OpenStreetMap contributors

Can you drive every road exactly once? 🤔

An Euler path uses every road exactly once.

Map: Google Maps
Take a minute.

No: too many junctions have three roads

Only if at most 2 junctions have an odd road count

Map: Google Maps

Is Binghamton the center of New York?

No: the center is 100 km away

Is Binghamton central on the roads?

Map data: © OpenStreetMap contributors

Is Binghamton central on the roads?

Map data: © OpenStreetMap contributors

Yes: its junction is in the top 1.5%

Map data: © OpenStreetMap contributors

Writing the steps down is where automation starts.

In research, it makes going back cheap. In routine work, it frees time for what matters.

Part 1 · A company and a punched card01 / 07

What can a machine run?

IBM, the census, and the card that carried steps and data.

IBM is next door, in Endicott

It grew out of Hollerith's Tabulating Machine Company.

Counting a country by hand

"Taking the Census", F. W. Edmonds, 1854. The Met, public domain

The US census counts everyone, every 10 years.

Hand counting neared its limit

Hand counting neared its limit

Counting by hand would not finish before the next census 🤔

Three machines, one counting test

Hollerith's machine won 😎

Hollerith's machine counted the 1890 census

Hollerith's machine counted the 1890 census. It reads holes in punched cards.

Photo: ed-thelen.org (IBM Endicott Museum)

See Hollerith's machine in Endicott

You can still see Hollerith's machine at the Endicott History and Heritage Center.

Photo: townsquare.media (Endicott History & Heritage Center)

A loom driven by punched cards

Photo: redstoneglen.com (Jacquard loom punched cards)

One card, one row of the pattern.

The cards are the steps: an algorithm.

Hollerith's cards hold records

Dials count (upper left); sorting box (right). Photo: ed-thelen.org

Holes in a card move the counting dials.

Here the cards are data.

One punched card, two uses

If you can’t describe the process in writing, you can’t automate it. Documentation is automation.

Thomas A. Limoncelli, Communications of the ACM, 2018

Photo: Arthur Hyun, CC BY-SA 3.0, Wikimedia Commons
Part 2 · One paper changed how I work02 / 07

Documentation Is Automation

Thomas A. Limoncelli. Communications of the ACM, 2018.

Thomas A. Limoncelli
Photo: Arthur Hyun, CC BY-SA 3.0, Wikimedia Commons
I'm very slow
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ
I'm very slow
Meme: a PhD student after writing one good sentence that says exactly what they mean
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ
Meme: DRFREDPHD
I'm very slow
2016 to 2020
Writing an email
30 minutes
Preparing a presentation
At least 14 days
Preparing a paper
10 months
Reviewing a single paper
More than 2 weeks
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ

Two busy IT engineers

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

After a year, only Engineer 1 progressed

Both wanted to automate. Why only one? 🤔

After a year, only Engineer 1 progressed

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Manual work should not be tolerated unless it generates an artifact or improves an existing one.

Thomas A. Limoncelli (2018)

Photo: Arthur Hyun, CC BY-SA 3.0, Wikimedia Commons

An artifact makes each run cheaper

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

An artifact makes each run cheaper

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Documentation is automation.

#1

Part 3 · Research goes back and forth03 / 07

Can research follow written steps?

Reproducible research, and tools that make going back cheap.

A dish I imagined, a dish that came out


I picture an amazing dish. Something else comes out.

Images generated with Gemini

Papers rarely say what was done

Data, code and workflow are the recipe

Written steps make research reproducible

Reproducible: others can rebuild the same results.

Plan? What plan?

Plan? What plan?

Video generated with Veo 3.1

Research rarely follows the plan

Research rarely follows the plan

A failed idea can force a full rebuild

A failed idea can force a full rebuild

A failed idea can force a full rebuild

A failed idea can force a full rebuild

My code assumed one pass; research loops back 🤔

If we knew what we were doing, it wouldn’t be called research.

A sign in the chemistry lab of Limoncelli’s father (Limoncelli 2018)

Re-search: a failed idea sends me back

If I cannot go back, I stop searching

If going back is cheap, I try new ideas

How do you write your steps? 🤔

A: one long notebook

B: many small files

Screenshot: Andrey Yakimchik, CC BY 4.0, via Wikimedia Commons

One long notebook makes going back hard

One long notebook makes going back hard

One long notebook makes going back hard

Declare the steps as small files

Declare the steps as small files

Declare the steps as small files

A Directed Acyclic Graph: no loops

Snakemake

A Snakefile lists the rules

Snakemake runs a file of rules: input, output, script.

Snakemake

Snakemake works out the order

Snakemake

Snakemake reruns only what changed

Snakemake

Snakemake reruns only what changed

Snakemake

Edit the cleaning step: what reruns? 🤔

Snakemake

Everything after cleaning reruns

Each experiment has its own folder

Each experiment has its own folder

Each experiment has its own folder

Git: save points I can go back to

Git: save points I can go back to

Make going back cheap.

#2

Part 4 · My routine04 / 07

Where does my week go?

Daily tasks, and how I write them down.

Where my research time goes

Where my research time goes

Where my research time goes

Comic: Jorge Cham, PHD Comics (text changed)

Where my research time goes

Routine work filled the freed time 🤔

Routine work fills my weeks

Students and postdocs have this kind of work too.

Small tasks come like balls in a rally

GIF "Rally": u/StickleyMan, r/gifs (Reddit). Footage: laola1.tv (TableTennisEvents)

I return one; the next is already on its way.

Each ping breaks my focus

Each ping breaks my focus

If you can’t describe the process in writing, you can’t automate it.

Thomas A. Limoncelli (2018)

Photo: Arthur Hyun, CC BY-SA 3.0, Wikimedia Commons

A ping comes: write the task down first

A ping comes: write the task down first

Let a script do recurring tasks

Let a script do recurring tasks

Four examples from my own routine

Each starts by hand, then moves to a script or an agent.

Example 1 · my CV

By hand: I typed it in LaTeX

Example 1 · my CV

A paper database, and grep per year

Example 1 · my CV

I'm lazy: a script runs on each change

the I'm lazy character
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ
Example 1 · my CV

Now a local agent does it all

Example 2 · a new project

By hand: I follow a procedure

Example 2 · a new project

By hand: I follow a procedure

Example 2 · a new project

By hand: I follow a procedure

Example 3 · grades

By hand: I check each one on the LMS

Example 3 · grades

By hand: I check each one on the LMS

Example 3 · grades

By hand: I check each one on the LMS

Example 4 · receipts

By hand: I search my mail

Example 4 · receipts

By hand: I search my mail

Example 4 · receipts

I'm lazy: a local LLM checks the rest

the I'm lazy character
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ
Example 4 · receipts

I'm lazy: a local LLM checks the rest

Automate a little, each time it comes

Improving the system is a task too

Document everything, automate what I can

Part 5 · Local agents05 / 07

Can a local agent follow my notes?

Limoncelli's four phases, and what changed lately.

Four phases: document to self-running

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Four phases: document to self-running

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Four phases: document to self-running

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Four phases: document to self-running

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

Four phases: document to self-running

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

A local LLM runs on my laptop

A harness gives the LLM tools and skills

Example · arXiv papers by topic

Phase 1: steps and topics as notes

Example · arXiv papers by topic

Phase 1: steps and topics as notes

Example · arXiv papers by topic

The LLM turns the two notes into PDFs

With an LLM I jump from phase 1 to 3

Limoncelli, T. A. (2018). Documentation is automation. Communications of the ACM, 61(6), 48-53.

A skill is a manual with its tools

A skill is a manual with its tools

A skill is a manual with its tools

The full manual is read only if needed

The skill grows: commands, then a script

The skill grows: commands, then a script

The skill grows: commands, then a script

A vague step leaves the LLM guessing

Surprise: my notes were too vague for the LLM 🤔

A vague step leaves the LLM guessing

Every run tests my note

Every run tests my note

Documentation is automation.

For an LLM, the documentation is a skill file.

#1

Part 6 · Limits, debt and saved time06 / 07

What do I keep for myself?

Decisions, and the time that automation saves.

One question: can I undo it?

One question: can I undo it?

Irreversible work stays my decision

Work left manual is a debt to future me

Work left manual is a debt to future me

Automation protected my research time

Automation protected my research time

What I use the saved time for

What I use the saved time for

What I use the saved time for

Use the saved time for what matters.

#3

Part 7 · This week07 / 07

What can you do this week?

Start from your own week.

Which of your tasks repeat?

Each square is one task in a week like yours.

Take a moment to look.

Start with the task that comes back most

Each square is one task in a week like yours.

Try this week: one repeated task

Summary

#1 Documentation is automation.A machine can run any step I describe clearly.
#2 Make going back cheap.Research is searching again and again.
#3 Use the saved time for what matters.My career, long-term questions, and people.
I'm slow.
But I'm always getting faster.
I hope.
Credit: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ

CompleNet 2027

18th International Conference on Complex Networks
University of Rochester, March 9 to 12, 2027
University of Rochester
QR code: skojaku.github.io
skojaku.github.io
skojaku@binghamton.edu
Bluesky @skojaku.bsky.social

Sources

T. A. Limoncelli, "Documentation Is Automation", Communications of the ACM 61(6), 48-53, June 2018. The quotations on the slides are from this article.

Road network: © OpenStreetMap contributors (ODbL), via a Geofabrik extract.

Photos: Welcome, NY-BEST; Hollerith machine, ed-thelen.org; Jacquard cards, redstoneglen.com; Endicott center, townsquare.media; Limoncelli, Arthur Hyun (CC BY-SA 3.0, Wikimedia Commons).

Image credits

"Taking the Census", F. W. Edmonds, 1854, The Met (public domain). Comic: Jorge Cham, PHD Comics (text changed).

The I'm slow character: 頑張りたいソング【轟はじめ/ReGLOSS】 おだまよ. The meme: DRFREDPHD. The rally GIF: u/StickleyMan, r/gifs (Reddit), footage laola1.tv.

Jupyter screenshot: Andrey Yakimchik (CC BY 4.0). Forgejo logo: Caesar Schinas (CC BY-SA 4.0).

Dish images and the desert clip: generated (Gemini, Veo 3.1).