Skip to content

2026-usrse: con-duct poster for the US-RSE'26 poster session - #34

Merged
yarikoptic merged 63 commits into
con:masterfrom
asmacdo:2026-usrse-duct-poster-mockup
Oct 15, 2026
Merged

yarikoptic merged 63 commits into
con:masterfrom
asmacdo:2026-usrse-duct-poster-mockup

Conversation

@asmacdo

@asmacdo asmacdo commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

The con-duct poster for the US-RSE'26 poster session (Oct 19–21, San Jose): one HTML page exported to a one-page 42×36 in PDF. The committed PDF is the exact file sent to the printer and published on Zenodo: https://doi.org/10.5281/zenodo.23401552 (version 2 of the abstract's record).

What's in it

  • 2026-usrse/duct-poster.html: the poster source. Export with chromium-browser --headless --disable-gpu --no-pdf-header-footer --virtual-time-budget=5000 --print-to-pdf=duct-poster.pdf "file://$PWD/duct-poster.html" from 2026-usrse/ (needs network for IBM Plex from Google Fonts).
  • 2026-usrse/duct-poster.pdf (annexed): the print file, md5 699f5a5711ec3559855a15bba340f3f1.
  • 2026-usrse/duct-poster-assets/: duct, CON and Dartmouth (D-Pine) logos, QR codes (con/duct and the abstract's DOI 10.5281/zenodo.22833931), the fMRIPrep plot from con/duct-gallery.
  • REUSE.toml: D-Pine under the third-party logo marker; the duct logo stays under the catch-all with the CON marks; uvx reuse lint passes.

git-annex

Annexed content is on https://hub.centerforopenneuroscience.org/con/talks (an anonymous clone gets every file), not yet on datasets.datalad.org (I have no falkor access). annex-check fails anyway: its hub remote never resolves from GitHub's runners, on any PR. It goes green once the content is copied to con-site or the action reaches the hub.

Verified

  • PDF: one page, 3024 × 2592 pt, fonts embedded, both QR codes decode, every live text span ≥ 18 pt, 25 hyperlinks pointing where intended.
  • Commands re-run as printed with con-duct 0.23.0 (and DataLad 1.6.2 for the provenance panel).
Notes for reviewers
  • The agent chat panel is illustrative: its con-duct ls and tail lines are real commands, the conversation around them is written for the poster. Every other command output is from a real run.
  • The header and the middle-column graphic were designed in Claude Design and pasted in as static markup; the footer says the poster was built with Claude Code and Claude Design.
  • The comparison table's workflow-manager and experiment-tracker cells come from reading their docs, not from use.

🤖 Generated with Claude Code

asmacdo and others added 30 commits October 14, 2026 10:08
HTML mockup of the US-RSE'26 con-duct poster, sized for a 42 x 36 in
fabric print: @page sets the page size and a print stylesheet zooms the
2158 x 1850 px layout onto it, so headless chromium --print-to-pdf gives
one page.

Title row: author block, title with the con-duct logo inline, then the
Dartmouth D-Pine, CON and ReproNim logos and QR placeholders. Assets
include the con-duct overhead and fMRIPrep plots.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Two QR codes replace the placeholders: the con/duct repository and the
abstract's Zenodo DOI (10.5281/zenodo.22833931). Generated as SVG with
`segno --scale 10 --border 0 --error H <url>`; both decode to their URL
from the printed PDF.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The D-Pine joins the third-party logos marker. The con-duct logo is a
bitmap trace of an image of unrecorded origin (con/duct#207), so it gets
the NOASSERTION mixed marker rather than the catch-all. The ReproNim logo
is the already-annotated pics/borrowed/repronim_logo.svg, and the CON
logos stay under the catch-all, being our own. `reuse lint` passes.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Middle column: what con-duct is (capture, search, plot).
Left: Try it with a real hello-world run, You drive / the agent
drives with simulated chats, and the plot.
Right: DataLad with a real datalad run commit, adopted inside tools
(BABS, ReproNim/containers, ReproStim), comparison table.
Footer: overhead and limitations.
The k8s case study is cut and nebari is gone from the poster.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
- Claude Design graphic for the middle column (capture, then what the
  human or agent asks of the records), pasted as static markup and
  scaled by script; it replaces the HTML capture/search prose.
- Claude Design header: teal band, duct logo tile, QR tiles.
- New "Search is a Python expression" box with real con-duct ls output
  over the con/duct-gallery records.
- Plot moves to the left column; Try it and the chat are trimmed; the
  Try it and DataLad runs are shown dated 2026-09-30.
- Limitations trimmed and reworded around ps CPU statistics.
- Logos move from the header to the footer.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
…message

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
… cards

- The agent-drives panel shows real runs and a con-duct ls query that
  runs as written (paths before -F).
- Plot swapped to the con/duct-gallery ds002785 ps-cpu-timepoint SVG.
- Search questions as tinted cards; caption cut.
- Overhead caption drops the records path; table right-aligned.
- Limitations: macOS sampling overhead.
- Comparison table: the partial marker is an inline SVG (the U+25D0
  glyph fell back to a tiny sliver).

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
duct deletes the logs of a command that fails in under 3 s by default,
so a fast-failing reproducer would leave nothing to list.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Without the extras, con-duct ls prints a plain list (no pyout) and
con-duct plot fails for lack of matplotlib.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The sampler supports only Linux and Darwin (_SUPPORTED_SYSTEMS).

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The old wording (do not wrap such commands) contradicted the abstract,
which says output can be skipped for sensitive commands.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
GNU time reports wall, user and sys time plus max RSS, not one number,
and tee is not a one-word prefix.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The header and the graphic already use Plex; the body fell back to Noto.
Inline code no longer breaks at the hyphen in con-duct.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
A one-line headline (about 2-3 % of one core, 37 MB, 1 to 256
processes), a plain table header, and a shorter method caption that
keeps the 3.3 % whole-run figure and the slow-rise hedge.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
It printed at about 13 pt. The tool examples under the column headers stay.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
- Every font size raised to at least 18 pt at print (13 px in the
  poster, 24 and 25 design px in the scaled graphic and header).
- Graphic: taller file boxes and wider question cards so the larger text
  fits; the canvas copy of the graphic is not updated.
- Try it runs plain duct sleep 2 (real run, shown dated 2026-09-30).
- Agent-drives commands use --f-t 0, the short form.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The What is con-duct? paragraph goes from 14 to 17 px (about 24 pt at
print); the graphic below moves up into its own top margin so the
middle column still fits.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Drop the sort example; the other three queries stack full width with
each command on one line.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
No -m, and the command writes just hello. Real run; the commit is
dated 2026-09-30 through GIT_AUTHOR_DATE/GIT_COMMITTER_DATE, and the
duct log names shown carry the same date.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
The graphic is cropped to end below the result tiles.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
… later

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
It was a rounding bound from ps printing pcpu to one decimal, not a
measured spread (one run per phase), and read like an error bar.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
… easy

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
"You drive, the agent reads the records directly" replaces the heading,
the bold lead line and the sentence under it, which said the same thing.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
Height cap 300 -> 360 px, into the space the shorter You drive panel freed.

Co-Authored-By: Claude Code 2.1.299 / Claude Opus 5.5 <noreply@anthropic.com>
asmacdo and others added 20 commits October 15, 2026 09:58
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep the command as recorded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Swap the left and center columns; each keeps its width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The original column order reads better.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reverts b477e3d, restoring 7a39058: left and center columns swapped,
each keeping its width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ted label

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One-line speaker labels, the agent's con-duct ls / tail calls, and a
lead-in line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nothing is marked simulated any more; the Claude Design graphic is now
in the left column.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Invisible links (inherit colour, no underline) so print is unchanged
and the PDF is clickable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Full / half / empty circles (green / amber / grey) replace the check,
cross and star; fixed layout gives the five tool columns equal widths.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yarikoptic

Copy link
Copy Markdown
Member

Is this the final version we should merge @asmacdo which you submitted for print???

asmacdo and others added 6 commits October 15, 2026 15:35
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It never printed (display: none under @media print); the 30 dpi
render of a re-export is pixel-identical to the print file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It is the print source, not a mockup; the name now matches duct-poster.pdf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The exact file sent to posternerd and published on Zenodo
(10.5281/zenodo.23401552), md5 699f5a5711ec3559855a15bba340f3f1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The source image was generated with ChatGPT by Austin Macdonald for the
duct blog post and traced in Inkscape (con/duct#207), so it is not
third-party material of unknown origin; it falls under the catch-all
with the CON marks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@asmacdo

asmacdo commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Yes, this is final: a9fe84b is what went to print, and the new commits only rename (duct-poster-mockup.html → duct-poster.html), drop unused assets and a hidden draft label, move the duct logo under the CON catch-all in REUSE.toml, and add the print PDF itself (annexed).

  • PDF: https://doi.org/10.5281/zenodo.23401552 (also committed as 2026-usrse/duct-poster.pdf).
  • git-annex: all content, the PDF included, is on hub.centerforopenneuroscience.org/con/talks; an anonymous clone from there gets every file. annex-check still fails because its hub remote never resolves from GitHub's runners ("cannot determine uuid", then annex-ignore); it does the same on every PR, including the green orinoco ones, which pass through web URLs. Could you copy from the hub to con-site, or should we look at the hub path in the action?
  • Preview: I did not touch the preview workflow; the Zenodo record shows the PDF in its viewer.

🤖 Generated with Claude Code

@asmacdo
asmacdo marked this pull request as ready for review October 15, 2026 20:48
@yarikoptic
yarikoptic merged commit ad570b4 into con:master Oct 15, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants