Archive Layout with Content

A variety of common markup showing how the theme styles them.

Header one

Header two

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Entry Item  
John Doe 2016 Description of the item in the list
Jane Doe 2019 Description of the item in the list
Doe Doe 2022 Description of the item in the list
Header1 Header2 Header3
cell1 cell2 cell3
cell4 cell5 cell6
cell1 cell2 cell3
cell4 cell5 cell6
Foot1 Foot2 Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers
 –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.

Page Not Found

Abstract

Sorry, but the page you were trying to view does not exist.

Archive Layout with Content

Abstract

A variety of common markup showing how the theme styles them.

Header one

Header two

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Entry Item  
John Doe 2016 Description of the item in the list
Jane Doe 2019 Description of the item in the list
Doe Doe 2022 Description of the item in the list
Header1 Header2 Header3
cell1 cell2 cell3
cell4 cell5 cell6
cell1 cell2 cell3
cell4 cell5 cell6
Foot1 Foot2 Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Watch out! You can also add notices by appending {: .notice} to a paragraph.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

Strike Tag

This tag will let you strikeout text.

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers
 –Steve Ballmer

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.

{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts by Category

Abstract

{% include base_path %} {% include group-by-array collection=site.posts field=”categories” %}

{% for category in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ category }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

Posts by Collection

Abstract

{% include base_path %} {% capture written_label %}’None’{% endcapture %}

{% for collection in site.collections %} {% unless collection.output == false or collection.label == “posts” %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %} <h2 id="{{ label | slugify }}" class="archive__subtitle">{{ label }}</h2> {% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == “posts” %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

CV

Abstract

{% include base_path %}

{% include cv-template.html %}

Abstract

{% include base_path %}

Formação

  • Doutorado em FĂ­sica, Universidade de SĂŁo Paulo, 2025 (esperado)
  • Bolsa de estĂĄgio e pesquisa no exterior, Fermilab, 2023
  • Mestre em FĂ­sica, Universidade de SĂŁo Paulo, 2020
  • Bacharel em FĂ­sica, Universidade de SĂŁo Paulo, 2018

PublicaçÔes

    {% for post in site.publications reversed %} {% include archive-single-cv.html %} {% endfor %}

Palestras

    {% for post in site.talks reversed %} {% include archive-single-talk-cv.html %} {% endfor %}

PĂŽsteres

  • \(\textbf{(Almost) First-principle calculation of accelerator neutrino wave packet size}\), Invisibles workshop, 2024.
  • \(\textbf{Could SBND-PRISM probe lepton flavor violation?}\), Neutrino, 2024.
  • \(\textbf{New limits on $W_R$ from meson decays}\), Invisibles workshop, 2023.
    \(\star\) \(\textbf{Best poster award at the workshop}\)
  • \(\textbf{New limits on $W_R$ from meson decays}\), Invisibles school 2023.
  • \(\textbf{New limits on $W_R$ from meson decays}\) International Neutrino Summer School 2023.

ExperiĂȘncia com ensino

  • Monitor e lĂ­der de equipe, Brazilian Physics Tournament, 2022 & 2024
  • Monitor, FĂ­sica I e FĂ­sica II, Universidade de SĂŁo Paulo, 2019-2022

Atividades de extensĂŁo

  • Assistente, Master class do CERN, Universidade de SĂŁo Paulo, 2017 & 2018.
  • Projeto de extensĂŁo, USP-escola, Universidade de SĂŁo Paulo, 2016

Abstract

{% include base_path %}

Education

  • Postdoct, Fermilab/Northwestern, 2025-Present
  • Ph.D in Physics, University of Sao Paulo, 2025
  • Research Intership Abroad (Fellowship), Fermilab, 2023
  • M.S. in Physics, University of Sao Paulo, 2020
  • B.S. in Physics, University of Sao Paulo, 2018

Publications

    {% for post in site.publications reversed %} {% include archive-single-cv.html %} {% endfor %}

Talks

    {% for post in site.talks reversed %} {% include archive-single-talk-cv.html %} {% endfor %}

Posters

  • \(\textbf{(Almost) First-principle calculation of accelerator neutrino wave packet size}\), Invisibles workshop, 2024.
  • \(\textbf{Could SBND-PRISM probe lepton flavor violation?}\), Neutrino, 2024.
  • \(\textbf{New limits on $W_R$ from meson decays}\), Invisibles workshop, 2023.
    \(\star\) \(\textbf{Best poster award at the workshop}\)
  • \(\textbf{New limits on $W_R$ from meson decays}\), Invisibles school 2023.
  • \(\textbf{New limits on $W_R$ from meson decays}\) International Neutrino Summer School 2023.

Teaching Experience

  • Teaching assistant and team leader, Brazilian Physics Tournament, 2022 & 2024
  • Teaching assistant, Physics I and Physics II, University of Sao Paulo, 2019-2022

Outreach

  • Assistant, CERN master class, University of Sao Paulo, 2017 & 2018.
  • Extension project, USP-escola, University of Sao Paulo, 2016

InĂ­cio

Abstract

Bem-vindo Ă  minha pĂĄgina!

Meu nome Ă© Gustavo, sou um fĂ­sico nascido em Minas Gerais. Atualmente estou concluindo meu doutorado e iniciarei uma posição de pĂłs-doutorado conjunta no Fermilab e na Northwestern University em 1Âș de outubro.

Minha pesquisa se concentra nas oportunidades Ășnicas que os neutrinos oferecem para investigar a fĂ­sica alĂ©m do Modelo PadrĂŁo (MP). Diversas questĂ”es em aberto no MP, como a origem das massas dos neutrinos e se eles sĂŁo partĂ­culas de Dirac ou de Majorana, estĂŁo profundamente ligadas aos mistĂ©rios do setor de neutrinos. AlĂ©m disso, os neutrinos funcionam como interferĂŽmetros naturais devido Ă s suas oscilaçÔes, o que proporciona uma poderosa janela para estudar suas propriedades e possibilita a aplicação de tĂ©cnicas de diferentes ĂĄreas da pesquisa Ă  fĂ­sica de partĂ­culas, uma conexĂŁo interdisciplinar que tenho grande interesse em explorar com mais profundidade. TambĂ©m me interesso por aplicaçÔes inovadoras, como o uso de interferĂŽmetros atĂŽmicos na fĂ­sica de partĂ­culas e o estudo de modelos de decoerĂȘncia para investigar setores ocultos.

AlĂ©m disso, tenho interesse amplo no estudo de outros setores desconhecidos, desde a investigação da natureza da matĂ©ria escura atĂ© a possĂ­vel existĂȘncia de estados alĂ©m do MP. Pretendo contribuir com o campo propondo abordagens inovadoras para essas questĂ”es, atuando na interface entre teoria e experimento e integrando ideias de diferentes ĂĄreas de forma criativa.

Home

Abstract

Welcome to my page!

My name is Gustavo, and I’m a physicist from Brazil. I am currently a postdoctoral researcher at Fermilab and Northwestern University.

My research focuses on the unique opportunities neutrinos offer for probing physics beyond the Standard Model (SM). Several open questions in the SM, such as the origin of neutrino masses and whether neutrinos are Dirac or Majorana particles, are deeply rooted in the mysteries of the neutrino sector. Neutrinos also serve as natural interferometers due to their oscillations, providing a powerful portal into their properties and enabling the application of techniques from diverse research fields to particle physics, an interdisciplinary connection I’m eager to explore further. I am also interested in novel applications, including the use of atomic interferometers in particle physics and the study of decoherence models to investigate hidden sectors.

In addition, I am broadly interested in searches for dark sectors, from exploring the nature of dark matter to probing the possible existence of heavy sterile states. I aim to contribute to the field by proposing innovative approaches to these questions, working at the intersection of theory and experiment, and integrating ideas across disciplines in creative ways.

Abstract

/*

  • This file controls what is imported from /_sass *
  • Note that the files are processed in the order they are imported, so they are partly sorted by the dependencies. Also, the first two lines of the file are required by Jekyll. */

@import “vendor/breakpoint/breakpoint”,

"themes",
"theme/default",
"theme/dark",

"include/mixins",
"vendor/susy/susy",

"layout/reset",
"layout/base",

"include/utilities",
"layout/tables",
"layout/buttons",
"layout/notices",
"layout/masthead",
"layout/navigation",
"layout/footer",
"syntax",

"layout/forms",

"layout/page",
"layout/archive",
"layout/sidebar",

"vendor/font-awesome/fontawesome",
"vendor/font-awesome/solid",
"vendor/font-awesome/brands" ;

Markdown

Abstract

{% include toc %}

Locations of key files/directories

  • Basic config options: _config.yml
  • Top navigation bar config: _data/navigation.yml
  • Single pages: _pages/
  • Collections of pages are .md or .html files in:
    • _publications/
    • _portfolio/
    • _posts/
    • _teaching/
    • _talks/
  • Footer: _includes/footer.html
  • Static files (like PDFs): /files/
  • Profile image (can set in _config.yml): images/profile.png

Tips and hints

  • Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
  • Go to the commit list (on your repo) to find the last version GitHub built with Jekyll.
    • Green check: successful build
    • Orange circle: building
    • Red X: error
    • No icon: not built
  • Academic Pages uses Jekyll Kramdown, GitHub Flavored Markdown (GFM) parser, which is similar to the version of Markdown used on GitHub, but may have some minor differences.
    • Some of emoji supported on GitHub should be supposed via the Jemoji plugin :computer:.
    • The best list of the supported emoji can be found in the Emojis for Jekyll via Jemoji blog post.
  • While GitHub Pages prevents server side code from running, client-side scripts are supported.
    • This means that Google Analytics is supported, and the wiki should contain the most up-to-date information on getting it working.
  • Your CV can be written using either Markdown (preview) or generated via JSON (preview) and the layouts are slightly different. You can update the path to the one being used in _data/navigation.yml with the JSON formatted CV being hidden by default.

  • The Liquid syntax guide is a useful guide for those that want to add functionality to the template or to become contributors to the template on GitHub.

MathJax

Support for MathJax (version 3.* via jsDelivr, documentation) is included in the template:

\[\displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) }\]

