Bas Nijholt

Bas Nijholt

Senior Staff Engineer

IonQ

Biography

Hi, my name is Bas. I am a: Python and open-source enthusiast, Ph.D. in theoretical quantum mechanics, and full-time nerd. Originally I am from the Netherlands, but currently, I live near Seattle, Washington, USA.

Here (or here ) are some pretty pictures that I took, this is where I did my Ph.D., I work at IonQ (previously at Microsoft Quantum ), and see my LinkedIn for some technical details on my daily activities.

Interests
  • Quantum Mechanics
  • Landscape photography
  • Open-source software
  • Hiking in the mountains
  • Blockchain technology
  • Home automation
  • Artificial Intelligence
Education
  • PhD in computational Quantum Mechanics, 2020

    TU Delft

  • MSc in Applied Physics, 2015

    TU Delft

  • BSc in Applied Physics, 2012

    TU Delft

Blog Posts

Sparse scribblings on a variety of topics

Projects

Open-source, see my GitHub profile

๐ŸŒž Adaptive Lighting: Home Assistant custom component for auto-adjusting color temperature and brightness of lights based on daylight. ๐ŸŒ™

Home Assistant

Many things in my house are automated using the Python Home Assistant framework. I’ve built some interseting automations and app, see my config files and AppDaemon apps 🏠 🤖

adaptive: tools for adaptive parallel sampling of mathematical functions to speed up simulations by orders of magnitude โš™๏ธ

iOS Themes for Home Assistant

๐Ÿ“ฑ lovelace-ios-themes: Home Assistant themes inspired by iOS Dark and Light Mode, with 28 variants built on HomeKit backgrounds. ๐ŸŽจ

๐Ÿ“š tuitorial: Create interactive code tutorials that run in the terminal, with syntax highlighting and step-by-step focus, configured in Python or YAML. ๐Ÿ–ฅ๏ธ

pipefunc: Lightweight function pipeline creation ๐Ÿ

rsync-time-machine.py

๐Ÿ’ป rsync-time-machine.py: Your cross-platform, flexible, and incremental backup solution using rsync, offering Time Machine-style backups with added versatility. ๐Ÿ’ฝ๐Ÿš€. ๐Ÿ”„

๐Ÿ  Home Assistant Streamdeck YAML: Control Home Assistant on Stream Deck across all OS with YAML configuration. ๐ŸŽ›๏ธ

๐ŸŒฑ miflora: Python library for reading moisture, temperature, light, and conductivity from Xiaomi Mi Flora plant sensors over Bluetooth. Originally created under open-homeautomation; I now maintain it. ๐ŸŒก๏ธ

๐Ÿง  MindRoom: Self-hostable AI agents that live in Matrix chat rooms, with persistent memory and 100+ tool integrations. Matrix bridges bring the same agents to Slack, Telegram, WhatsApp, and more. ๐Ÿ’ฌ

Compose Farm

๐Ÿšœ Compose Farm: Run Docker Compose stacks across multiple hosts over plain SSH, with no agents to install. Stacks stay plain folders you can keep in Git, and cf apply makes the hosts match your config. ๐Ÿณ

dotbins

๐Ÿงฐ dotbins: Keep CLI tool binaries in your dotfiles, downloaded from GitHub releases for macOS, Linux, and Windows. No package manager or sudo needed. ๐Ÿ“ฆ

unidep: Unified Conda and Pip Dependency Management ๐Ÿ

๐ŸŽ™๏ธ agent-cli: Local-first AI tools for your desktop: voice transcription to the clipboard with a hotkey, autocorrect, text-to-speech, RAG and memory proxies, and agent-cli dev for running coding agents in parallel Git worktrees. ๐Ÿค–

dotfiles

๐Ÿ  dotfiles: My NixOS, nix-darwin, Homebrew, and zsh setup that I use on every machine, with modern CLI tools installed through dotbins. ๐Ÿš

Markdown Code Runner

๐Ÿ’ป Markdown Code Runner: Auto-execute code blocks in Markdown files and refresh the output in-place. ๐Ÿ”„

home-assistant-macbook-touch-bar

home-assistant-macbook-touch-bar: Displaying sensors and controlling IoT devices using the Macbook Pro’s touch bar ๐Ÿค–๐Ÿ’ป

aiokef: An asyncio Python library that provides an API to communicate KEF speakers ๐Ÿ”ˆ

Thesis cover

thesis-cover: each unique copy is designed using quantum simulation data, neural networks, machine learning, and Python

๐Ÿ““ opennb: Open Jupyter notebooks from GitHub repositories or URLs directly in Jupyter. Combined with uvx, the notebook’s dependencies come along too. ๐Ÿš€

Adaptive-scheduler

adaptive-scheduler: Run simulations adaptively on many cores (>10k) and easily manage starting and restarting using mpi4py.futures, ipyparallel, or dask-mpi 🎉

๐Ÿ”ข pfapack: Efficient numerical computation of the Pfaffian for dense and banded skew-symmetric matrices, packaging the algorithms from arXiv:1102.3440 by Michael Wimmer. ๐Ÿงฎ

instacron: Instagram for the lazy - automatically upload a photo to Instagram with autogenerated caption containing #hashtags, a quote, and camera information ๐Ÿ“ธ๐ŸŒ…

