Chris Holdgraf
banner
choldgraf.com
Chris Holdgraf
@choldgraf.com
Executive Director of @2i2c.org

🪐 Jupyter Project distinguished contributor
👬 mybinder.org and hub.jupyter.org team
📚 jupyterbook.org mystmd.org and executablebooks.org

open communities 🙌
open infrastructure 💻
open science 🧪
I really want somebody to re-write nbviewer so that it uses mystmd.org under the hood for sharing galleries of notebook content!
September 22, 2025 at 5:18 PM
TIL you can get web analytics plots for GitHub dashboards.

Insights -> Traffic
September 20, 2025 at 3:19 PM
If you aggregate the unique weekly visitors from jupyter.org, docs.jupyter.org, and mybinder.org, and multiply that by 52 weeks, you get about *16 million unique visitors to Jupyter websites each year*. Wild.

Check it out 👉 plausible.io/jupyter.org
September 16, 2025 at 1:01 PM
I'm irrationally happy that we finally have web analytics working for jupyter.org again - there are like 20,000 people that visit jupyter.org a day from all over the world 🤯
September 6, 2025 at 9:21 PM
JupyterHub finally has a square logo 😅

github.com/jupyterhub/d...
August 19, 2025 at 10:44 PM
I love this point from @investinopen.bsky.social's State of Open Infrastructure report. The gold standard of open technology and knowledge is co-creation, not consumption.

Read the rest of the report here: investinopen.org/data-room/st...
August 19, 2025 at 5:56 PM
like, omg, who wants this every other day?!
May 21, 2025 at 4:04 PM
Little did I know that taking the left side of the bed would be such a momentous decision in our family.
February 6, 2025 at 5:34 AM
This quote is going to be relevant for a lot of people in the open science space this year. Stay strong folks.
February 5, 2025 at 11:36 PM
Here's the running pods over the last 3 hours. About 150 sessions or so. On a 192GB VM and with 1GB of ram per user, that's ~190 simultaneous sessions w/ no buffer!

I think this kind of approach only works because:

- sessions offer very little resources
- sessions are ephemeral and don't last long
February 5, 2025 at 8:26 PM
But, if you have a *way cheaper* option, then an "inefficient but super cheap" option might be better than a "more efficient but more expensive" option. That's basically what we're dealing with here. Big cloud providers can scale efficiently, but at a higher base cost.
February 5, 2025 at 3:15 PM
This only works because we're not using auto-scaling functionality with Kubernetes (we're *just* using a single VM). That might sound weird - often, autoscaling is used to *save* cost by matching resource allocation to demand, like in this image
February 5, 2025 at 3:15 PM
A key innovation is that we are running a *single-node Kubernetes deployment* on a VM using k3s. This means we can deploy BinderHub on *any* VM provider, which gives us many more options. For example, Hetzner is *way* cheaper than AWS, GCP, or Azure
February 5, 2025 at 3:15 PM
The punchline is that 2i2c's federation member is now taking about 60-70% of mybinder.org traffic, at only about $300/month. This is much simpler and cheaper than our previous efforts at deploying BinderHubs. How is this possible?
February 5, 2025 at 3:15 PM
We're experimenting with a "new issue" menu in Jupyter Book's @github.com repo that encourages users to open up questions or requests in `discussions` rather than as issues. Here's what the menu looks like. I'm curious to see how it goes! (and I really wish "blank issue" could be at the very bottom)
January 9, 2025 at 9:09 PM
Here's my favorite slide :-D
December 20, 2024 at 7:51 PM
In particular I want to re-share our impact gallery, since it's such a fun and inspiring way of seeing what all of our member communities have been up to with our infrastructure :-)

2i2c.org/communities/
December 18, 2024 at 5:05 PM
November 25, 2024 at 4:01 PM
Proud to see the scikit-learn docs added to the list of featured users in the PyData Sphinx Theme gallery! It's been so rewarding to see the theme grow to serve so much of the PyData ecosystem.

Theme docs: pydata-sphinx-theme.readthedocs.io/en/latest/ex...

Sklearn docs: scikit-learn.org/stable/
September 20, 2024 at 4:43 PM
Jupyter has a document timeline extension now! If you're using the Real Time Collaboration functionality you get a little widget that can show and restore document state from earlier points in time

blog.jupyter.org/exploring-a-...
September 14, 2024 at 2:35 PM
I love the vision that Jim shares around the need for participatory open science. Citizens have a right to the tools and the skills to participate in knowledge creation. This is an inspiration for 2i2c's approach to open infrastructure.

colliand.com/post/why-ope...
November 20, 2023 at 8:28 PM
Hashicorp changes the terraform license to BSL.

tl;dr if you use terraform in a product, you're gonna have to lawyer up if you do anything related to what hashicorp does

https://www.hashicorp.com/license-faq#What-are-the-implications-of-this-change-for-end-users-of-HashiCorp's-open-source-products
August 11, 2023 at 8:22 AM
Hell yeah protest Jesus
May 1, 2023 at 3:30 PM
God damn the French know how to throw a protest
May 1, 2023 at 2:42 PM
lol just realized this is BlueSky's release version. gotta love beta
April 29, 2023 at 1:39 PM