The default delimiters of $$...$$ and \\[...\\] are supported for displayed mathematics, while \\(...\\) should be used for in-line mathematics (ex., \(a^2 + b^2 = c^2\))

Note that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although some workarounds exist. In some cases, such as when you are including MathJax in a citation field for publications, it may be necessary to use \(...\) for inline delineation.

Mermaid diagrams

Academic Pages includes support for Mermaid diagrams (version 11.* via jsDelivr) and in addition to their tutorials and GitHub documentation the basic syntax is as follows:

    ```mermaid
    graph LR
    A-->B
    ```

Which produces the following plot with the default theme applied:

graph LR
A-->B

While a more advanced plot with the forest theme applied looks like the following:

---
config:
  theme: 'forest'
---
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;

Plotly

Academic Pages includes support for Plotly diagrams via a hook in the Markdown code elements, although those that are comfortable with HTML and JavaScript can also access it via those routes.

In order to render a Plotly plot via Markdown the relevant plot data need to be added as follows:

    ```plotly
    {
      "data": [
        {
          "x": [1, 2, 3, 4],
          "y": [10, 15, 13, 17],
          "type": "scatter"
        },
        {
          "x": [1, 2, 3, 4],
          "y": [16, 5, 11, 9],
          "type": "scatter"
        }
      ]
    }
    ```

