Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Hi, I’m Chris Holdgraf 👋

2i2c
Project Jupyter
Profile picture of Dr Chris Holdgraf
A bit about me...
💼 Executive Director @ 2i2c
☁️ Former Cloud DataHub team @ Berkeley CDSS
🌕 Distinguished Contributor @ The Jupyter Project
🧠 PhD graduate in neuroscience @ UC Berkeley

I also work extensively with Project Jupyter, particularly the Binder Project and Jupyter Book.

Recent blog posts

Building a MyST authoring environment to identify things that MyST core could improve

Something that has bugged me for a long time is that [MyST](https://mystmd.org) doesn't have a lot of support for *authors* to write MyST documents more effectively. MyST documents have a ton of rich metadata inside them, but it has mostly been used for making the *reader* experience more interesting, rather than

Date: October 25, 2026 | Author: Chris Holdgraf
The slow boring of hard boards in open source

Max Weber famously wrote that politics is "a strong and slow boring of hard boards." In [Why it took 4 years to get a lock files specification](https://snarky.ca/why-it-took-4-years-to-get-a-lock-files-specification/), Brett Cannon demonstrates how the same principle applies to technical coordination in open source. Python recently adopted [PEP 751](https://peps.python.org/pep-0751/) for lockfile specification. Doing so

Date: October 21, 2025 | Author: Chris Holdgraf
My system for beating jet lag

I travel internationally a lot, which means I deal with a lot of jet lag. This post is a quick summary of a system I've found helpful, based on [this paper](https://www.frontiersin.org/articles/10.3389/fphys.2019.00927/full). The basic idea is to shift your body's internal clock by timing your exposure to light, exercise, and melatonin around

Date: October 18, 2025 | Author: Chris Holdgraf
Why open source foundations try to fund systems, not development

This is a brief reflection on something that I've been hearing consistently from the Linux Foundation and its member projects as part of serving on the [Board of the Jupyter Foundation](https://jupyterfoundation.org). Here's a point that originally surprised me when I heard it: > Most foundations within the Linux Foundation network recommend

Date: May 31, 2025 | Author: Chris Holdgraf
Jupyter can align the needs of its community and its foundation by enabling contribution

This week was my first time attending the [Linux Foundation Member Summit](https://events.linuxfoundation.org/lf-member-summit/). This is an annual meeting for all of the Linux Foundation member organizations and projects. I joined because of my new role [on the Jupyter Executive Council](./jec.md), and so I tried to go into this meeting with the

Date: March 22, 2025 | Author: Chris Holdgraf
The relationship between the Jupyter Executive Council, Software Steering Council, and Foundation

This is a question that I've been asked many times now that I'm serving on the JEC and the JF. I'm writing up a quick response so that I have something to refer back to and align my own thinking on. **How most Linux Foundation projects seem to be structured**. Linux

Date: March 02, 2025 | Author: Chris Holdgraf
Ways the Jupyter Foundation could support open source projects

The Jupyter Foundation has a pot of money and it aims to use that funding quickly to support the Jupyter Project. But what should it use the funding _for_? There are many things to do, and not enough time or money to try everything. This is a brief brainstorm and

Date: February 26, 2025 | Author: Chris Holdgraf
Why I'm running for the Jupyter Executive Council

This year, I decided to nominate myself for the [Jupyter Executive Council](https://jupyter.org/governance/executive_council.html). This is a brief post explaining my rationale for doing so, the kind of service I'd hope to provide the project, and where I imagine the project moving. The [Jupyter Executive Council](https://jupyter.org/governance/executive_council.html) is the highest governing body within the

Date: January 14, 2025 | Author: Chris Holdgraf
How I'm trying to use BlueSky without getting burned again

Some quick thoughts on moving from Twitter/X to BlueSky and how I'll try to use social media after being burned once by Twitter.

Date: November 22, 2024 | Author: Chris Holdgraf
Better blog lists with the MyST AST

On my journey to learn more about writing with [the new MyST engine](https:///mystmd.org), I built upon [my recent update to my blog infrastructure](./programmatic-myst-with-jupyter.md) and made some improvements to my blog post list. Here's what it looks like now: ````{note} Click here to see how it looks now :class: dropdown ```{postlist} :number: 3 ``` ```` Here's a quick rundown

Date: November 09, 2024 | Author: Chris Holdgraf