2016 » | Quirk - Drag-and-Drop Quantum Circuit Simulator |
2021 » | Stim - QEC Circuit Simulation Library |
2023 » | Crumble - (PROTOTYPE) Point-and-Click 2D QEC Circuit Builder |
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 |