Important! Since the data is parsed as JSON all of the keys will need to be quoted for the plot to render. The use of a tool like JSONLint to check syntax is highly recommended.

Which produces the following:

{
  "data": [
    {
      "x": [1, 2, 3, 4],
      "y": [10, 15, 13, 17],
      "type": "scatter"
    },
    {
      "x": [1, 2, 3, 4],
      "y": [16, 5, 11, 9],
      "type": "scatter"
    }
  ]
}

Essentially what is taking place is that the Plotly attributes are being taken from the code block as JSON data, parsed, and passed to Plotly along with a theme that matches the current site theme (i.e., a light theme, or a dark theme). This allows all plots that can be described via the data attribute to rendered with some limitations for the theme of the plot.

{
  "data": [
    {
      "x": [1, 2, 3, 4, 5],
      "y": [1, 6, 3, 6, 1],
      "mode": "markers",
      "type": "scatter",
      "name": "Team A",
      "text": ["A-1", "A-2", "A-3", "A-4", "A-5"],
      "marker": { "size": 12 }
    },
    {
      "x": [1.5, 2.5, 3.5, 4.5, 5.5],
      "y": [4, 1, 7, 1, 4],
      "mode": "markers",
      "type": "scatter",
      "name": "Team B",
      "text": ["B-a", "B-b", "B-c", "B-d", "B-e"],
      "marker": { "size": 12 }
    }    
  ],
  "layout": {
    "xaxis": {
      "range": [ 0.75, 5.25 ]
    },
    "yaxis": {
      "range": [0, 8]
    },
    "title": {"text": "Data Labels Hover"}
  }
}
{
  "data": [{
      "x": [1, 2, 3],
      "y": [4, 5, 6],
      "type": "scatter"
    },
    {
      "x": [20, 30, 40],
      "y": [50, 60, 70],
      "xaxis": "x2",
      "yaxis": "y2",
      "type": "scatter"
  }],
  "layout": {
    "grid": {
      "rows": 1,
      "columns": 2,
      "pattern": "independent"
    },
    "title": {
      "text": "Simple Subplot"
    }    
  }
}
{
  "data": [{
		"z": [[10, 10.625, 12.5, 15.625, 20],
          [5.625, 6.25, 8.125, 11.25, 15.625],
          [2.5, 3.125, 5.0, 8.125, 12.5],
          [0.625, 1.25, 3.125, 6.25, 10.625],
          [0, 0.625, 2.5, 5.625, 10]],
		"type": "contour"
	}],
  "layout": {
    "title": {
      "text": "Basic Contour Plot"
    }
  }
}

