High Performance Computing & AI
Practical notes on Python, JupyterHub, Kubernetes and AI for science — from the San Diego Supercomputer Center.
-
Do you need JupyterHub for your workshop? JupyterLite runs Python in the browser
You're organizing a Python workshop or teaching a class that uses Jupyter notebooks. The first question that comes up is almost always the same: how do I get everyone running notebooks without spending an hour on installation?
-
up: One command to update all my AI tools
I use a lot of AI coding assistants — Claude Code, Gemini CLI, Codex, Cline, Qwen Code, Crush, and more. Keeping them all updated was a chore: apt upgrade for the system, npm install -g for Node packages, claude upgrade for Claude, downloading releases for gog... I kept forgetting one or another.
-
harmonic_ud_grade vs ud_grade: A Focused Comparison
harmonic_ud_grade vs ud_grade A Focused Comparison.
-
SDSC HPC and Data Science Summer Institute 2026
The SDSC HPC and Data Science Summer Institute 2026 is a week-long, in-person training event focused on introductory-to-intermediate topics in High Performance Computing (HPC), Data Science, and Artificial Intelligence (AI).
-
Deploying JupyterHub on OpenStack Magnum with OpenTofu
ingress-nginx, which has been retired, so this workflow is no longer recommended. Use the new tutorial Deploy JupyterHub on Jetstream2 with OpenTofu, Magnum and Traefik instead, which deploys Traefik and keeps the same single tofu apply workflow.
-
Configure Claude Code with MiniMax on NRP
This guide covers configuring Claude Code to use MiniMax models through the NRP (Nautilus Research Platform) infrastructure, including setting up Brave Search for web queries.
-
SPT-3G D1 high-ℓ CMB power spectra vs. Planck 2018
Load and compare the SPT-3G D1 high-ell TT power spectra with the Planck 2018 CMB power spectrum, illustrating primary vs. secondary CMB anisotropies.
-
Fixing clipboard issues with Opencode in Byobu/Tmux over SSH on Chromebook
When using a Chromebook (Crostini) and connecting via SSH to a remote server, you might encounter a frustrating clipboard issue. Copy-paste works perfectly when running opencode alone, and it works fine when using byobu alone.
-
Send email using UCSD SMTP with a Gmail-based address
If you have a GMAIL-based UCSD email address and need to send email programmatically or via an email client using SMTP, you can use Google's SMTP servers.
-
Why 3 pixels per beam? The mathematics of HEALPix resolution matching
Exploring why the Planck convention uses FWHM = 3 x pixel size for harmonic-space map downgrading, with equations from the literature and simulated demonstrations.
-
PySM 3.4.4 released with new SZ models and NumPy 2 support
PySM 3.4.4 is now available both on PyPI and on conda-forge. This release is mostly about extending the Sunyaev-Zeldovich model suite and making sure PySM works cleanly with NumPy 2.
-
Better way to export a Confluence page to Markdown
In a previous post, I wrote about Export a Confluence page to Markdown by copying and pasting into Google Docs. I've since found a better and much more powerful way using the confluence-cli tool.
-
Deploy a ChatGPT-like LLM on Jetstream with llama.cpp, tested on g3.medium
This is a tested follow-up and updated standalone version of Deploy a ChatGPT-like LLM on Jetstream with llama.cpp. If you want the original September 2025 version for reference, see: Deploy a ChatGPT-like LLM on Jetstream with llama.cpp
-
Keep Jupyter notebooks clean in git, but rendered with outputs in Sphinx
A small Sphinx extension that fetches an executed notebook from a Gist or raw URL, verifies the sources still match, and replaces the local notebook during the docs build.
-
How to pronounce Andrea in Italian
The Italian pronunciation of Andrea is: ahn-DREH-ah