PageSourceSearch

https://saforem2.github.io/qmd/slides.html

html saforem2.github.io collected 2026-10-03 09:53:23 UTC 50,887 bytes, 905 lines download raw bytes

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;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&amp;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.