Markdown guide

Academic Pages uses kramdown for Markdown rendering, which has some differences from other Markdown implementations such as GitHub’s. In addition to this guide, please see the kramdown Syntax page for full documentation.

Header three

Header four

Header five
Header six

Blockquotes

Single line blockquote:

Quotes are cool.

Tables

Table 1

Entry Item  
John Doe 2016 Description of the item in the list
Jane Doe 2019 Description of the item in the list
Doe Doe 2022 Description of the item in the list

Table 2

Header1 Header2 Header3
cell1 cell2 cell3
cell4 ce  
ll5 cell6  
cell1 cell2 cell3
cell4 cell5 cell6
Foot1 Foot2 Foot3

Definition Lists

Definition List Title
Definition list division.
Startup
A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
#dowork
Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
Do It Live
I’ll let Bill O’Reilly explain this one.

Unordered Lists (Nested)

  • List item one
    • List item one
      • List item one
      • List item two
      • List item three
      • List item four
    • List item two
    • List item three
    • List item four
  • List item two
  • List item three
  • List item four

Ordered List (Nested)

  1. List item one
    1. List item one
      1. List item one
      2. List item two
      3. List item three
      4. List item four
    2. List item two
    3. List item three
    4. List item four
  2. List item two
  3. List item three
  4. List item four

Buttons

Make any link standout more when applying the .btn class.

Notices

Basic notices or call-outs are supported using the following syntax:

**Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph.
{: .notice}

which wil render as:

Watch out! You can also add notices by appending {: .notice} to the line following paragraph.

Footnotes

Footnotes can be useful for clarifying points in the text, or citing information.1 Markdown support numeric footnotes, as well as text as long as the values are unique.2

This is the regular text.[^1] This is more regular text.[^note]

[^1]: This is the footnote itself.
[^note]: This is another footnote.

HTML Tags

Address Tag

1 Infinite Loop
Cupertino, CA 95014
United States

This is an example of a link.

Abbreviation Tag

The abbreviation CSS stands for “Cascading Style Sheets”.

Cite Tag

“Code is poetry.” —Automattic

Code Tag

You will learn later on in these tests that word-wrap: break-word; will be your best friend.

You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python:

print('Hello World!')

or R:

print("Hello World!", quote = FALSE)

Details Tag (collapsible sections)

The HTML <details> tag works well with Markdown and allows you to include collapsible sections, see W3Schools for more information on how to use the tag.

Collapsed by default This section was collapsed by default!

The source code:

<details>
  <summary>Collapsed by default</summary>
  This section was collapsed by default!
</details>

Or, you can leave a section open by default by including the open attribute in the tag:

Open by default This section is open by default thanks to open in the <details open> tag!

Emphasize Tag

The emphasize tag should italicize text.

Insert Tag

This tag should denote inserted text.

Keyboard Tag

This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.

Preformatted Tag

This tag styles large blocks of code.

.post-title {
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.2;
  and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}

Quote Tag

Developers, developers, developers
 –Steve Ballmer

Strike Tag

This tag will let you strikeout text.

Strong Tag

This tag shows bold text.

Subscript Tag

Getting our science styling on with H2O, which should push the “2” down.

Superscript Tag

Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.

Variable Tag

This allows you to denote variables.


Footnotes

The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes.

  1. Such as this footnote. ↩

  2. When using text for footnotes markers, no spaces are permitted in the name. ↩

Page not in menu

Abstract

This is a page not in the menu. You can use markdown in this page.

Heading 1

Heading 2

