IOH Student Survey — Multi-machine Fill
.\filler.exe -type student -count 100 -tabs 5 -headlessDownload these files
filler.exe. Nothing else. Put it anywhere and run it.
One-time setup — one person, one machine
Allow MongoDB access
Atlas → Security → Network Access → Add IP → Allow access from anywhere (0.0.0.0/0). Already done? Skip.
Seed the 5913 rows into Mongo
Open PowerShell in the folder that has upload.exe, student_needed.csv, and student_answer_pool.json:
.\upload.exe -type student
Expected: inserted 5913 student docs inserted 6 answer-pool questions done
This drops and rebuilds the ioh.student collection. Do it only once.
Open the live dashboard (keep this terminal open)
.\monitor.exe -coll student
Browser opens at http://localhost:8080. You'll see counts update as each worker machine joins and submits.
Every worker machine — the only thing they do
Install Chrome
Any recent Chrome build. That is literally the only prerequisite.
Download filler.exe (from the top of this page)
Save it anywhere — Desktop is fine. No companion files needed.
Run it — 100 students per machine, headless
.\filler.exe -type student -count 100 -tabs 5 -headless
Takes roughly 20 min at 5 parallel tabs. The worker claims 100 rows atomically from Mongo — no two machines will ever grab the same student.
Prefer visible Chrome so you can watch? Drop -headless. Running on a laptop? Drop -tabs to 3.
Done — close the terminal. Move to the next machine.
If you want that machine to do another batch of 100, just run the same command again. It picks up where the queue left off.
Variants
| You want to… | Command |
|---|---|
| Dry-run one row to see Chrome drive the survey | .\filler.exe -type student -count 1 -dry |
| Submit just 10 to spot-check | .\filler.exe -type student -count 10 -tabs 2 -headless |
| Human pacing: 15–20 min per response | .\filler.exe -type student -count 100 -tabs 5 -headless -pace-min 15m -pace-max 20m |
| Take whatever's left (no 100-cap) | .\filler.exe -type student -tabs 10 -headless |
If something fails
| Reason in the monitor | What to do |
|---|---|
stuck on page N or page N not advancing | Click Retry on the row — a different random answer may land cleanly. |
timeout (Xm exceeded) | Retry. Chrome or Zoho was slow. |
Submit rejected: N field(s) still flagged | Rare consent-page race. Retry. |
JS inject failed - page likely crashed | Transient Chrome crash. Retry. |
| A machine was unplugged mid-run | Click Reclaim stale (>15m) in the monitor — the rows go back to pending so another machine can pick them up. |