1<!DOCTYPE html> 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> 3 4<meta charset="utf-8"> 5<meta name="generator" content="quarto-1.3.450"> 6 7<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> 8 9<meta name="author" content="Sam Foreman "> 10<meta name="dcterms.date" content="2023-09-19"> 11 12<title>Sam Foreman - Recent Talks</title> 13<style> 14code{white-space: pre-wrap;} 15span.smallcaps{font-variant: small-caps;} 16div.columns{display: flex; gap: min(4vw, 1.5em);} 17div.column{flex: auto; overflow-x: auto;} 18div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} 19ul.task-list{list-style: none;} 20ul.task-list li input[type="checkbox"] { 21 width: 0.8em; 22 margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */ 23 vertical-align: middle; 24} 25</style> 26 27
28<script src="../site_libs/quarto-nav/quarto-nav.js"></script>
vendor: 1 bytes, line 28
28
29<script src="../site_libs/quarto-nav/headroom.min.js"></script>
vendor: 1 bytes, line 29
29
30<script src="../site_libs/clipboard/clipboard.min.js"></script>
vendor: 1 bytes, line 30
30
31<script src="../site_libs/quarto-search/autocomplete.umd.js"></script>
vendor: 1 bytes, line 31
31
32<script src="../site_libs/quarto-search/fuse.min.js"></script>
vendor: 1 bytes, line 32
32
33<script src="../site_libs/quarto-search/quarto-search.js"></script>
33 34<meta name="quarto:offset" content="../"> 35<link href=".././favicon.svg" rel="icon" type="image/svg+xml">
36<script src="../site_libs/quarto-html/quarto.js"></script>
vendor: 1 bytes, line 36
36
37<script src="../site_libs/quarto-html/popper.min.js"></script>
vendor: 1 bytes, line 37
37
38<script src="../site_libs/quarto-html/tippy.umd.min.js"></script>
vendor: 1 bytes, line 38
38
39<script src="../site_libs/quarto-html/anchor.min.js"></script>
39 40<link href="../site_libs/quarto-html/tippy.css" rel="stylesheet"> 41<link href="../site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" class="quarto-color-scheme" id="quarto-text-highlighting-styles"> 42<link href="../site_libs/quarto-html/quarto-syntax-highlighting-dark.css" rel="stylesheet" class="quarto-color-scheme quarto-color-alternate" id="quarto-text-highlighting-styles">
43<script src="../site_libs/bootstrap/bootstrap.min.js"></script>
43 44<link href="../site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet"> 45<link href="../site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" class="quarto-color-scheme" id="quarto-bootstrap" data-mode="light"> 46<link href="../site_libs/bootstrap/bootstrap-dark.min.css" rel="stylesheet" class="quarto-color-scheme quarto-color-alternate" id="quarto-bootstrap" data-mode="dark"> 47<link href="../site_libs/quarto-contrib/fontawesome6-0.1.0/all.css" rel="stylesheet"> 48<link href="../site_libs/quarto-contrib/fontawesome6-0.1.0/latex-fontsize.css" rel="stylesheet"> 49<link href="../site_libs/quarto-contrib/academicons-1.9.2/all.css" rel="stylesheet"> 50<link href="../site_libs/quarto-contrib/academicons-1.9.2/size.css" rel="stylesheet"> 51<link href="../site_libs/quarto-contrib/bootstrap-icons-1.9.1/all.css" rel="stylesheet">
52<script id="quarto-search-options" type="application/json">{ 53 "location": "navbar", 54 "copy-button": false, 55 "collapse-after": 3, 56 "panel-placement": "end", 57 "type": "overlay", 58 "limit": 20, 59 "language": { 60 "search-no-results-text": "No results", 61 "search-matching-documents-text": "matching documents", 62 "search-copy-link-title": "Copy link to search", 63 "search-hide-matches-text": "Hide additional matches", 64 "search-more-match-text": "more match in this document", 65 "search-more-matches-text": "more matches in this document", 66 "search-clear-button-title": "Clear", 67 "search-detached-cancel-button-title": "Cancel", 68 "search-submit-button-title": "Submit", 69 "search-label": "Search" 70 } 71}</script>
vendor: 67 bytes, lines 71-72
71 72<script async="" src="https://www.googletagmanager.com/gtag/js?id=
72G-XVM2Y822Y1
vendor: 13 bytes, lines 72-73
72"></script> 73
74<script type="text/javascript"> 75
vendor: 127 bytes, lines 76-79
76window.dataLayer = window.dataLayer || []; 77function gtag(){dataLayer.push(arguments);} 78gtag('js', new Date()); 79gtag('config', '
79G-XVM2Y822Y1
vendor: 29 bytes, line 79
79', { 'anonymize_ip': true});
80</script>
80 81<link href="https://pvinis.github.io/iosevka-webfont/3.4.1/iosevka.css" rel="stylesheet"> 82 83
83<script>window.backupDefine = window.define; window.define = undefined;</script>
83<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"></script>
83 84
84<script>document.addEventListener("DOMContentLoaded", function () { 85 var mathElements = document.getElementsByClassName("math"); 86 var macros = []; 87 for (var i = 0; i < mathElements.length; i++) { 88 var texText = mathElements[i].firstChild; 89 if (mathElements[i].tagName == "SPAN") { 90 katex.render(texText.data, mathElements[i], { 91 displayMode: mathElements[i].classList.contains('display'), 92 throwOnError: false, 93 macros: macros, 94 fleqn: false 95 }); 96}}}); 97 </script>
97 98
98<script>window.define = window.backupDefine; window.backupDefine = undefined;</script>
98<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"> 99 100<link rel="stylesheet" href="../css/default.css"> 101<link rel="stylesheet" href="../css/callouts.css"> 102<link rel="stylesheet" href="../css/profile.css"> 103<meta property="og:title" content="Sam Foreman - Recent Talks"> 104<meta property="og:site-name" content="Sam Foreman"> 105<meta name="twitter:title" content="Sam Foreman - Recent Talks"> 106<meta name="twitter:image" content="https://saforem2.github.io/qmd/assets/thumbnail.png"> 107<meta name="twitter:creator" content="@saforem2"> 108<meta name="twitter:site" content="@saforem2"> 109<meta name="twitter:card" content="summary_large_image"> 110<meta name="citation_title" content="Personal Website"> 111<meta name="citation_author" content="Sam Foreman"> 112<meta name="citation_publication_date" content="2023-09-19"> 113<meta name="citation_cover_date" content="2023-09-19"> 114<meta name="citation_year" content="2023"> 115<meta name="citation_online_date" content="2023-09-19"> 116<meta name="citation_fulltext_html_url" content="https://saforem2.github.io"> 117<meta name="citation_language" content="en"> 118<meta name="citation_reference" content="citation_title=The climate risk &amp;amp; resilience portal (ClimRR) metadata and data dictionary;,citation_author=C. Burdi;,citation_author=Wall. T Branham;,citation_publication_date=2023;,citation_cover_date=2023;,citation_year=2023;,citation_fulltext_html_url=https://dub.sh/ClimRR-Metadata;"> 119<meta name="citation_reference" content="citation_title=Progress on (g-2)_\mu from lattice QCD;,citation_author=Hartmut Wittig;,citation_publication_date=2023;,citation_cover_date=2023;,citation_year=2023;,citation_fulltext_html_url=https://arxiv.org/abs/2306.04165;"> 120<meta name="citation_reference" content="citation_title=Hybrid Monte Carlo;,citation_author=S. Duane;,citation_author=A. D. Kennedy;,citation_author=B. J. Pendleton;,citation_author=D. Roweth;,citation_publication_date=1987;,citation_cover_date=1987;,citation_year=1987;,citation_doi=10.1016/0370-2693(87)91197-X;,citation_volume=195;,citation_journal_title=Phys. Lett. B;"> 121<meta name="citation_reference" content="citation_title=Snowmass 2021 Computational Frontier CompF03 Topical Group Report: Machine Learning;,citation_author=Phiala Shanahan;,citation_author=others;,citation_publication_date=2022-09;,citation_cover_date=2022-09;,citation_year=2022;,citation_fulltext_html_url=https://arxiv.org/abs/2209.07559;"> 122<meta name="citation_reference" content="citation_title=Applications of Machine Learning to Lattice Quantum Field Theory;,citation_author=Denis Boyda;,citation_author=others;,citation_publication_date=2022-02;,citation_cover_date=2022-02;,citation_year=2022;,citation_fulltext_html_url=https://arxiv.org/abs/2202.05838;,citation_conference_title=Snowmass 2021;"> 123<meta name="citation_reference" content="citation_title=HMC with Normalizing Flows;,citation_author=Sam Foreman;,citation_author=Taku Izubuchi;,citation_author=Luchang Jin;,citation_author=Xiao-Yong Jin;,citation_author=James C. Osborn;,citation_author=Akio Tomiya;,citation_publication_date=2022;,citation_cover_date=2022;,citation_year=2022;,citation_fulltext_html_url=https://arxiv.org/abs/2112.01586;,citation_doi=10.22323/1.396.0073;,citation_volume=LATTICE2021;,citation_journal_title=PoS;"> 124<meta name="citation_reference" content="citation_title=LeapfrogLayers: A Trainable Framework for Effective Topological Sampling;,citation_author=Sam Foreman;,citation_author=Xiao-Yong Jin;,citation_author=James C. Osborn;,citation_publication_date=2022;,citation_cover_date=2022;,citation_year=2022;,citation_fulltext_html_url=https://arxiv.org/abs/2112.01582;,citation_doi=10.22323/1.396.0508;,citation_volume=LATTICE2021;,citation_journal_title=PoS;"> 125<meta name="citation_reference" content="citation_title=Deep Learning Hamiltonian Monte Carlo;,citation_author=Sam Foreman;,citation_author=Xiao-Yong Jin;,citation_author=James C. Osborn;,citation_publication_date=2021-05;,citation_cover_date=2021-05;,citation_year=2021;,citation_fulltext_html_url=https://arxiv.org/abs/2105.03418;,citation_conference_title=9th International Conference on Learning Representations;"> 126<meta name="citation_reference" content="citation_title=Energy Justice Analysis of Climate Data with ClimRR;,citation_author=Sam Foreman;,citation_publication_date=2023-08-07;,citation_cover_date=2023-08-07;,citation_year=2023;,citation_fulltext_html_url=https://saforem2.github.io/climate-analysis;,citation_language=en;"> 127<meta name="citation_reference" content="citation_author=Sam Foreman;,citation_publication_date=2023-08-19;,citation_cover_date=2023-08-19;,citation_year=2023;,citation_fulltext_html_url=https://saforem2.github.io/l2hmc-qcd;,citation_language=en;"> 128<meta name="citation_reference" content="citation_title=Deep learning hamiltonian monte carlo;,citation_author=Sam Foreman;,citation_author=Xiao-Yong Jin;,citation_author=James C. Osborn;,citation_publication_date=2021;,citation_cover_date=2021;,citation_year=2021;,citation_fulltext_html_url=https://arxiv.org/abs/2105.03418;"> 129<meta name="citation_reference" content="citation_title=MLMC: Machine learning monte carlo for lattice gauge theory;,citation_author=Sam Foreman;,citation_author=Xiao-Yong Jin;,citation_author=James Osborn;,citation_publication_date=00;,citation_cover_date=00;,citation_year=0;,citation_conference_title=40th international symposium on lattice field theory (lattice 2023) (batavia, IL, united states, 07/31/2023 - 08/04/2023);"> 130</head> 131 132<body class="nav-fixed"> 133 134<div id="quarto-search-results"></div> 135 <header id="quarto-header" class="headroom fixed-top"> 136 <nav class="navbar navbar-expand-lg navbar-dark "> 137 <div class="navbar-container container-fluid"> 138 <div class="navbar-brand-container"> 139 <a href="../index.html" class="navbar-brand navbar-brand-logo"> 140 <img src=".././favicon.svg" alt="" class="navbar-logo"> 141 </a> 142 <a class="navbar-brand" href="../index.html"> 143 <span class="navbar-title">Sam Foreman</span> 144 </a> 145 </div> 146 <div id="quarto-search" class="" title="Search"></div> 147 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarC
147ollapse" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }"> 148 <span class="navbar-toggler-icon"></span> 149</button> 150 <div class="collapse navbar-collapse" id="navbarCollapse"> 151 <ul class="navbar-nav navbar-nav-scroll me-auto"> 152 <li class="nav-item"> 153 <a class="nav-link" href="../qmd/posts.html" rel="" target=""> 154 <span class="menu-text"><span class="red-text"><i class="bi-signpost-split " style="" role="img" aria-hidden="true"></i></span> Posts</span></a> 155 </li> 156 <li class="nav-item"> 157 <a class="nav-link active" href="../qmd/slides.html" rel="" target="" aria-current="page"> 158 <span class="menu-text"><span class="green-text"><i class="bi-easel " style="" role="img" aria-hidden="true"></i></span> Talks</span></a> 159 </li> 160 <li class="nav-item"> 161 <a class="nav-link" href="../qmd/projects.html" rel="" target=""> 162 <span class="menu-text"><span class="blue-text"><i class="bi-braces-asterisk " style="" role="img" aria-hidden="true"></i></span> Projects</span></a> 163 </li> 164</ul> 165 <ul class="navbar-nav navbar-nav-scroll ms-auto"> 166 <li class="nav-item compact"> 167 <a class="nav-link" href="https://github.com/saforem2/saforem2.github.io" rel="" target=""><i class="bi bi-github" role="img" aria-label="GitHub"> 168</i> 169 <span class="menu-text"></span></a> 170 </li> 171</ul> 172 <div class="quarto-navbar-tools"> 173 <a href="" class="quarto-color-scheme-toggle quarto-navigation-tool px-1" onclick="window.quartoToggleColorScheme(); return false;" title="Toggle dark mode"><i class="bi"></i></a> 174</div> 175 </div> <!-- /navcollapse --> 176 </div> <!-- /container-fluid --> 177 </nav> 178</header> 179<!-- content --> 180<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar"> 181<!-- sidebar --> 182<!-- margin-sidebar --> 183 <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> 184 <nav id="TOC" role="doc-toc" class="toc-active"> 185 <h2 id="toc-title">On this page</h2> 186 187 <ul> 188 <li><a href="#section" id="toc-section" class="nav-link active" data-scroll-target="#section"></a> 189 <ul class="collapse"> 190 <li><a href="#fa-regular-calendar-2023" id="toc-fa-regular-calendar-2023" class="nav-link" data-scroll-target="#fa-regular-calendar-2023"><i class="fa-regular fa-calendar" aria-label="calendar"></i> 2023</a></li> 191 <li><a href="#fa-regular-calendar-2022" id="toc-fa-regular-calendar-2022" class="nav-link" data-scroll-target="#fa-regular-calendar-2022"><i class="fa-regular fa-calendar" aria-label="calendar"></i> 2022</a></li> 192 </ul></li> 193 </ul> 194<div class="toc-actions"><div><i class="bi bi-github"></i></div><div class="action-links"><p><a href="https://github.com/saforem2/saforem2.github.io/blob/main/qmd/slides.qmd" class="toc-action">View source</a></p><p><a href="https://github.com/saforem2/saforem2.github.io/edit/main/qmd/slides.qmd" class="toc-action">Edit this page</a></p><p><a href="https://github.com/saforem2/saforem2.github.io/issues/new" class="toc-action">Report an issue</a></p></div></div></nav> 195 </div> 196<!-- main --> 197<main class="content" id="quarto-document-content"> 198 199<header id="title-block-header" class="quarto-title-block default"> 200<div class="quarto-title"> 201<div class="quarto-title-block"><div><h1 class="title">Recent Talks</h1><button type="button" class="btn code-tools-button" id="quarto-code-tools-source" data-quarto-source-url="https://github.com/saforem2/saforem2.github.io/blob/main/qmd/slides.qmd"><i class="bi"></i></button></div></div> 202</div> 203 204 205 206<div class="quarto-title-meta"> 207 208 <div> 209 <div class="quarto-title-meta-heading"></div> 210 <div class="quarto-title-meta-contents"> 211 <p><a href="https://samforeman.me">Sam Foreman </a><a href="https://orcid.org/0000-0002-9981-0876"><span class="orcid-green"><i class="ai ai-orcid"></i></span></a> </p> 212 </div> 213 </div> 214 215 <div> 216 <div class="quarto-title-meta-heading"></div> 217 <div class="quarto-title-meta-contents"> 218 <p class="date">September 19, 2023</p> 219 </div> 220 </div> 221 222 223 </div> 224 225 226</header> 227 228<section id="section" class="level1"> 229<h1></h1> 230<section id="fa-regular-calendar-2023" class="level2"> 231<h2 class="anchored" data-anchor-id="fa-regular-calendar-2023"><i class="fa-regular fa-calendar" aria-label="calendar"></i> 2023</h2> 232<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Scaling LLMs for Science and Ongoing Collaborations**](https://saforem2.github.io/scaling4science) @ [Data-Intensive Computing and AI/ML at Scale](https://events.cels.anl.gov/event/426/overview) (08/2023)]{.dim-text}" style="width:100%; background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 233<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-1-contents" aria-controls="callout-1" aria-expanded="false" aria-label="Toggle callout"> 234<div class="callout-icon-container"> 235<i class="callout-icon no-icon"></i> 236</div> 237<div class="callout-title-container flex-fill"> 238<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/scaling4science"><strong>Scaling LLMs for Science and Ongoing Collaborations</strong></a> @ <a href="https://events.cels.anl.gov/event/426/overview">Data-Intensive Computing and AI/ML at Scale</a> (08/2023)</span> 239</div> 240<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 241</div> 242<div id="callout-1" class="callout-1-contents callout-collapse collapse"> 243<div class="callout-body-container callout-body"> 244<iframe allow="picture-in-picture" src="https://saforem2.github.io/scaling4science/" title="Scaling LLMs for Science and Ongoing Collaborations" width="100%" al
244ign="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 245<p> 246Your browser does not support iframes. 247</p> 248</iframe> 249</div> 250</div> 251</div> 252<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**MLMC: Machine Learning Monte Carlo**](https://saforem2.github.io/lattice23) @ [Lattice 2023](https://indico.fnal.gov/event/57249/contributions/271305/) (07/2023)]{.dim-text}" style="width:100%; background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 253<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-2-contents" aria-controls="callout-2" aria-expanded="false" aria-label="Toggle callout"> 254<div class="callout-icon-container"> 255<i class="callout-icon no-icon"></i> 256</div> 257<div class="callout-title-container flex-fill"> 258<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/lattice23"><strong>MLMC: Machine Learning Monte Carlo</strong></a> @ <a href="https://indico.fnal.gov/event/57249/contributions/271305/">Lattice 2023</a> (07/2023)</span> 259</div> 260<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 261</div> 262<div id="callout-2" class="callout-2-contents callout-collapse collapse"> 263<div class="callout-body-container callout-body"> 264<iframe allow="picture-in-picture" src="https://saforem2.github.io/lattice23/" title="MLMC: Machine Learning Monte Carlo" width="100%" align="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 265<p> 266Your browser does not support iframes. 267</p> 268</iframe> 269</div> 270</div> 271</div> 272<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Generative Modeling and Efficient Sampling**](https://saforem2.github.io/lqcd-pasc23/) @ [PASC23](https://pasc23.pasc-conference.org/) (07/2023)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 273<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-3-contents" aria-controls="callout-3" aria-expanded="false" aria-label="Toggle callout"> 274<div class="callout-icon-container"> 275<i class="callout-icon no-icon"></i> 276</div> 277<div class="callout-title-container flex-fill"> 278<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/lqcd-pasc23/"><strong>Generative Modeling and Efficient Sampling</strong></a> @ <a href="https://pasc23.pasc-conference.org/">PASC23</a> (07/2023)</span> 279</div> 280<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 281</div> 282<div id="callout-3" class="callout-3-contents callout-collapse collapse"> 283<div class="callout-body-container callout-body"> 284<iframe allow="picture-in-picture" src="https://saforem2.github.io/lqcd-pasc23/" title="Generative Modeling and Efficient Sampling" width="100%" align="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 285<p> 286Your browser does not support iframes. 287</p> 288</iframe> 289</div> 290</div> 291</div> 292<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Efficient Sampling for Lattice Gauge Theory**](https://saforem2.github.io/deep-fridays) @ [Deep Fridays @ U. Bologna](https://www.cs.unibo.it/~asperti/deep_fridays.html) (04/2023)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 293<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-4-contents" aria-controls="callout-4" aria-expanded="false" aria-label="Toggle callout"> 294<div class="callout-icon-container"> 295<i class="callout-icon no-icon"></i> 296</div> 297<div class="callout-title-container flex-fill"> 298<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/deep-fridays"><strong>Efficient Sampling for Lattice Gauge Theory</strong></a> @ <a href="https://www.cs.unibo.it/~asperti/deep_fridays.html">Deep Fridays @ U. Bologna</a> (04/2023)</span> 299</div> 300<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 301</div> 302<div id="callout-4" class="callout-4-contents callout-collapse collapse"> 303<div class="callout-body-container callout-body"> 304<iframe allow="picture-in-picture" src="https://saforem2.github.io/deep-fridays/" title="Efficient Sampling for Lattice Gauge Theory" width="100%" al
304ign="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 305<p> 306Your browser does not support iframes. 307</p> 308</iframe> 309</div> 310</div> 311</div> 312</section> 313<section id="fa-regular-calendar-2022" class="level2"> 314<h2 class="anchored" data-anchor-id="fa-regular-calendar-2022"><i class="fa-regular fa-calendar" aria-label="calendar"></i> 2022</h2> 315<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Large Scale Training**](https://saforem2.github.io/ai4sci-large-scale-training) @ [Introduction to AI4Science on Supercomputers (ALCF)](https://github.com/argonne-lcf/ai-science-training-series) (11/2022)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 316<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-5-contents" aria-controls="callout-5" aria-expanded="false" aria-label="Toggle callout"> 317<div class="callout-icon-container"> 318<i class="callout-icon no-icon"></i> 319</div> 320<div class="callout-title-container flex-fill"> 321<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/ai4sci-large-scale-training"><strong>Large Scale Training</strong></a> @ <a href="https://github.com/argonne-lcf/ai-science-training-series">Introduction to AI4Science on Supercomputers (ALCF)</a> (11/2022)</span> 322</div> 323<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 324</div> 325<div id="callout-5" class="callout-5-contents callout-collapse collapse"> 326<div class="callout-body-container callout-body"> 327<iframe allow="picture-in-picture" src="https://saforem2.github.io/ai4sci-large-scale-training/#" title="Large Scale Training" width="100%" align="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 328<p> 329Your browser does not support iframes. 330</p> 331</iframe> 332</div> 333</div> 334</div> 335<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Hyperparameter Management**](https://saforem2.github.io/hparam-management-sdl2022/) @ [ALCF Simulation, Data, and Learning Workshop](https://www.alcf.anl.gov/events/2022-alcf-simulation-data-and-learning-workshop) (10/2022)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 336<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-6-contents" aria-controls="callout-6" aria-expanded="false" aria-label="Toggle callout"> 337<div class="callout-icon-container"> 338<i class="callout-icon no-icon"></i> 339</div> 340<div class="callout-title-container flex-fill"> 341<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/hparam-management-sdl2022/"><strong>Hyperparameter Management</strong></a> @ <a href="https://www.alcf.anl.gov/events/2022-alcf-simulation-data-and-learning-workshop">ALCF Simulation, Data, and Learning Workshop</a> (10/2022)</span> 342</div> 343<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 344</div> 345<div id="callout-6" class="callout-6-contents callout-collapse collapse"> 346<div class="callout-body-container callout-body"> 347<iframe allow="picture-in-picture" src="https://saforem2.github.io/hparam-management-sdl2022" title="Hyperparameter Management" width="100%" align="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 348<p> 349Your browser does not support iframes. 350</p> 351</iframe> 352</div> 353</div> 354</div> 355<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Statistical Learning**](https://saforem2.github.io/ATPESC-StatisticalLearning) @ [ATPESC 2022](https://extremecomputingtraining.anl.gov/) (08/2022)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 356<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-7-contents" aria-controls="callout-7" aria-expanded="false" aria-label="Toggle callout"> 357<div class="callout-icon-container"> 358<i class="callout-icon no-icon"></i> 359</div> 360<div class="callout-title-container flex-fill"> 361<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/ATPESC-StatisticalLearning"><strong>Statistical Learning</strong></a> @ <a href="https://extremecomputingtraining.anl.gov/">ATPESC 2022</a> (08/2022)</span> 362</div> 363<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 364</div> 365<div id="callout-7" class="callout-7-contents callout-collapse collapse"> 366<div class="callout-body-container callout-body"> 367<ul> 368<li><a href="https://github.com/argonne-lcf/ATPESC_MachineLearning/blob/master/00_statisticalLearning/src/atpesc/notebooks/statistical_learning.ipynb">ð accompanying notebook</a></li> 369</ul> 370<iframe loading="lazy" allow="picture-in-picture" src="https://saforem2.github.io/ATPESC-StatisticalLearning/#/" title="Statistical Learning" width="100%" al
370ign="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 371<p> 372Your browser does not support iframes. 373</p> 374</iframe> 375</div> 376</div> 377</div> 378<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Scientific Data Science: An Emerging Symbiosis**](https://saforem2.github.io/anl-job-talk/) @ ANL (05/2022)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 379<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-8-contents" aria-controls="callout-8" aria-expanded="false" aria-label="Toggle callout"> 380<div class="callout-icon-container"> 381<i class="callout-icon no-icon"></i> 382</div> 383<div class="callout-title-container flex-fill"> 384<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/anl-job-talk/"><strong>Scientific Data Science: An Emerging Symbiosis</strong></a> @ ANL (05/2022)</span> 385</div> 386<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 387</div> 388<div id="callout-8" class="callout-8-contents callout-collapse collapse"> 389<div class="callout-body-container callout-body"> 390<iframe loading="lazy" allow="picture-in-picture" src="https://saforem2.github.io/anl-job-talk" title="Scientific Data Science" width="100%" align="center" height="512" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border-radius:0.25rem;border:none;align:center;"> 391<p> 392Your browser does not support iframes. 393</p> 394</iframe> 395</div> 396</div> 397</div> 398<div class="callout callout-style-simple callout-caution no-icon callout-titled" title="[{{< fa solid person-chalkboard size=fa-lg >}}]{style='color:#A9A9B3;'} $\hspace{2pt}$ [[**Machine Learning in HEP**](https://saforem2.github.io/physicsSeminar) @ UNC Greensboro (03/2022)]{.dim-text}" style="width:100%;background-color: rgba(28, 28, 28, 0.75)!important; border-color: #2c2c2c!important;"> 399<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-9-contents" aria-controls="callout-9" aria-expanded="false" aria-label="Toggle callout"> 400<div class="callout-icon-container"> 401<i class="callout-icon no-icon"></i> 402</div> 403<div class="callout-title-container flex-fill"> 404<span style="color:#A9A9B3;"><i class="fa-solid fa-person-chalkboard fa-fa-lg" aria-label="person-chalkboard"></i></span> <span class="math inline">\hspace{2pt}</span> <span class="dim-text"><a href="https://saforem2.github.io/physicsSeminar"><strong>Machine Learning in HEP</strong></a> @ UNC Greensboro (03/2022)</span> 405</div> 406<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 407</div> 408<div id="callout-9" class="callout-9-contents callout-collapse collapse"> 409<div class="callout-body-container callout-body"> 410<ul> 411<li><a href="https://saforem2.github.io/physicsSeminar"><strong>Machine Learning in HEP</strong></a>, at UNC Greensboro, March 2022</li> 412</ul> 413<iframe loading="lazy" allow="picture-in-picture" src="https://saforem2.github.io/physicsSeminar" title="Machine Learning in HEP" width="100%" align="center" height="300" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="border:none;border-radius:0.25rem;"> 414<p> 415Your browser does not support iframes. 416</p> 417</iframe> 418</div> 419</div> 420</div> 421<div class="callout callout-style-simple callout-tip callout-titled" title="Older Slides" style="width:100%;"> 422<div class="callout-header d-flex align-content-center" data-bs-toggle="collapse" data-bs-target=".callout-10-contents" aria-controls="callout-10" aria-expanded="false" aria-label="Toggle callout"> 423<div class="callout-icon-container"> 424<i class="callout-icon"></i> 425</div> 426<div class="callout-title-container flex-fill"> 427Older Slides 428</div> 429<div class="callout-btn-toggle d-inline-block border-0 py-1 ps-1 pe-0 float-end"><i class="callout-toggle"></i></div> 430</div> 431<div id="callout-10" class="callout-10-contents callout-collapse collapse"> 432<div class="callout-body-container callout-body"> 433<p>Older slides (pre-2022) can be found <a href="../qmd/slides-older.html">here</a></p> 434</div> 435</div> 436</div> 437 438 439</section> 440</section> 441
442<a onclick="window.scrollTo(0, 0); return false;" role="button" id="quarto-back-to-top"><i class="bi bi-arrow-up"></i> Back to top</a><div id="quarto-appendix" class="default"><section class="quarto-appendix-contents"><h2 class="anchored quarto-appendix-heading">Citation</h2><div><div class="quarto-appendix-secondary-label">BibTeX citation:</div><pre class="sourceCode code-with-copy quarto-appendix-bibtex"><code class="sourceCode bibtex">@online{foreman2023, 443 author = {Foreman, Sam}, 444 title = {Personal {Website}}, 445 date = {2023-09-19}, 446 url = {https://saforem2.github.io}, 447 langid = {en} 448} 449</code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre><div class="quarto-appendix-secondary-label">For attribution, please cite this work as:</div><div id="ref-foreman2023" class="csl-entry quarto-appendix-citeas" role="listitem"> 450Foreman, Sam. 2023. <span>âPersonal Website.â</span> September 19, 2023. 451<a href="https://saforem2.github.io">https://saforem2.github.io</a>. 452</div></div></section></div></main> <!-- /main -->
453<script id="quarto-html-after-body" type="application/javascript"> 454window.document.addEventListener("DOMContentLoaded", function (event) { 455 const toggleBodyColorMode = (bsSheetEl) => { 456 const mode = bsSheetEl.getAttribute("data-mode"); 457 const bodyEl = window.document.querySelector("body"); 458 if (mode === "dark") { 459 bodyEl.classList.add("quarto-dark"); 460 bodyEl.classList.remove("quarto-light"); 461 } else { 462 bodyEl.classList.add("quarto-light"); 463 bodyEl.classList.remove("quarto-dark"); 464 } 465 } 466 const toggleBodyColorPrimary = () => { 467 const bsSheetEl = window.document.querySelector("link#quarto-bootstrap"); 468 if (bsSheetEl) { 469 toggleBodyColorMode(bsSheetEl); 470 } 471 } 472 toggleBodyColorPrimary(); 473 const disableStylesheet = (stylesheets) => { 474 for (let i=0; i < stylesheets.length; i++) { 475 const stylesheet = stylesheets[i]; 476 stylesheet.rel = 'prefetch'; 477 } 478 } 479 const enableStylesheet = (stylesheets) => { 480 for (let i=0; i < stylesheets.length; i++) { 481 const stylesheet = stylesheets[i]; 482 stylesheet.rel = 'stylesheet'; 483 } 484 } 485 const manageTransitions = (selector, allowTransitions) => { 486 const els = window.document.querySelectorAll(selector); 487 for (let i=0; i < els.length; i++) { 488 const el = els[i]; 489 if (allowTransitions) { 490 el.classList.remove('notransition'); 491 } else { 492 el.classList.add('notransition'); 493 } 494 } 495 } 496 const toggleColorMode = (alternate) => { 497 // Switch the stylesheets 498 const alternateStylesheets = window.document.querySelectorAll('link.quarto-color-scheme.quarto-color-alternate'); 499 manageTransitions('#quarto-margin-sidebar .nav-link', false); 500 if (alternate) { 501 enableStylesheet(alternateStylesheets); 502 for (const sheetNode of alternateStylesheets) { 503 if (sheetNode.id === "quarto-bootstrap") { 504 toggleBodyColorMode(sheetNode); 505 } 506 } 507 } else { 508 disableStylesheet(alternateStylesheets); 509 toggleBodyColorPrimary(); 510 } 511 manageTransitions('#quarto-margin-sidebar .nav-link', true); 512 // Switch the toggles 513 const toggles = window.document.querySelectorAll('.quarto-color-scheme-toggle'); 514 for (let i=0; i < toggles.length; i++) { 515 const toggle = toggles[i]; 516 if (toggle) { 517 if (alternate) { 518 toggle.classList.add("alternate"); 519 } else { 520 toggle.classList.remove("alternate"); 521 } 522 } 523 } 524 // Hack to workaround the fact that safari doesn't 525 // properly recolor the scrollbar when toggling (#1455) 526 if (navigator.userAgent.indexOf('Safari') > 0 && navigator.userAgent.indexOf('Chrome') == -1) { 527 manageTransitions("body", false); 528 window.scrollTo(0, 1); 529 setTimeout(() => { 530 window.scrollTo(0, 0); 531 manageTransitions("body", true); 532 }, 40); 533 } 534 } 535 const isFileUrl = () => { 536 return window.location.protocol === 'file:'; 537 } 538 const hasAlternateSentinel = () => { 539 let styleSentinel = getColorSchemeSentinel(); 540 if (styleSentinel !== null) { 541 return styleSentinel === "alternate"; 542 } else { 543 return false; 544 } 545 } 546 const setStyleSentinel = (alternate) => { 547 const value = alternate ? "alternate" : "default"; 548 if (!isFileUrl()) { 549 window.localStorage.setItem("quarto-color-scheme", value); 550 } else { 551 localAlternateSentinel = value; 552 } 553 } 554 const getColorSchemeSentinel = () => { 555 if (!isFileUrl()) { 556 const storageValue = window.localStorage.getItem("quarto-color-scheme"); 557 return storageValue != null ? storageValue : localAlternateSentinel; 558 } else { 559 return localAlternateSentinel; 560 } 561 } 562 let localAlternateSentinel = 'alternate'; 563 // Dark / light mode switch 564 window.quartoToggleColorScheme = () => { 565 // Read the current dark / light value 566 let toAlternate = !hasAlternateSentinel(); 567 toggleColorMode(toAlternate); 568 setStyleSentinel(toAlternate); 569 }; 570 // Ensure there is a toggle, if there isn't float one in the top right 571 if (window.document.querySelector('.quarto-color-scheme-toggle') === null) { 572 const a = window.document.createElement('a'); 573 a.classList.add('top-right'); 574 a.classList.add('quarto-color-scheme-toggle'); 575 a.href = ""; 576 a.onclick = function() { try { window.quartoToggleColorScheme(); } catch {} return false; }; 577 const i = window.document.createElement("i"); 578 i.classList.add('bi'); 579 a.appendChild(i); 580 window.document.body.appendChild(a); 581 } 582 // Switch to dark mode if need be 583 if (hasAlternateSentinel()) { 584 toggleColorMode(true); 585 } else { 586 toggleColorMode(false); 587 } 588 const icon = "î§"; 589 const anchorJS = new window.AnchorJS(); 590 anchorJS.options = { 591 placement: 'right', 592 icon: icon 593 }; 594 anchorJS.add('.anchored'); 595 const isCodeAnnotation = (el) => { 596 for (const clz of el.classList) { 597 if (clz.startsWith('code-annotation-')) { 598 return true; 599 } 600 } 601 return false;
602 } 603 const clipboard = new window.ClipboardJS('.code-copy-button', { 604 text: function(trigger) { 605 const codeEl = trigger.previousElementSibling.cloneNode(true); 606 for (const childEl of codeEl.children) { 607 if (isCodeAnnotation(childEl)) { 608 childEl.remove(); 609 } 610 } 611 return codeEl.innerText; 612 } 613 }); 614 clipboard.on('success', function(e) { 615 // button target 616 const button = e.trigger; 617 // don't keep focus 618 button.blur(); 619 // flash "checked" 620 button.classList.add('code-copy-button-checked'); 621 var currentTitle = button.getAttribute("title"); 622 button.setAttribute("title", "Copied!"); 623 let tooltip; 624 if (window.bootstrap) { 625 button.setAttribute("data-bs-toggle", "tooltip"); 626 button.setAttribute("data-bs-placement", "left"); 627 button.setAttribute("data-bs-title", "Copied!"); 628 tooltip = new bootstrap.Tooltip(button, 629 { trigger: "manual", 630 customClass: "code-copy-button-tooltip", 631 offset: [0, -8]}); 632 tooltip.show(); 633 } 634 setTimeout(function() { 635 if (tooltip) { 636 tooltip.hide(); 637 button.removeAttribute("data-bs-title"); 638 button.removeAttribute("data-bs-toggle"); 639 button.removeAttribute("data-bs-placement"); 640 } 641 button.setAttribute("title", currentTitle); 642 button.classList.remove('code-copy-button-checked'); 643 }, 1000); 644 // clear code selection 645 e.clearSelection(); 646 }); 647 const viewSource = window.document.getElementById('quarto-view-source') || 648 window.document.getElementById('quarto-code-tools-source'); 649 if (viewSource) { 650 const sourceUrl = viewSource.getAttribute("data-quarto-source-url"); 651 viewSource.addEventListener("click", function(e) { 652 if (sourceUrl) { 653 // rstudio viewer pane 654 if (/\bcapabilities=\b/.test(window.location)) { 655 window.open(sourceUrl); 656 } else { 657 window.location.href = sourceUrl; 658 } 659 } else { 660 const modal = new bootstrap.Modal(document.getElementById('quarto-embedded-source-code-modal')); 661 modal.show(); 662 } 663 return false; 664 }); 665 } 666 function toggleCodeHandler(show) { 667 return function(e) { 668 const detailsSrc = window.document.querySelectorAll(".cell > details > .sourceCode"); 669 for (let i=0; i<detailsSrc.length; i++) { 670 const details = detailsSrc[i].parentElement; 671 if (show) { 672 details.open = true; 673 } else { 674 details.removeAttribute("open"); 675 } 676 } 677 const cellCodeDivs = window.document.querySelectorAll(".cell > .sourceCode"); 678 const fromCls = show ? "hidden" : "unhidden"; 679 const toCls = show ? "unhidden" : "hidden"; 680 for (let i=0; i<cellCodeDivs.length; i++) { 681 const codeDiv = cellCodeDivs[i]; 682 if (codeDiv.classList.contains(fromCls)) { 683 codeDiv.classList.remove(fromCls); 684 codeDiv.classList.add(toCls); 685 } 686 } 687 return false; 688 } 689 } 690 const hideAllCode = window.document.getElementById("quarto-hide-all-code"); 691 if (hideAllCode) { 692 hideAllCode.addEventListener("click", toggleCodeHandler(false)); 693 } 694 const showAllCode = window.document.getElementById("quarto-show-all-code"); 695 if (showAllCode) { 696 showAllCode.addEventListener("click", toggleCodeHandler(true)); 697 } 698 function tippyHover(el, contentFn) { 699 const config = { 700 allowHTML: true, 701 content: contentFn, 702 maxWidth: 500, 703 delay: 100, 704 arrow: false, 705 appendTo: function(el) { 706 return el.parentElement; 707 }, 708 interactive: true, 709 interactiveBorder: 10, 710 theme: 'quarto', 711 placement: 'bottom-start' 712 }; 713 window.tippy(el, config); 714 } 715 const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); 716 for (var i=0; i<noterefs.length; i++) { 717 const ref = noterefs[i]; 718 tippyHover(ref, function() { 719 // use id or data attribute instead here 720 let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); 721 try { href = new URL(href).hash; } catch {} 722 const id = href.replace(/^#\/?/, ""); 723 const note = window.document.getElementById(id); 724 return note.innerHTML; 725 }); 726 } 727 let selectedAnnoteEl; 728 const selectorForAnnotation = ( cell, annotation) => { 729 let cellAttr = 'data-code-cell="' + cell + '"'; 730 let lineAttr = 'data-code-annotation="' + annotation + '"'; 731 const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; 732 return selector; 733 } 734 const selectCodeLines = (annoteEl) => { 735 const doc = window.document; 736 const targetCell = annoteEl.getAttribute("data-target-cell"); 737 const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); 738 const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); 739 const lines = annoteSpan.getAttribute("data-code-lines").split(","); 740 const lineIds = lines.map((line) => { 741 return targetCell + "-" + line; 742 }) 743 let top = null; 744 let height = null; 745 let parent = null; 746 if (lineIds.length > 0) { 747 //compute the position of the single el (top and bottom and make a div) 748 const el = window.document.getElementById(lineIds[0]); 749 top = el.offsetTop; 750 height = el.offsetHeight; 751 parent = el.parentElement.parentElement; 752 if (lineIds.length > 1) { 753 const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); 754 const bottom = lastEl.offsetTop + lastEl.offsetHeight; 755 height = bottom - top; 756 } 757 if (top !== null && height !== null && parent !== null) { 758 // cook up a div (if necessary) and position it 759 let div = window.document.getElementById("code-annotation-line-highlight"); 760 if (div === null) { 761 div = window.document.createElement("div"); 762 div.setAttribute("id", "code-annotation-line-highlight"); 763 div.style.position = 'absolute'; 764 parent.appendChild(div); 765 } 766 div.style.top = top - 2 + "px"; 767 div.style.height = height + 4 + "px"; 768 let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); 769 if (gutterDiv === null) { 770 gutterDiv = window.document.createElement("div"); 771 gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); 772 gutterDiv.style.position = 'absolute'; 773 const codeCell = window.document.getElementById(targetCell); 774 const gutter = codeCell.querySelector('.code-annotation-gutter'); 775 gutter.appendChild(gutterDiv); 776 } 777 gutterDiv.style.top = top - 2 + "px"; 778 gutterDiv.style.height = height + 4 + "px"; 779 } 780 selectedAnnoteEl = annoteEl; 781 } 782 }; 783 const unselectCodeLines = () => { 784 const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; 785 elementsIds.forEach((elId) => { 786 const div = window.document.getElementById(elId); 787 if (div) { 788 div.remove(); 789 } 790 }); 791 selectedAnnoteEl = undefined; 792 }; 793 // Attach click handler to the DT 794 const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); 795 for (const annoteDlNode of annoteDls) { 796 annoteDlNode.addEventListener('click', (event) => { 797 const clickedEl = event.target; 798 if (clickedEl !== selectedAnnoteEl) { 799 unselectCodeLines(); 800 const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); 801 if (activeEl) { 802 activeEl.classList.remove('code-annotation-active'); 803 } 804 selectCodeLines(clickedEl); 805 clickedEl.classList.add('code-annotation-active'); 806 } else { 807 // Unselect the line 808 unselectCodeLines(); 809 clickedEl.classList.remove('code-annotation-active'); 810 } 811 }); 812 } 813 const findCites = (el) => { 814 const parentEl = el.parentElement; 815 if (parentEl) { 816 const cites = parentEl.dataset.cites; 817 if (cites) { 818 return { 819 el, 820 cites: cites.split(' ') 821 }; 822 } else { 823 return findCites(el.parentElement) 824 } 825 } else { 826 return undefined; 827 } 828 }; 829 var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); 830 for (var i=0; i<bibliorefs.length; i++) { 831 const ref = bibliorefs[i]; 832 const citeInfo = findCites(ref); 833 if (citeInfo) { 834 tippyHover(citeInfo.el, function() { 835 var popup = window.document.createElement('div');
836 citeInfo.cites.forEach(function(cite) { 837 var citeDiv = window.document.createElement('div'); 838 citeDiv.classList.add('hanging-indent'); 839 citeDiv.classList.add('csl-entry'); 840 var biblioDiv = window.document.getElementById('ref-' + cite); 841 if (biblioDiv) { 842 citeDiv.innerHTML = biblioDiv.innerHTML; 843 } 844 popup.appendChild(citeDiv); 845 }); 846 return popup.innerHTML; 847 }); 848 } 849 } 850}); 851</script>
851 852</div> <!-- /content --> 853<footer class="footer"> 854 <div class="nav-footer"> 855 <div class="nav-footer-left"><a href="saforem2.github.io">saforem2.github.io</a></div> 856 <div class="nav-footer-center"> 857 <ul class="footer-items list-unstyled"> 858 <li class="nav-item"> 859 <a class="nav-link" href="https://samforeman.me"><i class="fa-solid fa-home" aria-label="home"></i></a> 860 </li> 861 <li class="nav-item compact"> 862 <a class="nav-link" href="https://github.com/saforem2"> 863 <i class="bi bi-github" role="img"> 864</i> 865 </a> 866 </li> 867 <li class="nav-item compact"> 868 <a class="nav-link" href="https://twitter.com/saforem2"> 869 <i class="bi bi-twitter" role="img"> 870</i> 871 </a> 872 </li> 873 <li class="nav-item"> 874 <a class="nav-link" href="mailto:///[email protected]"><i class="fa-regular fa-paper-plane" aria-label="paper-plane"></i></a> 875 </li> 876 <li class="nav-item"> 877 <a class="nav-link" href="https://www.twitter.com/saforem2"><i class="fa-brands fa-twitter" aria-label="twitter"></i></a> 878 </li> 879 <li class="nav-item"> 880 <a class="nav-link" href="https://scholar.google.com/citations?user=vV_1zDwAAAAJ&hl=en"><i class="ai ai-google-scholar"></i></a> 881 </li> 882 <li class="nav-item"> 883 <a class="nav-link" href="https://orcid.org/0000-0002-9981-0876"><i class="ai ai-orcid"></i></a> 884 </li> 885 <li class="nav-item"> 886 <a class="nav-link" href="https://www.last.fm/user/saforem2"><i class="fa-brands fa-lastfm" aria-label="lastfm"></i></a> 887 </li> 888 <li class="nav-item"> 889 <a class="nav-link" href="https://open.spotify.com/user/saforem2"><i class="fa-brands fa-spotify" aria-label="spotify"></i></a> 890 </li> 891 <li class="nav-item"> 892 <a class="nav-link" href="https://www.instagram.com/saforem2"><i class="fa-brands fa-instagram" aria-label="instagram"></i></a> 893 </li> 894 <li class="nav-item"> 895 <a class="nav-link" href="https://linkedin.com/in/saforem2"><i class="fa-brands fa-linkedin" aria-label="linkedin"></i></a> 896 </li> 897</ul> 898 </div> 899 <div class="nav-footer-right">Copyright 2023, Sam Foreman</div> 900 </div> 901</footer> 902 903 904 905</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.