Skip to content

Slide for the 2026 dhmc ieeg group meetup this Fri - #26

Merged
yarikoptic merged 58 commits into
masterfrom
enh-2026-dhmc-ieeg
Oct 9, 2026
Merged

yarikoptic merged 58 commits into
masterfrom
enh-2026-dhmc-ieeg

Conversation

@yarikoptic

Copy link
Copy Markdown
Member

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

git remote add --fetch datasets.datalad.org https://datasets.datalad.org/centerforopenneuroscience/talks/.git

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 --init to get "the machinery"
  • datalad get pics et al to get content (via datalad-fuse you might do automagically!)
  • npm install
  • npm start

and then open browser to http://localhost:8000/2026-dhmc-ieeg.html and edit that .html in the convenience of your editor/IDE.

…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 ^^^
@CodyCBakerPhD CodyCBakerPhD changed the title Slids for the 2026 dhmc ieeg group meetup this Fri Slide for the 2026 dhmc ieeg group meetup this Fri Oct 7, 2026
CodyCBakerPhD pushed a commit that referenced this pull request Oct 7, 2026
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
CodyCBakerPhD added a commit that referenced this pull request Oct 8, 2026
…#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>
CodyCBakerPhD and others added 3 commits October 7, 2026 22:26
…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
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Preview removed.

@yarikoptic

Copy link
Copy Markdown
Member Author

@CodyCBakerPhD binary pngs and large SVGs (which embed binaries) should go under annex, not git

@CodyCBakerPhD

Copy link
Copy Markdown
Collaborator

@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>
yarikoptic and others added 3 commits October 8, 2026 12:32
…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 ^^^
yarikoptic and others added 6 commits October 8, 2026 13:15
=== 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
claude and others added 13 commits October 8, 2026 19:27
- "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
@CodyCBakerPhD

Copy link
Copy Markdown
Collaborator

Just noting:

2023-bids-dicom.html slide /6/2 loads its figure from an external URL (bids-standard.github.io/bids-starter-kit/_images/BIDS-minder.svg), which the preview doesn’t copy, so it’s blank if that URL is gone. The local fallback pics/BIDS-minder.svg is committed as a 66-byte annex pointer file, not a proper annex link, so it can’t render either; the real 158 KB content is on the annex remotes (lena, smaug, the gitea hub). It needs git annex fix pics/BIDS-minder.svg plus the content on datasets.datalad.org, then the slide pointed at the local file.

(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 ^^^
@yarikoptic
yarikoptic marked this pull request as ready for review October 9, 2026 03:25
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 -- `![](path)` and
`[![](path)](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>
@yarikoptic

Copy link
Copy Markdown
Member Author

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 master is to be synced with datasets.datalad.org where power&responsibility is still solely mine.

@yarikoptic
yarikoptic merged commit 45b095d into master Oct 9, 2026
4 checks passed
@yarikoptic
yarikoptic deleted the enh-2026-dhmc-ieeg branch October 9, 2026 12:26
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