Posts

Quantum entanglement for developers, shown through the CNOT gate

Image
Entanglement is the most misunderstood concept in quantum computing. Pop science calls it "spooky action at a distance," as if measuring one particle magically changes another across the universe. That framing is poetic but useless if you're trying to use entanglement in code. Here's the developer-friendly version: entanglement is a correlation between measurement outcomes that can't be explained by classical shared randomness. And creating it is trivially easy — a Hadamard gate followed by a CNOT. Two lines of Qiskit. In this post I'll strip away the mysticism, show you the circuits, and explain how we actually used entanglement to generate better randomness for the Quantum Genesis art. What entanglement really is Two qubits are entangled when their measurement outcomes are correlated in a way that can't be reproduced by flipping two independent coins — even if those coins are somehow pre-programmed to match. Try this analogy. You flip two coins. ...

Deploying and minting on Polygon with web3.py only

Image
When we deployed the Quantum Genesis contract — our 100-piece collection generated from real quantum computers — we used Python end to end. Not Hardhat's JavaScript deploy scripts, not Remix's browser IDE. Just web3.py , a compiled contract, and a Polygon RPC endpoint. This tutorial is the exact path we took: installing web3.py, connecting to Polygon, deploying the ERC-721 contract, minting tokens, and reading on-chain state. All of it is drawn from a production deployment, with the rough edges still visible. If you've been told you need a JavaScript framework to ship a smart contract, this should show you otherwise. Prerequisites Before you start you'll need: Python 3.8+ installed A Polygon wallet with some MATIC for gas (deployments cost a few cents of MATIC, even on Polygon) Your wallet's private key , stored as an environment variable — never hardcode it A compiled Solidity contract (ABI + bytecode). We used Hardhat for compilation; Remix or solc work to...

How we priced the Quantum Genesis collection off measured rarity

Image
When we made Quantum Genesis, the last thing I wanted to do was invent prices by eye. We had 100 pieces, all generated from real quantum computers, and every one of them carried verifiable metadata about how it was made: which processor ran the circuit, how much true randomness the measurement distribution showed, how complex the composition was. Guessing a number for each felt wrong on principle. If I couldn't explain why piece #42 costs ten times what piece #73 costs, then no one else should be expected to trust a single price in the set. So we built a pricing model out of the things we could actually measure and verify. This post is the whole thing laid out — the inputs, the formula, what the distribution looked like, and the parts I'd change if we did it again. It's not investment advice and it's not a pitch. It's a record of a decision process, warts and all. The two usual ways (and why they didn't fit) Most small projects price a collection one of two ...

Uploading and pinning 100 NFTs on IPFS with Pinata's free tier

Image
For Quantum Genesis we needed somewhere permanent to put 100 PNGs and 100 metadata JSON files. Centralized servers go down and S3 buckets get deleted, but IPFS content stays reachable as long as someone pins it. I'd used ipfs cat on a local node before, but I'd never run a real batch upload, and I had no budget for it. So the whole job came down to one question: could Pinata's free tier actually hold an entire 100-piece collection? Short answer: yes, comfortably. This post is the tutorial I wish I'd had — account setup, the free-tier limits, single and folder uploads, understanding CIDs, verifying outputs, and the production Python script we actually shipped 100 pieces through. Everything here is what we ran, and it cost exactly $0. Why IPFS, and why Pinata IPFS is a decentralized protocol that uses content addressing instead of server addresses. Each file gets a unique hash (CID) computed from its contents. Change one byte and the CID changes, so content linked t...

Screenshotting 100 SVGs to PNGs with headless Chrome on Windows

Image
We had 100 SVG artworks generated by quantum computers, and we needed PNGs to put on IPFS. SVG support across NFT platforms and wallets is inconsistent enough that we didn't want to rely on it, so the vector files had to become raster files. On Linux or macOS you'd type cairosvg.svg2png(...) and be done in five minutes. We were on Windows. It took considerably longer than that, and most of the "obvious" solutions quietly destroyed our art before I found one that worked: pointing headless Chrome at each SVG and taking a screenshot. The core problem SVG is XML, and converting it to PNG requires a real SVG rendering engine — something that parses the markup, executes gradient definitions, applies filters, composites layers, and only then emits pixels. That's the whole job, and the Python ecosystem's default tool for it is cairosvg , which wraps the Cairo 2D library: # This works beautifully on Linux and macOS import cairosvg cairosvg.svg2png(url="input...

Quantum supremacy in 2026 — a reality check from someone who ran real circuits

Image
I've spent real time with two of the most advanced quantum computers that are actually reachable over the internet: IBM's ibm_fez (156 qubits) and Origin Quantum's WK_C180 (180 qubits). We used both to generate the artwork for Quantum Genesis — running real circuits, collecting real measurement data, and turning quantum noise into abstract art. That hands-on time gives a different view of the field than most press releases do. This is that view: what "quantum supremacy" actually claims, where the hardware genuinely stands in 2026, what a developer can actually run today, and what I found running identical circuits on both platforms. What "quantum supremacy" really claims The term, coined by John Preskill in 2012, is narrow and specific. It means a quantum computer has performed a computation that no classical computer can do in a reasonable time. Not "could theoretically", but actually did it, with verifiable results. It doesn't mean...

Building the Quantum Genesis art generator: from measurement seed to SVG

Image
Quantum Genesis is 100 pieces of abstract art, and no human picked a single color or arranged a single shape. Every attribute was determined by a Python script fed with random data from real quantum measurements on IBM's ibm_fez and Origin Quantum's WK_C180. The machine hands back a probability distribution; the script turns that into a layered SVG composition. This post is the complete walkthrough of how that generator works — every layer of the composition, and enough code to build your own. If you're not interested in quantum hardware, the generator itself is fully portable to any random source; everything down to random.seed(42) behaves the same. The pipeline: seeds to SVG Four stages: Quantum Computer → Raw Measurements (4096 shots) → SHA-256 Hash (256-bit seed) → Python QuantumRNG (deterministic from seed) → SVG Artwork (layered composition) The quantum computer produces a probability distribution from 4096 measurement shots. We hash tha...