About:

Chris Holdgraf is an Executive Director and open source advocate focused on interactive computing and neuroscience research.

Website:

Specializations:

Interests:

Open source Interactive computing Research Education Cognitive neuroscience Computational neuroscience Speech perception
Subscribe to RSS:
Brett Cannon's post discusses the lengthy and complex process of developing the lock files specification in Python, highlighting the extensive coordination and effort involved in reaching consensus within the open source community...
The post discusses a system for managing jet lag based on the concept of adjusting the body's internal clock by timing exposure to light, exercise, and melatonin around the body's daily minimum temperature. It explains how light a...
The Linux Foundation and its member projects recommend funding systems that lead to more and better development from volunteer contributions, rather than funding software development. Open source development models rest on the bel...
The text discusses the author's experience at the Linux Foundation Member Summit and the challenges faced by the Jupyter community. It highlights the need for capacity building to facilitate contributions and suggests hiring a Dev...
The text explains the relationship between the Jupyter Executive Council, Software Steering Council, and Foundation. It discusses the structure of Linux Foundation projects, how it applies to Jupyter, and the role of the Jupyter F...
The Jupyter Foundation aims to use its funding to support the Jupyter Project by finding leveraged opportunities to grow capacity, prioritizing acting quickly and learning rather than trying to get it perfect the first time around...
The author explains why they are running for the Jupyter Executive Council, citing reasons such as having more time, the need for more representation from the public sector, and the alignment of their organization's mission with t...
The author discusses the rationale for using BlueSky as a social media platform and shares the guiding principle of assuming that the platform will go away in three years. The author emphasizes the importance of creating value in ...
The author discusses using the MyST engine to improve the blog post list, specifically focusing on generating MyST AST from scratch and modifying the blog post Python script to generate AST instead of bullet points. The author als...
The text discusses a useful MyST feature that allows for the insertion of Jupyter Markdown outputs into MyST markdown by writing to a temporary file in a Jupyter cell and including it with an {include} directive. An example code c...
The author shares their experience of converting their blog to use the new MyST Document Engine. They discuss the challenges they faced and the solutions they found. They also talk about the process of writing a Python extension f...
The text discusses opportunities to work on AI-related projects with a pro-social tie-in. It lists various organizations and initiatives that leverage AI and data science for social good, such as DSSG, Dataseer, Ersilia, CZI, DAIR...
The author created a Sphinx directive called {socialpost} to embed social and web-based media in Sphinx documentation and blog. It works with Twitter, Mastodon, and YouTube links by parsing the directive content, doing pattern mat...
The author attended FOSDEM 2023, a conference that brings the 'beautiful chaos' of open source communities into a conference setting. The conference is very big and relies heavily on volunteer labor. The chaos occasionally gets in...
The text discusses the issue of bundling extensions with Sphinx themes, and the challenges and workarounds involved in doing so. It provides a quick overview of how to add extensions to themes and avoid major gotchas.
The post demonstrates how to install packages directly from GitHub with pyprojects.toml or requirements.txt, including custom branches and commits. It provides examples and recipes for installing from GitHub and specific branches....
The JupyterLite workshop in Paris showcased the potential of WebAssembly and JupyterLite to boost accessibility to interactive computation. Capytale demonstrated how WebAssembly and JupyterLite can provide remote access to fully i...
The text explains how to load and plot a remote font with Matplotlib, using the Fira Code font from Mozilla as an example. It provides step-by-step instructions on how to download the font file, link it with the font_manager API, ...
The text explains how to update Sphinx options during the build using the builder-inited event, app._raw_config, app.config object, and app.builder.theme_options.
The author found a way to automatically update all git pre-commit hook versions at once using the pre-commit autoupdate documentation. They also mention the option to automate the process using pre-commit.ci.
The text explains how to fix phantom GitHub workflows in your ci-cd with protected branch rules. It discusses the issue of phantom workflows that never pass and how it is related to branch protection rules in the repository. The s...
The text discusses how to define custom roles and domains in Sphinx using MyST Markdown structure and how to reference them in the documentation.
The author describes how to automatically update their publications page with ORCID and doi.org. They use ORCID to grab a list of DOIs for their publications and the doi.org API to grab citation information. They also wrote a scri...