Page Archive

Abstract

{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Portfolio

Abstract

{% include base_path %}

{% for post in site.portfolio %} {% include archive-single.html %} {% endfor %}

PublicaçÔes

Abstract

{% if site.author.googlescholar %}

VocĂȘ tambĂ©m pode encontrar meus artigos em meu perfil do Google Scholar.

{% endif %}

{% include base_path %}

{% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %} <h2>{{ category[1].title }}</h2><hr /> {% assign title_shown = true %} {% endunless %} {% include archive-single.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single.html %} {% endfor %} {% endif %}

Publications

Abstract

{% if site.author.googlescholar %}

You can also find my articles on my Google Scholar profile.

{% endif %}

{% include base_path %}

{% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %} <h2>{{ category[1].title }}</h2><hr /> {% assign title_shown = true %} {% endunless %} {% include archive-single.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single.html %} {% endfor %} {% endif %}

Sitemap

Abstract

{% include base_path %}

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

{% for post in site.pages %} {% include archive-single.html %} {% endfor %}

Posts

{% for post in site.posts %} {% include archive-single.html %} {% endfor %}

{% capture written_label %}’None’{% endcapture %}

{% for collection in site.collections %} {% unless collection.output == false or collection.label == “posts” %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}

{{ label }}

{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == “posts” %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}

Posts by Tags

Abstract

{% include base_path %} {% include group-by-array collection=site.posts field=”tags” %}

{% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}

{{ tag }}

{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}

Talk map

Abstract

This map is generated from a Jupyter Notebook file in talkmap.ipynb, which mines the location fields in the .md files in _talks/.

Teaching

Abstract

{% include base_path %}

{% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}

Terms and Privacy Policy

Abstract

{% include base_path %} {% include toc %}

Privacy Policy

The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used.

First and foremost, I will never share your email address or any other personal information to anyone without your direct consent.

Log Files

Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include:

  • Internet Protocol addresses (IP)
  • Types of browser
  • Internet Service Provider (ISP)
  • Date and time stamp
  • Referring and exit pages
  • Number of clicks

All of this information is not linked to anything that is personally identifiable.

Cookies and Web Beacons

When you visit this site “convenience” cookies are stored on your computer when you submit a comment to help you log in faster to Disqus the next time you leave a comment.

Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out.

If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers’ websites.

Google Analytics

Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read Google Analytics Privacy Policy.

Blog posts

Abstract

{% include base_path %} {% capture written_year %}’None’{% endcapture %} {% for post in site.posts %} {% if post.lang == page.lang %} {% capture year %}{{ post.date | date: ‘%Y’ }}{% endcapture %} {% if year != written_year %} <h2 id="{{ year | slugify }}" class="archive__subtitle">{{ year }}</h2> {% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single-blog.html %} {% endif %} {% endfor %}

Blog posts

Abstract

{% include base_path %} {% capture written_year %}’None’{% endcapture %} {% for post in site.posts %} {% if post.lang == page.lang %} {% capture year %}{{ post.date | date: ‘%Y’ }}{% endcapture %} {% if year != written_year %} <h2 id="{{ year | slugify }}" class="archive__subtitle">{{ year }}</h2> {% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single-blog.html %} {% endif %} {% endfor %}

Abstract

@import “jekyll-theme-primer”;

Abstract

{“/resume-json”:”https://gfsalves.github.io/cv-json/”,”/resume”:”https://gfsalves.github.io/en/cv/”,”/”:”https://gfsalves.github.io/en/”,”/md/”:”https://gfsalves.github.io/markdown/”,”/markdown.html”:”https://gfsalves.github.io/markdown/”,”/nmp/”:”https://gfsalves.github.io/non-menu-page/”,”/nmp.html”:”https://gfsalves.github.io/non-menu-page/”,”/wordpress/blog-posts/”:”https://gfsalves.github.io/en/blog-posts/”}

Jupyter notebook markdown generator

Abstract

Jupyter notebook markdown generator

These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (talks.tsv) or presentations (presentations.tsv) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process. The .py files are pure python that do the same things if they are executed in a terminal, they just don’t have pretty documentation.

Abstract
<?xml version=”1.0” encoding=”utf-8”?>{% if page.xsl %}<?xml-stylesheet type=”text/xml” href=”{{ ‘/feed.xslt.xml’ absolute_url }}”?>{% endif %}<feed xmlns=”http://www.w3.org/2005/Atom” {% if site.lang %}xml:lang=”{{ site.lang }}”{% endif %}>Jekyll<link href=”{{ page.url absolute_url }}” rel=”self” type=”application/atom+xml” /><link href=”{{ ‘/’ absolute_url }}” rel=”alternate” type=”text/html” {% if site.lang %}hreflang=”{{ site.lang }}” {% endif %}/>{{ site.time date_to_xmlschema }}</updated>{{ page.url absolute_url xml_escape }}</id>{% assign title = site.title default: site.name %}{% if page.collection != “posts” %}{% assign collection = page.collection capitalize %}{% assign title = title append: “ ” append: collection %}{% endif %}{% if page.category %}{% assign category = page.category capitalize %}{% assign title = title append: “ ” append: category %}{% endif %}{% if title %}{{ title smartify xml_escape }}</title>{% endif %}{% if site.description %}{{ site.description xml_escape }}</subtitle>{% endif %}{% if site.author %}{{ site.author.name default: site.author xml_escape }}</name>{% if site.author.email %}{{ site.author.email xml_escape }}</email>{% endif %}{% if site.author.uri %}{{ site.author.uri xml_escape }}</uri>{% endif %}</author>{% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts where: “categories”, page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts where_exp: “post”, “post.draft != true” %}{% endunless %}{% assign posts = posts sort: “date” reverse %}{% assign posts_limit = site.feed.posts_limit default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{“ “}}xml:lang=”{{ post.lang }}”{% endif %}>{% assign post_title = post.title smartify strip_html normalize_whitespace xml_escape %}{{ post_title }}<link href=”{{ post.url absolute_url }}” rel=”alternate” type=”text/html” title=”{{ post_title }}” />{{ post.date date_to_xmlschema }}</published>{{ post.last_modified_at default: post.date date_to_xmlschema }}</updated>{{ post.id absolute_url xml_escape }}</id>{% assign excerpt_only = post.feed.excerpt_only default: site.feed.excerpt_only %}{% unless excerpt_only %}<content type=”html” xml:base=”{{ post.url absolute_url xml_escape }}”><![CDATA[{{ post.content strip }}]]></content>{% endunless %}{% assign post_author = post.author default: post.authors[0] default: site.author %}{% assign post_author = site.data.authors[post_author] default: post_author %}{% assign post_author_email = post_author.email default: nil %}{% assign post_author_uri = post_author.uri default: nil %}{% assign post_author_name = post_author.name default: post_author %}{{ post_author_name default: “” xml_escape }}</name>{% if post_author_email %}{{ post_author_email xml_escape }}</email>{% endif %}{% if post_author_uri %}{{ post_author_uri xml_escape }}</uri>{% endif %}</author>{% if post.category %}<category term=”{{ post.category xml_escape }}” />{% elsif post.categories %}{% for category in post.categories %}<category term=”{{ category xml_escape }}” />{% endfor %}{% endif %}{% for tag in post.tags %}<category term=”{{ tag xml_escape }}” />{% endfor %}{% assign post_summary = post.description default: post.excerpt %}{% if post_summary and post_summary != empty %}<summary type="html"><![CDATA[{{ post_summary strip_html normalize_whitespace }}]]></summary>{% endif %}{% assign post_image = post.image.path default: post.image %}{% if post_image %}{% unless post_image contains “://” %}{% assign post_image = post_image absolute_url %}{% endunless %}<media:thumbnail xmlns:media=”http://search.yahoo.com/mrss/” url=”{{ post_image xml_escape }}” /><media:content medium=”image” url=”{{ post_image xml_escape }}” xmlns:media=”http://search.yahoo.com/mrss/” />{% endif %}</entry>{% endfor %}</feed>

Abstract

<?xml version=”1.0” encoding=”UTF-8”?> {% if page.xsl %}<?xml-stylesheet type=”text/xsl” href=”{{ “/sitemap.xsl” | absolute_url }}”?> {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %}

{{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }}

{% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %}</url> {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:’doc’,’doc.sitemap != false’ | where_exp:’doc’,’doc.url != “/404.html”’ %}{% for page in pages %}

{{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }}

{% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %}</url> {% endfor %}{% assign static_files = page.static_files | where_exp:’page’,’page.sitemap != false’ | where_exp:’page’,’page.name != “404.html”’ %}{% for file in static_files %}

{{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }}

</url> {% endfor %}</urlset>

Abstract
Sitemap: {{ “sitemap.xml” absolute_url }}