| 2016 » | Quirk - Drag-and-Drop Quantum Circuit Simulator |
| 2021 » | Stim - QEC Circuit Simulation Library |
| 2023 » | Crumble - (PROTOTYPE) Point-and-Click 2D QEC Circuit Builder |
| 14 Sep 2025 » | Actually, you can't test if quantum uses complex numbers |
| 30 Aug 2025 » | Why haven't quantum computers factored 21 yet? |
| 18 Aug 2025 » |
[Talk at QEC2025] Yoked surface codes (and crosshair surface codes)
(slides)
|
| 30 Jul 2025 » |
[Paper] A Classical-Quantum Adder with Constant Workspace and Linear Gates
|
| 21 May 2025 » |
[Paper] How to factor 2048 bit RSA integers with less than a million noisy qubits
|
| 08 Apr 2025 » |
[Talk at Simons Quantum Colloqium] Magic state cultivation
(slides)
|
| 01 Apr 2025 » |
[Paper (Sigbovik 2025)] Falling with Style: Factoring up to 255 'with' a QuantumComputer
|
| 06 Mar 2025 » |
[Talk at QIP2025] Magic state cultivation
(slides)
|
| 22 Feb 2025 » |
[Paper] A Constant Rate Quantum Computer on a Line
|
| 26 Sep 2024 » |
[Paper] Magic state cultivation: growing T states as cheap as CNOT gates
|
| 19 May 2024 » |
[Paper] Rise of conditionally clean ancillae for efficient quantum circuit constructions
|
| 18 Jan 2024 » |
[Talk at NFSQ] Halving the size of Surface Codes with Yokes
(slides)
|
| 14 Dec 2023 » |
[Paper] New circuits and an open source decoder for the color code
|
| 07 Dec 2023 » |
[Paper] Yoked surface codes
|
| 18 Nov 2023 » |
[Paper] Tetrationally Compact Entanglement Purification
|
| 02 Nov 2023 » |
[Talk at QEC23] Less Bacon, More Threshold
(slides)
|
| 20 May 2023 » |
[Paper] Less Bacon More Threshold
|
| 22 Apr 2023 » | The mundane uses of quantum computers |
| 28 Mar 2023 » |
[Paper] Sparse Blossom: correcting a million errors per core second with minimum-weight matching
|
| 23 Feb 2023 » |
[Paper] Cleaner magic states with hook injection
|
| 14 Feb 2023 » |
[Paper] Inplace Access to the Surface Code Y Basis
|
| 04 Feb 2023 » |
[Paper] Relaxing Hardware Requirements for Surface Code Circuits using Time-dynamics
|
| 07 Sep 2022 » |
[Talk at Quantum Summer Symposium] A short history of the honeycomb code
|
| 26 Jun 2022 » |
[Paper] A Pair Measurement Surface Code on Pentagons
|
| 29 Apr 2022 » |
[Paper] Stability Experiments: The Overlooked Dual of Memory Experiments
|
| 29 Apr 2022 » |
[Paper] Quantum Dictionaries without QRAM
|
| 10 Apr 2022 » | Briskly Biased Bits |
| 24 Feb 2022 » |
[Paper] Benchmarking the Planar Honeycomb Code
|
| 07 Feb 2022 » |
[Talk at iQuHACK] Ideas for quantum computing projects
|
| 30 Sep 2021 » |
[Talk] Software and the Honeycomb Code
(slides)
|
| 22 Sep 2021 » |
[Video] Qubits vs Bits: The Kickback Effect
|
| 24 Aug 2021 » |
[Paper] A Fault-Tolerant Honeycomb Memory
|
| 06 Aug 2021 » |
[Talk at DEF CON Crypto and Privacy Village] How expensive is quantum factoring, really?
(slides)
|
| 05 Aug 2021 » |
[Talk at QPL] Stim: A fast stabilizer circuit simulator
(slides)
|
| 22 Jul 2021 » |
[Video] Discussing Honeycomb code code with Michael Newman
|
| 11 Jul 2021 » |
[Video] Estimating the threshold of a new quantum code using stim and pymatching
|
| 22 Jun 2021 » |
[Paper] A CCCZ gate performed with 6 T gates
|
| 29 Mar 2021 » |
[Video] The non-quantum delayed choice eraser
|
| 03 Mar 2021 » |
[Paper] Stim: a fast stabilizer circuit simulator
|
| 03 Dec 2020 » |
[Talk at IQFA] Spacetime Tradeoffs when Optimizing Large Quantum Computations
|
| 03 Dec 2020 » |
[Paper] Quantum block lookahead adders and the wait for magic states
|
| 09 Nov 2020 » |
[Paper] Focus beyond quadratic speedups for error-corrected quantum advantage
|
| 06 Nov 2020 » |
[Paper] Even more efficient quantum computations of chemistry through tensor hypercontraction
|
| 30 Aug 2020 » | Inverting Clifford Tableaus |
| 11 Aug 2020 » |
[Paper] Offloading Quantum Computation by Superposition Masking
|
| 05 Aug 2020 » |
[Talk] A Rosetta Stone for the ZS Calculus and the Surface Code
|
| 21 Jul 2020 » | Decorrelated Depolarization |
| 14 Jul 2020 » |
[Paper] Compilation of Fault-Tolerant Quantum Heuristics for Combinatorial Optimization
|
| 06 Apr 2020 » |
[Talk at QCTIP2020] How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits
(slides)
|
| 01 Apr 2020 » | Factoring the largest number ever with a quantum computer |
| 27 Feb 2020 » |
[Talk at Simons Institute] Estimating the Fault Tolerant Cost of Classically Intractable Quantum Computations
(slides)
|
| 28 Nov 2019 » | Surviving Chain Link Erasures |
| 20 Oct 2019 » | Producing an N+1 Qubit CCZ State with an N Qubit Adder |
| 30 Sep 2019 » |
[Paper] Surface code dislocations have code distance L+O(1)
|
| 25 Aug 2019 » | Spooky Pebble Games and Irreversible Uncomputation |
| 08 Aug 2019 » | The Frauchiger-Renner Paradox is a Sleeping Beauty Problem |
| 07 Aug 2019 » | Verifying Measurement Based Uncomputation |
| 06 Aug 2019 » | Weakening the Born Rule |
| 23 May 2019 » |
[Paper] How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits
|
| 22 May 2019 » |
[Paper] Flexible layout of surface code computations using AutoCCZ states
|
| 22 May 2019 » | Constant Depth Encoded Addition |
| 21 May 2019 » |
[Paper] Approximate encoded permutations and piecewise quantum adders
|
| 18 May 2019 » |
[Paper] Windowed quantum arithmetic
|
| 15 Apr 2019 » |
[Paper] Asymptotically Efficient Quantum Karatsuba Multiplication
|
| 27 Feb 2019 » |
[Paper] Improved Fault-Tolerant Quantum Simulation of Condensed-Phase Correlated Electrons via Trotterization
|
| 13 Feb 2019 » | Improving Block Code Distillation (Part 3) |
| 06 Feb 2019 » |
[Paper] Qubitization of Arbitrary Basis Quantum Chemistry Leveraging Sparsity and Low Rank Factorization
|
| 04 Dec 2018 » |
[Paper] Efficient magic state factories with a catalyzed |CCZ> to 2|T> transformation
|
| 09 Jul 2018 » | Improving Block Code Distillation (Part 2) |
| 12 Jun 2018 » | Improving Block Code Distillation (Part 1) |
| 20 May 2018 » | Roulette Selection fit for a Quantum Computer |
| 09 May 2018 » |
[Paper] Low overhead quantum computation using lattice surgery
|
| 09 May 2018 » |
[Paper] Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity
|
| 09 May 2018 » |
[Paper] Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity
|
| 23 Apr 2018 » | A Slightly Larger S Gate |
| 01 Apr 2018 » | Announcement: My Quantum Cloud Service |
| 10 Feb 2018 » | The Bee Movie Singularity |
| 04 Feb 2018 » | Canonicalizing H+S+CNOT+T Circuits |
| 28 Jan 2018 » | Why Will Quantum Computers be Slow? |
| 12 Dec 2017 » | A Classical Delayed Choice Experiment |
| 28 Nov 2017 » |
[Paper] Improved Techniques for Preparing Eigenstates of Fermionic Hamiltonians
|
| 21 Nov 2017 » | Proxy Phasing and Computed Phasing |
| 13 Nov 2017 » |
[Paper] Quantum Simulation of Electronic Structure with Linear Depth and Connectivity
|
| 19 Sep 2017 » |
[Paper] Halving the cost of quantum addition
|
| 28 Aug 2017 » | Shor's Quantum Factoring Algorithm |
| 22 Aug 2017 » | Breaking Down the Quantum Swap |
| 06 Aug 2017 » | Visualizing 2-Qubit Entanglement |
| 31 Jul 2017 » | My Preprints #2: A Slightly Smaller Surface Code S Gate |
| 31 Jul 2017 » |
[Paper] A slightly smaller surface code S gate
|
| 23 Jul 2017 » | Reversible Computation isn't Free |
| 09 Jul 2017 » | Impractical Experiments #4: High Powered Phase Estimation |
| 28 Jun 2017 » | My Preprints #1: Dirty Period Finding |
| 23 Jun 2017 » |
[Paper] Factoring with n+2 clean qubits and n-1 dirty qubits
|
| 18 Jun 2017 » | [Meta] Who Owns Quirk? |
| 11 Jun 2017 » | Computing Fractional Fourier Transforms |
| 06 Jun 2017 » | Simple Algorithm for Multiplicative Inverses mod 2ⁿ |
| 24 May 2017 » | Efficient Controlled Phase Gradients |
| 02 May 2017 » | Quirk v2.0 - Bowing to Convention |
| 09 Apr 2017 » | Thinking of Operations as Controls |
| 02 Apr 2017 » | Difficulty of Classical Control |
| 13 Mar 2017 » | Why care about circuit width? |
| 04 Mar 2017 » | Bugs from the Future: Hadamard Coins and Implicit Measurement |
| 01 Mar 2017 » | [Meta] Joining Google's Quantum AI Team |
| 26 Feb 2017 » | Trouble Adding Constants into Qubit Registers |
| 11 Feb 2017 » | Quantum Bomb Detector Detectors |
| 18 Dec 2016 » | Quantum Data Locking vs Recognizable Data |
| 12 Dec 2016 » | Turning Detection into Correction with Quantum Teleportation |
| 04 Dec 2016 » | Improper Priors |
| 27 Nov 2016 » | Bra-Ket Notation Trivializes Matrix Multiplication |
| 20 Nov 2016 » | From Swapping to Teleporting with Simple Circuit Moves |
| 13 Nov 2016 » | Half-Baked Thoughts for a Quantum Scripting Language |
| 07 Nov 2016 » | Quirk's Performance History |
| 22 Oct 2016 » | Unfathomable Bugs #9: Lossy Shader Packing |
| 03 Oct 2016 » | The Quantum Version of the One-Time Pad is Teleportation |
| 27 Sep 2016 » | Post-selection is cheating |
| 20 Sep 2016 » | A Resource State won't get you out of Clifford Jail |
| 10 Sep 2016 » | Java should Autobox Arrays, or maybe not |
| 31 Jul 2016 » | Turning Gradients into Additions into QFTs |
| 05 Jul 2016 » | Wait, What?: Genetic Algorithms for Digital Quantum Simulations |
| 26 Jun 2016 » | [Un]popular Qubits #4: Affecting Atoms by Looking at Emitted Light |
| 19 Jun 2016 » | Quantum vs NP #2-B: Simulating 'A linear time quantum algorithm for 3SAT' |
| 14 Jun 2016 » | Using Multiplication to Cut Gates from the QFT |
| 05 Jun 2016 » | Erasure is Post-Selection |
| 29 May 2016 » | Ultradense Coding would allow FTL Signalling |
| 22 May 2016 » | My Quantum Circuit Simulator: Quirk |
| 15 May 2016 » | Reducing Test Boilerplate with Ascii Diagrams |
| 24 Apr 2016 » | Eve's Quantum Clone Computer |
| 05 Apr 2016 » | Gradually Copying a Quantum Brain |
| 27 Mar 2016 » | Protecting Control Flow with Nested Evals |
| 16 Mar 2016 » | Wrapping Structure Around Batched Methods |
| 01 Mar 2016 » | Paper as Problem: 'Non-local measurements via quantum erasure' |
| 25 Feb 2016 » | Don't Use Github Pages' Jekyll Support |
| 22 Feb 2016 » | Catching a Crypto Bug in RedPhone |
| 30 Jan 2016 » | [Un]popular Qubits #3: The Quantum Pigeonhole Principle |
| 19 Jan 2016 » | Unknowable, but Equal |
| 10 Jan 2016 » | Using Eigendecomposition to Convert Rotations and Interpolate Operations |
| 07 Jan 2016 » | Deflating Delayed Choice Quantum Erasure |
| 28 Dec 2015 » | Quantum Teleportation's Two Subroutines |
| 08 Nov 2015 » | My Misconceptions: The Quantum Latch |
| 01 Nov 2015 » | Quantum vs NP #2: Zachary B. Walters 'A linear time quantum algorithm for 3SAT' |
| 26 Oct 2015 » | [Un]popular Qubits #2: The Quantum Zeno Effect |
| 11 Oct 2015 » | YOU versus Bell Tests and the No Communication Theorem |
| 08 Oct 2015 » | Rule of Thumb: Make Generic Code Value-Agnostic instead of Null-Hostile |
| 17 Sep 2015 » | My Misconceptions: The Unintegrable Function |
| 02 Sep 2015 » | Partially Erasing Entanglement: Measuring a GHZ Triplet into a Bell Pair |
| 27 Aug 2015 » | Quantum vs NP #1-B: Simulating a Claimed NP=BQP Algorithm |
| 01 Aug 2015 » | Quantum vs NP #1: Checking a Claimed BQP=NP Algorithm |
| 20 Jul 2015 » | Unit Testing with Symbols |
| 05 Jul 2015 » | Things I Can't Solve: Multiplication |
| 22 Jun 2015 » | Using Quantum Gates instead of Ancilla Bits |
| 12 Jun 2015 » | Constructing Large Increment Gates |
| 05 Jun 2015 » | Constructing Large Controlled Nots |
| 17 May 2015 » | Impractical Experiments #3: Treating Controls Like Values |
| 01 May 2015 » | A Quantum Network Flow Puzzle |
| 25 Apr 2015 » | Entangled States are like Unitary Matrices |
| 17 Jan 2015 » | Superdense Coding on the Fly and in Reverse |
| 25 Dec 2014 » | [Un]popular Qubits #1: Quantum Compression |
| 12 Dec 2014 » | Dust your Tests |
| 06 Dec 2014 » | Perfect Symmetry Breaking with Quantum Computers |
| 24 Nov 2014 » | Converting Rotations into "Nice" Qubit Operations |
| 15 Nov 2014 » | Interpolating Qubit Operations |
| 29 Jul 2014 » | Logical Ingredients of a Quantum Computer |
| 08 Jul 2014 » | Puzzle: Boxing Megaspheres |
| 22 Jun 2014 » | Rule of Thumb: Preconditions Should be Public |
| 17 Jun 2014 » | Counter-intuitive Counterfactual Strategies |
| 07 Jun 2014 » | Eating Lions, Wolves, and Goats Faster |
| 03 Jun 2014 » | Don't Trust the DOM |
| 27 May 2014 » | Cancelling Cancellation |
| 15 May 2014 » | Lower Bounding the Space Complexity of One-Pass Algorithms |
| 11 May 2014 » | Storing Bandwidth with Quantum Teleportation |
| 03 May 2014 » | Storing Bandwidth with Superdense Coding |
| 27 Apr 2014 » | The (not) Quantum Laplace Transform |
| 13 Apr 2014 » | Puzzle: Deflipping a Quantum Coin |
| 04 Apr 2014 » | Unfathomable Bugs #8: Day to Day |
| 31 Mar 2014 » | Rule of Thumb: The Condition is the Message |
| 27 Mar 2014 » | Don't Make Javascript Equality Look Worse Than It Is |
| 25 Mar 2014 » | Bad Ideas #1: Java-Style Methods in Objective-C |
| 18 Mar 2014 » | Positive Bias and Testing |
| 16 Mar 2014 » | Puzzle: Encoding the Remaining Card |
| 11 Mar 2014 » | Ordering Cyclic Sequence Numbers |
| 07 Mar 2014 » | Building your own Quantum Fourier Transform |
| 01 Mar 2014 » | [Meta] A New Home |
| 19 Feb 2014 » |
What Quantum Computers Do Faster, with Caveats
|
| 09 Feb 2014 » |
Naming Things: Fail-Useful
|
| 29 Jan 2014 » |
Detecting Simple Cycles Forming, Faster
|
| 22 Jan 2014 » |
Third Party Bit Commitment
|
| 10 Jan 2014 » |
Angular Velocity is Simple
|
| 31 Dec 2013 » |
Collection Equality is Hard
|
| 22 Dec 2013 » |
Deadlocks in Practice: Don’t Hold Locks While Notifying
|
| 17 Dec 2013 » |
Brute Force Parallelization
|
| 11 Dec 2013 » |
A Year’s Worth of Opinions about Objective-C
|
| 03 Dec 2013 » |
Referencing Substrings Faster, without Leaking Memory
|
| 26 Nov 2013 » |
Not Crying Over Old Code
|
| 19 Nov 2013 » |
Exploring Universal Ternary Gates
|
| 12 Nov 2013 » |
Impractical Experiments #2: Securing Peer to Peer Fog of War against Map Hacks
|
| 05 Nov 2013 » |
Achieving Exponential Slowdown by Enumerating Twice
|
| 29 Oct 2013 » |
Using Immortality to Kill Accidental Callback Cycles
|
| 22 Oct 2013 » |
Cancellation Tokens (and Collapsing Futures) for Objective-C
|
| 15 Oct 2013 » |
Visualizing the Eigenvectors of a Rotation
|
| 08 Oct 2013 » |
Collapsing Futures in Objective-C
|
| 01 Oct 2013 » |
Bug Hunting #1: Garbled Audio from End to End
|
| 24 Sep 2013 » |
Impractical Experiments #1: Representing Numbers as Polynomials
|
| 17 Sep 2013 » |
Implementing Quantum Pseudo-Telepathy
|
| 09 Sep 2013 » |
Turn On Your Damn Warnings
|
| 03 Sep 2013 » |
Big-O Made Trivial
|
| 02 Sep 2013 » |
Unfathomable Bugs #7: The Broken Oven
|
| 27 Aug 2013 » |
Solomonoff’s Mad Scientist
|
| 26 Aug 2013 » |
Yearly Blogging Roundup #1
|
| 20 Aug 2013 » |
What isn’t a Monad
|
| 13 Aug 2013 » |
Searching a Sorted Matrix Faster
|
| 06 Aug 2013 » |
How to Read Nested Ternary Operators
|
| 30 Jul 2013 » |
My Bug, My Bad #4: Reading Concurrently
|
| 23 Jul 2013 » |
Whole API Testing with Reflection
|
| 16 Jul 2013 » |
Optimizing a Parser Combinator into a memcpy
|
| 09 Jul 2013 » |
Don’t Treat Paths Like Strings
|
| 02 Jul 2013 » |
Breaking a Toy Hash Function
|
| 25 Jun 2013 » |
Counting Iterators Lazily
|
| 18 Jun 2013 » |
Unfathomable Bugs #6: Pretend Precision
|
| 11 Jun 2013 » |
My Bug, My Bad #3: Accidentally Attacking WarCraft 3
|
| 04 Jun 2013 » |
Collapsing Types vs Monads (followup)
|
| 28 May 2013 » |
Collapsing Futures: Easy to Use, Hard to Represent
|
| 22 May 2013 » |
Eventual Exceptions vs Programming in a Minimal Functional Style
|
| 14 May 2013 » |
The Mystery of Flunf
|
| 07 May 2013 » |
Explain it like I’m Five: The Socialist Millionaire Problem and Secure Multi-Party Computation
|
| 02 May 2013 » |
Computer Science Blows My Mind
|
| 23 Apr 2013 » |
Transmuting Dice, Conserving Entropy
|
| 16 Apr 2013 » |
Rule of Thumb: Ask for the Clock
|
| 09 Apr 2013 » |
Rule of Thumb: Use Purposefully Weakened Methods
|
| 02 Apr 2013 » |
Rule of thumb: Preconditions Should be Checked Explicitly
|
| 26 Mar 2013 » |
Intersecting Linked Lists Faster
|
| 19 Mar 2013 » |
My Bug, My Bad #2: Sunk by Float
|
| 12 Mar 2013 » |
Repeat Yourself Differently
|
| 05 Mar 2013 » |
Grover’s Quantum Search Algorithm
|
| 26 Feb 2013 » |
Followup to Non-Nullable Types vs C#
|
| 19 Feb 2013 » |
Optimizing Just in Time with Expression Trees
|
| 12 Feb 2013 » |
When One-Way Latency Doesn’t Matter
|
| 05 Feb 2013 » |
Determining exactly if/when/where a moving line intersected a moving point
|
| 29 Jan 2013 » |
Emulating Actors in C# with Async/Await
|
| 22 Jan 2013 » |
Making an immutable queue with guaranteed constant time operations
|
| 15 Jan 2013 » |
Improving Checked Exceptions
|
| 08 Jan 2013 » |
Perishable Collections: The Benefits of Removal-by-Lifetime
|
| 01 Jan 2013 » |
Decoupling shared control
|
| 25 Dec 2012 » |
Decoupling inlined UI code
|
| 18 Dec 2012 » |
Linq to Collections: Beyond IEnumerable<T>
|
| 11 Dec 2012 » |
Publish your .Net library as a NuGet package
|
| 04 Dec 2012 » |
When null is not enough: an option type for C#
|
| 30 Nov 2012 » |
Unfathomable Bugs #5: Readonly or not
|
| 27 Nov 2012 » |
My Bug, My Bad #1: Fractal Spheres
|
| 20 Nov 2012 » |
Working around the brittle UI Virtualization in Windows 8
|
| 13 Nov 2012 » |
Encapsulating Angles
|
| 06 Nov 2012 » |
Unfathomable Bugs #4: Keys that aren’t
|
| 30 Oct 2012 » |
How would I even use a monad (in C#)?
|
| 23 Oct 2012 » |
Useful/Interesting Methods #1: Observable.WhenEach
|
| 16 Oct 2012 » |
Unfathomable Bugs #3: Stringing you along
|
| 09 Oct 2012 » |
Anonymous Implementation Classes – A Design Pattern for C#
|
| 02 Oct 2012 » |
Tasks for ActionScript 3 – Improving on Event-Driven Programming
|
| 24 Sep 2012 » |
Non-Nullable Types vs C#: Fixing the Billion Dollar Mistake
|
| 17 Sep 2012 » |
Unfathomable Bugs #2: Slashing Out
|
| 10 Sep 2012 » |
Abusing “Phantom Types” to Encode List Lengths Into Their Type
|
| 06 Sep 2012 » |
Constructive Criticism of the Reactive Extensions API
|
| 29 Aug 2012 » |
Unfathomable Bugs #1: You can have things! You can have things IN things! You can have …
|
| 05 Jun 2012 » |
The Visual Studio goes away
|
| 14 May 2012 » |
.Net’s time traveling StopWatch
|