๐Ÿค zfs-tenant: Give a friend a quota-capped corner of your ZFS pool for their raw encrypted backups, without giving them a shell. Their keys never leave their house, so you can’t read what they store. ๐Ÿ’พ

python-yaml2bib

yaml2bib: Convert a readable yaml file with DOIs only to a properly formatted BibTeX file. ๐Ÿ“ƒ

๐Ÿ” pixi-to-conda-lock: Convert a pixi.lock into a conda-lock.yml, so you can use the fast pixi solver and still ship a conda-lock file. ๐Ÿ

PhD thesis

thesis.pdf: Towards realistic numerical simulations of Majorana devices (2020)

๐Ÿ•ธ๏ธ graphviz-anywidget: Interactive Graphviz widget for Jupyter with search, highlighting, and graph traversal, rendered by Graphviz compiled to WebAssembly. Built to visualize pipefunc pipelines. ๐Ÿ”

๐ŸŽค wyoming-mlx-whisper: Wyoming protocol server for near real-time Whisper speech-to-text on Apple Silicon, for use with Home Assistant voice or agent-cli. ๐Ÿ

๐Ÿ–ฅ๏ธ slurm-usage: Save SLURM job efficiency metrics to Parquet before SLURM purges them after 30 days, and chart CPU, memory, and node usage per user and group. ๐Ÿ“ˆ

nijho.lt

nijho.lt: my website made with Hugo on Github that is automatically deloyed with Netlify ๐Ÿฆพ

๐Ÿ”Ž CodeStructure: Extract Python code signatures without execution, providing a clear structure overview. ๐Ÿ“š

Calendar of Life

๐Ÿ“… calendar-of-life: Plot your life as a grid with one dot per week and one row per year, colored by life stage. Inspired by Kurzgesagt and Tim Urban. โณ

๐Ÿ“‹ clip-files: Copy all files of a given type in a project to your clipboard, with their paths and a token count, ready to paste into ChatGPT or Claude. ๐Ÿค–

ipynb_git_filters: remove ipynb’s output on each commit to keep a clean history. Not very smart but very useful ๐Ÿค–

python-hpc05

hpc05: a thin wrapper around ipyparallel to easily start workers remotely on a HPC cluster ๐Ÿ–ฅ

๐Ÿท๏ธ calver-auto-release: GitHub Action that creates a release with a Calendar Versioning (CalVer) tag on every commit to main. ๐Ÿ“…

๐Ÿ”‘ zfs-unlock: Unlock encrypted OpenZFS datasets automatically after every reboot, while the passphrases stay on a separate device (a Raspberry Pi, say) and travel over a restricted SSH channel. ๐Ÿ”’

๐Ÿงฎ trueloc: Count the lines of code you wrote since any date, from your GitHub pull requests and direct commits. It adds up every commit in a PR, so squash merges don’t hide the work. ๐Ÿ“Š

โฌ‡๏ธ gh-download: Download files or folders from GitHub repositories, including private ones, using your existing gh CLI login. ๐Ÿ“

numthreads: Simple Python package to set the number of threads used by OpenBLAS, MKL, OMP, NumExpr, and Accelerate

๐Ÿ“ค fileup: Upload and share a file from the terminal with fu myfile.txt; the URL lands in your clipboard and the file can expire automatically. ๐Ÿ”—

๐Ÿ•ต๏ธ privata: Static checker that finds Python code that looks public but is only used privately, so helper() becomes _helper() and __all__ stays honest. ๐Ÿ

๐Ÿ—ƒ๏ธ github-backup-sync: Mirror every GitHub repository you have access to into local bare clones, with the gh CLI handling authentication. ๐Ÿ’ฝ

๐Ÿ”Œ matrix-mcp: Lets Claude Code, Codex, and other MCP clients read and write Matrix chats, including end-to-end encrypted rooms, so local coding agents can join MindRoom conversations. ๐Ÿ’ฌ

๐Ÿ’ฌ matty: Matrix chat CLI client where every action (reading threads, replying, reacting) is a single command, which makes it easy to script and easy for AI agents to use. ๐Ÿค–

๐Ÿ’ฐ tiller-streamlit: Streamlit dashboard and JSON API for the personal finance data in a Tiller spreadsheet. ๐Ÿ“Š

โšก pytest-shm: pytest plugin that puts temporary files on the /dev/shm tmpfs, so test suites that fsync stop waiting on the disk. ๐Ÿงช

WenFire: WebApp visualizing your path to financial independence, built with personalizable assumptions and interactive visualizations. Ignite your journey to early retirement! ๐Ÿ’ธ

python-crypto-bot

crypto-bot: an async cryptocurrency bot using zmq, asyncio, websockets and mad triangular arbitrage trading strategies โ™ฒ๐Ÿ’ต

Tying Quantum Knots. An online course for which I wrote a lot of code. See the course website which is generated using these Jupyter notebooks.

No projects match your search.

Photography

The hobby

I enjoy traveling and photography. The best photos I would like to share with the world, however, the problem is that I am too lazy to do so, therefore I wrote a program (instacron ) that will do that job for me. It takes a photo and adds: a random quote, camera and location info, and #hashtags related to the photo.

More photos on Instagram.

Publications

Citation metrics at Google Scholar

Quickly discover relevant content by filtering publications.

Contact