Repository navigation
Slide for the 2026 dhmc ieeg group meetup this Fri - #26
Conversation
…rinciples/stamped-branding === Do not change lines below === { "chain": [], "cmd": "cp /home/yoh/proj/stamped-principles/stamped-branding/ver-3/name-banner/name-banner_ver-3.pdf stampedbanner_ver-3.pdf", "dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [ "stampedbanner_ver-3.pdf" ], "pwd": "pics/borrowed" } ^^^ Do not change lines above ^^^
…rinciples/stamped-branding === Do not change lines below === { "chain": [], "cmd": "cp /home/yoh/proj/stamped-principles/stamped-branding/ver-3/name-banner/name-banner_ver-3.svg stamped-banner_ver-3.svg", "dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [ "stamped-banner_ver-3.svg" ], "pwd": "pics/borrowed" } ^^^ Do not change lines above ^^^
The first run built PR #26, whose checkout has no tools/build_preview.py (it only exists on this branch), so the build step had nothing to run. That went unnoticed because `python | tee` without pipefail succeeds, and upload-artifact only warned about the empty directory; the deploy job then failed to find the artifact. - Take tools/build_preview.py from $GITHUB_SHA (the workflow's own ref), so any PR can be previewed, and run it against the PR checkout (the script now builds from the current directory). - set -o pipefail in the build step; if-no-files-found: error on upload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaJ8d7w97BG5hbJVRr9B3M
…#28) * Add GitHub Pages previews of decks changed in pull requests Following dandi/usage-page's preview.yml/preview-deploy.yml split: a read-only `pull_request` build and a `workflow_run` deploy to the gh-pages branch via rossjrw/pr-preview-action, with a sticky comment linking each deck. Only top-level *.html decks added/changed by the PR are previewed. tools/build_preview.py follows their local references (reveal.js, css/, pics/, ...) and copies just those files, fetching git-annex content from datasets.datalad.org first; content not available there is listed in the build summary rather than failing the build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaJ8d7w97BG5hbJVRr9B3M * Make PR previews manual: workflow_dispatch with a PR number Previews are now built only on request (Actions -> Preview -> Run workflow), with `deploy` or `remove`. Since nothing runs automatically on pull_request anymore, the workflow_run split is replaced by two jobs in one workflow: a read-only build of the PR's merge ref and a deploy job with write access that only receives the built files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaJ8d7w97BG5hbJVRr9B3M * Apply suggestion from @CodyCBakerPhD * Preview: run the builder from the workflow's commit, fail loudly The first run built PR #26, whose checkout has no tools/build_preview.py (it only exists on this branch), so the build step had nothing to run. That went unnoticed because `python | tee` without pipefail succeeds, and upload-artifact only warned about the empty directory; the deploy job then failed to find the artifact. - Take tools/build_preview.py from $GITHUB_SHA (the workflow's own ref), so any PR can be previewed, and run it against the PR checkout (the script now builds from the current directory). - set -o pipefail in the build step; if-no-files-found: error on upload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaJ8d7w97BG5hbJVRr9B3M --------- Co-authored-by: Claude <noreply@anthropic.com>
…o enh-2026-dhmc-ieeg * 'enh-2026-dhmc-ieeg' of https://github.com/con/talks: Add on-demand GitHub Pages previews of decks changed in pull requests (#28) fix path instantiate workflow Apply batched suggestions from code review adjust in reponse to reviews
|
Preview removed. |
|
@CodyCBakerPhD binary pngs and large SVGs (which embed binaries) should go under annex, not git |
As I mentioned in #27 (comment), I do not have permissions to push to the remote |
Replace the skeleton NWB section with: - NWB: one file format for all modalities + metadata (conversion gallery) - Converting data to NWB: GUIDE / NeuroConv / PyNWB+MatNWB scale - NeuroConv format listing - Neurosift intro, now mentioning the event-related signals view - Three Neurosift examples (screenshots, titles link to the live views): motion energy grouped by gabor_stimulus_contrast (DANDI:000409), LFP aligned to reward_start_time (DANDI:001539), 40 Hz pulse-train presentations, probe D LFP (DANDI:001637) Slide images rendered from Cody's PDFs at 200 dpi; screenshots kept as the original WebP. All images added via git-annex (MD5E). Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j Co-authored-by: Claude <noreply@anthropic.com>
876d5ad to
9477ae8
Compare
…e panels - pics/dandi-compute-figure.svgtune cuts the poster's panels (orchestration, spike-sorting pipeline, derivative Dandiset) into pics/dandi-compute-figure_tuned/ via `%crop box=...`, replacing the CSS-crop zoom slides; the slides now embed them with <object>, like the ecosystem-diagram builds. generate (will do separate commit) with: (cd pics && svgtune dandi-compute-figure.svgtune) Original commit was 805eae0 which was redone by me (@yarikoptic) to NOT commit large svg's into git directly. Original HI author Cody behind the AI added as Co-Authored-By Co-Authored-By: Cody Baker <51133164+CodyCBakerPhD@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
=== Do not change lines below ===
{
"chain": [],
"cmd": "make dandi-compute-figure_tuned",
"dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "pics"
}
^^^ Do not change lines above ^^^
ccb195b to
f07f133
Compare
=== Do not change lines below ===
{
"chain": [],
"cmd": "convert '{inputs}' -colorspace RGB -filter Lanczos -resize 1800x -colorspace sRGB -unsharp 0x0.75+0.75+0.008 -sampling-factor 1x1 -quality 88 -strip -interlace Plane '{outputs}'",
"dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670",
"exit": 0,
"extra_inputs": [],
"inputs": [
"2025-sfn-poster-data-standards.jpg"
],
"outputs": [
"pics/borrowed/2025-sfn-poster-data-standards_preview.jpg"
],
"pwd": "."
}
^^^ Do not change lines above ^^^
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
The diagram build slides embed their SVG steps with <object type="image/svg+xml" data="pics/..._tuned/....svg"> (so links inside the SVGs stay clickable), but `data` was not among the followed attributes, so none of those SVGs were copied into previews and the slides came up blank. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
- "Free & Open-source (fix & extend at will)" gets two sub-bullets: repo link and the JOSS DOI (moved out of the bottom-right credit) - credit lists Flatiron Institute under Jeremy Magland's name - Neurosift logo at the right of the bullets, linking to neurosift.app Logo annexed; content also served via jsDelivr from the claude/festive-darwin-hvuqwk branch (URL registered with git-annex). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
… into enh-2026-dhmc-ieeg * refs/remotes/gh-con/enh-2026-dhmc-ieeg: 2026-dhmc-ieeg: Neurosift slide: repo/JOSS sub-bullets, Flatiron, logo 2026-dhmc-ieeg: move Jeremy Magland's photo/credit to the slide's bottom-right preview workflow: also run on pull request pushes
…o enh-2026-dhmc-ieeg * 'enh-2026-dhmc-ieeg' of https://github.com/con/talks: Add git-annex check of pull requests (#29)
The two fragment images share one r-stack box, which took the height of the tall portrait figure (1296px slide) and centered the short flow figure in it, leaving big gaps. Cap both heights and pin them to the top of the stack. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TXdd7X7FRyDaxWk9ngYT6j
|
Just noting:
(noticed by our 'corporate friend') |
=== Do not change lines below ===
{
"chain": [],
"cmd": "unzip /tmp/slides-svgtune.zip",
"dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "pics"
}
^^^ Do not change lines above ^^^
…o enh-2026-dhmc-ieeg * 'enh-2026-dhmc-ieeg' of https://github.com/con/talks: Example 5: retitle, add lab/species/task caption Neurosift slide: persistent URLs bullet Neurosift slide: spectrogram sub-bullets (on-the-fly, configurable) Neurosift slide: drop OpenNeuro ds008610 example line 2023-bids-dicom: fix whitespace on the "DICOMs in BIDS" slide
=== Do not change lines below ===
{
"chain": [],
"cmd": "git diff master.. -- 2023-bids-dicom.html | patch -p1 -R",
"dsid": "9eab38ed-8db7-4b6a-b7ce-bab6be25b670",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "."
}
^^^ Do not change lines above ^^^
The deck had grown into a mix of hand-written reveal.js HTML and a few
<section data-markdown> islands. Everything is markdown now: each
top-level <section> is one horizontal stack whose slides live in a
single <textarea data-template>, separated by a line of "----".
Per-slide attributes go in a `<!-- .slide: ... -->` comment on the
slide's first line, speaker notes after a `Note:` line. Only the title
slide and the generated who-we-are grid stay as plain HTML sections
next to the markdown ones; reveal.js splices generated slides in place,
so ordering is unaffected.
Images use markdown references where they can -- `` and
`[](url)`, with styling carried on `<!-- .element: ... -->`
comments, the idiom already used in 2026-nih-bids2.0.html and
2026-ca-origami-retreat-aicoding.html. 32 images converted, 11 of them
linked. Images inside r-stack fragment pairs, flex rows, the BIDS
features table and the positioned Neurosift block stay as HTML, since
markdown cannot express the classes and positioning they need.
Comments that only restated the structure (banner dividers, "end of
<X> detour" markers) are gone, as are commented-out alternative slides;
TODOs and notes recording what was dropped are kept, pointing at where
the dropped content still lives. Prose comments: 74 (204 lines) -> 26
(42 lines).
Added `.reveal object.dia { width:1300px; height:731px }` so the 40
backbone-diagram slides are one-liners rather than repeating the same
inline style, and a `:has()` rule that zeroes the margins of the <p>
that marked wraps around a lone image, so markdown images land exactly
where a bare <img> did.
Verified against the previous revision by driving both decks with
playwright: 99 slides in 13 stacks either way, 0 differences in slide
position, transitions, fragment counts, referenced objects and images,
rendered text, and speaker-note presence. Per-slide screenshots are
pixel-identical on 64 slides and differ by <0.1% on 98 of 99; the
remaining slide is the animated BIDS birthday-card iframe, which
differs from itself by 3x that much between two runs of the old deck.
See `git notes show` on this commit for the rendering traps found
along the way.
Co-Authored-By: Claude Code 2.1.295 / Claude Opus 5 (1M context) <noreply@anthropic.com>
|
ok, I think I will merge locally and push, so we have a version online. I think it is ok to just do in master or we could start another PR to fascilitate previews etc, since |
Annex'ed content will go ATM to https://datasets.datalad.org/?dir=/centerforopenneuroscience/talks so make sure that you had that remote added e.g. via
Later this all will move to https://hub.centerforopenneuroscience.org/con/talks with all shareable content.
Instructions on how to work with this in README.md but overall boils down to
git submodule update --initto get "the machinery"datalad get picset al to get content (via datalad-fuse you might do automagically!)npm installnpm startand then open browser to http://localhost:8000/2026-dhmc-ieeg.html and edit that .html in the convenience of your editor/IDE.