Handoff notes for the next agent
This is the personal academic website of Boy Lankhaar, a Marie Skłodowska-Curie
postdoctoral fellow (DSTrain programme) at the Institute of Theoretical
Astrophysics, University of Oslo. The site is built with Jekyll and hosted
on GitHub Pages at https://blankhaar.github.io. Source repo:
github.com/blankhaar/blankhaar.github.io. A pre-existing al-folio site was
moved aside to blankhaar.github.io-old.
How the site is deployed
GitHub Pages builds Jekyll natively — every git push to main rebuilds
within ~30 s. There is no GitHub Action.
git add <file>
git commit -m "..."
git push
# verify:
gh api repos/blankhaar/blankhaar.github.io/pages/builds/latest --jq '{status, error: .error.message, commit}'
gh is authenticated via Keychain. The user has full admin on the repo.
Layout cheatsheet
| Path | What |
|---|---|
index.md |
Homepage: hero, About, Featured papers (papers with featured: true), News |
papers.md |
All paper feature pages (driven by _papers/ collection) |
_papers/*.md |
One feature page per paper. Template is established — see below. |
research.md |
“What I work on” + three deep sections (star formation, galactic nuclei, fundamentals of RT) |
talks.md |
Speaker intro + outreach prose + chronological talks list |
code.md |
PORTAL + CHAMP + pointer to wider GitHub |
cv.md |
Web-formatted CV; PDF at assets/files/lankhaar-cv.pdf |
blog.md |
Notes — index for _posts/ (currently one welcome post) |
_data/news.yml |
News feed pulled into homepage |
_includes/email.html |
JS-obfuscated email (built at click time from data-user + data-domain attrs) |
_layouts/paper.html |
Layout for paper feature pages |
_scripts/crop_profile.py |
Dev tool — Tkinter slider GUI for recropping the avatar photo (Jekyll-ignored via _ prefix) |
assets/img/profile.jpg |
Cropped 700×700 avatar |
assets/img/profile-original.jpg |
Untouched 768×1024 source. Never edit; recrop from this. |
Paper feature template
Every paper page in _papers/ follows this shape. Cross-link related papers
liberally — readers should be able to walk between methodology and applied
papers easily.
---
title: ...
slug: ...
authors: A. Author, B. Lankhaar, C. Author
journal: Astronomy & Astrophysics # use full names; see YAML gotchas
year: 2024
date: 2024-04-01 # controls /papers/ sort order
volume: "638"
pages: L7
doi: 10.1051/0004-6361/...
arxiv: "2406.07620"
ads: https://ui.adsabs.harvard.edu/abs/...
code: https://github.com/... # optional
press: # optional
- outlet: ...
title: ...
url: ...
featured: true # optional; pins to homepage
summary: One-sentence hook for the card.
---
## In one sentence
…
## What's the question?
…
## What did we do?
…
## Why does it matter?
…
## My role
…
YAML / markdown gotchas (we hit these — don’t repeat them)
- Colon inside a string value breaks parsing. Psych reads
summary: foo: baras a nested mapping. Solution: rephrase with an em-dash (foo — bar) or wrap the whole value in quotes. - Bare ampersands.
journal: A&A— the&Ais parsed as a YAML anchor. Always quote:journal: "A&A (in review)". Or use the full name “Astronomy & Astrophysics” with spaces around&(that’s fine unquoted). - Pipes for absolute value.
|k<sub>μ</sub>| < 1triggers kramdown’s table parser. Escape with backslashes:\|k<sub>μ</sub>\| < 1.
User’s voice and preferences
Internalise these — the user has corrected drift on each one at least once.
- Plain prose, no purple writing. “Outreach happens at the intersection of two things I value…” was flagged as too much; same with “Einstein workhorse” asides and similar flourishes. Cut the philosophy; lead with the concrete.
- First-person, confident, but not boastful. No “venerable”, no superlatives unless they’re factually correct. “Most rigorous” is fine for Menegozzi & Lamb; “the workhorse” was not.
- Honest authorship roles. “Co-developer” was wrong on a paper where Boy led the method (“Led the development of …”). On the SMBH coronae paper the honest role is “spent sessions with the lead author sharpening the model” — not “contributed to the modelling and interpretation of the maser signatures” (boilerplate that wasn’t true).
- Don’t claim forced unities. The “methodological backbone is narrow” framing in Research was flagged as “contrived and untrue”. When introducing the codes, say “I have developed two open-source codes” — that’s enough.
- Magnetic fields are central but not the whole story. Frame Boy’s research as “the detailed physics of molecules can reveal how the largest structures in the Universe form and evolve” (his FOASS line). Magnetism is one of several applications. Other topics worth naming when relevant: many-body radiative transfer, chirality of interstellar organic molecules, AGN/LIRG nuclei, evolved-star outflows.
- NEOMAGIC (ERC StG 2026) is under second-round evaluation. Do not name the programme or its work-package details publicly. The PROMISES MSCA fellowship is fine to name — it’s a public award.
- Hedge AME / spinning-dust identification. “AME is thought to be spinning dust”, not “AME is spinning dust”.
Useful Boy facts (verified earlier — but always re-verify if stale)
- Email (work):
boy.lankhaar@astro.uio.no— site shows it via JS-built mailto, not in plain HTML. - ORCID:
0000-0001-8975-9926 - Google Scholar:
Mw_5XrgAAAAJ - GitHub:
blankhaar(codes: PORTAL, CHAMP, zeeman_disk) - PhD: Chalmers 2021, Tracing cosmic magnetic fields using molecules, advisor Wouter Vlemmings. PDF: https://research.chalmers.se/publication/522154/file/522154_Fulltext.pdf
- Currently 21 paper feature pages live; ~26 talks listed.
Avatar photo
Source: assets/img/profile-original.jpg (768×1024, untouched).
Live crop: 700×700 at offset (10, 35), saved as assets/img/profile.jpg. The
homepage uses object-fit: cover and circular masking; since both source and
container are square, no further CSS cropping happens.
To recrop, run the Tkinter helper:
python3 _scripts/crop_profile.py
Two sliders (X, Y); Save overwrites assets/img/profile.jpg.
Things to ask the user before doing
- Anything that involves the ERC NEOMAGIC acronym or its work-package contents.
- Adding or removing featured papers on the homepage (currently 3).
- Changing the subtitle of any major page — they’ve explicitly kept some in place that look mismatched to the body.
- Rewriting a paper feature’s “My role” — get the role exactly right; ask if uncertain.
Cross-conversation memory
There is also a memory store at
~/.claude/projects/-Users-boyl-Library-Mobile-Documents-com-apple-CloudDocs-projects-website/memory/.
Useful for picking up persistent user preferences across sessions; do not
duplicate facts that are already pinned there.