Blogs
All Articles
March 13, 2026
700 JupyterLab 4 Extensions!
The JupyterLab extension ecosystem just crossed 700 extensions compatible with JupyterLab 4. Here's what the latest wave tells us about where notebooks are heading.
February 21, 2026
Skills Hub: Building an Enterprise Trust Layer for AI Agent Skills
How our team won Judges' Recognition at Anaconda's CKO 2026 hackathon in Portugal by building an enterprise trust layer for AI agent skills.
February 6, 2026
Jupyter Projspec: Bringing Project Discovery to JupyterLab
A JupyterLab extension that automatically discovers and displays project structure — built in collaboration with Martin Durant and Rosio Reyes at Anaconda
January 23, 2026
Adding Voice to Claude Code (with Audio Ducking)
Text-to-speech for Claude Code that automatically lowers your music when it speaks - like Google Maps in CarPlay.
January 15, 2026
Which local models actually work with Claude Code on a 48GB MacBook Pro?
A little experiment evaluating local models for agentic tasks in Claude Code
December 11, 2025
ExternalNo Code, No Problem
PyData Boston 2025 lightning talk on non-code contributions to Open Source
December 10, 2025
The JupyterLab Extension Ecosystem at PyData Boston 2025
I had an opportunity to present at PyData Boston 2025 about analyzing the JupyterLab extension ecosystem.
The talk analyzes the current state of the JupyterLab extension landscape in 2025 using public PyPI (via BigQuery) and GitHub data to quantify growth, momentum, and health by examining metrics such as monthly downloads by category, release recency, the relationship between stars and downloads, and the emergence of AI-focused extensions.
November 10, 2025
Jupyter Open Studio Day SF 2025
The fun did not stop after JupyterCon. Next Monday after the conference, Bloomberg invited everyone to their office to collaborate on Jupyter projects. There were many of the friendly faces who decided to make a trek from Southern California to the Bay while there were here for JupyterCon.

November 6, 2025
JupyterCon 2025 Reflections
Another JupyterCon is in the books!
I have been a part of this community for the last 7 years, starting as a user, then building on top of Jupyter OSS projects and API and finally starting to contribute back to the core projects. I am really grateful for all the people I met along the way 🙏 This post is a reflection on my experience.
April 6, 2025
Beyond Code Comparison: Mito's Functional Evaluation Approach to AI Testing
Learn how Mito's execution-based evaluation approach focuses on the functional results of AI-generated code rather than superficial similarity.
February 8, 2025
Building Auto Dashboards - A Hackathon Journey
Reflecting on my experience of creating the Auto Dashboards project during a hackathon.
May 10, 2023
Notebooks Hub at JupyterCon 2023
I had an opportunity to present a lightning talk at JupyterCon 2023 in Paris. The talk starts at 36:50 mark.
May 5, 2022
Play MIDI tones on Adafruit Clue
Learn how to play MIDI tones on the Adafruit Clue microcontroller using CircuitPython. This tutorial explores converting MIDI files into playable sounds using the device's built-in speaker, creating a foundation for game development.
February 3, 2020
ExternalCreate a desktop shortcut for JupyterLab on Windows
Simple guide for creating a convenient desktop shortcut to launch JupyterLab
February 2, 2020
Pool Limited Queue Processing in Python
A practical guide to using Python's multiprocessing library to implement a system where many parallel processes write to a queue, while a limited pool of workers processes those queue items. Includes solutions for common challenges and Windows-specific issues.
January 26, 2020
On Pytorch Tensors and Autograd
A brief explanation of PyTorch's Autograd system, computational graphs, and how gradient calculation works in deep learning frameworks.
August 7, 2019
US Radio Spectrum Interactive Visualization with Python and BokehJS
Creating an interactive visualization of the US radio frequency spectrum using Python and BokehJS to explore frequency allocations across different bands, replacing static FCC infographics with a dynamic, color-coded interface.
April 15, 2018
ExternalDisplaying real-time webcam stream in IPython at (relatively) high framerate
How to efficiently display webcam video feeds in Jupyter notebooks