Wed, May 15, 2019 - 100 Words

This is a 60 minute talk in which I tried to cover 30 algorithms and data structures in a concise manner. It covers all sorts of areas: sorting, string searching and matching, backtracking, randomness, skip lists, hashing, bloom filters, graph algorithms, space partitioning, concurrent and immutable data structures, cache oblivious techniques, compression, boolean satisfiability, and control theory.

Read more →
Mon, Feb 25, 2019 - 200 Words

These slides are from a talk I gave on many aspects of computing, starting with classical computing (Hilbert’s 10th problem, Church and Turing, Godel, boolean functions, complexity theory, transistors, Moore’s law and demise), then going through physics (relativity, quantum mechanics, quantum field theory), and finally into quantum computing basics (qubits, superposition, entanglement, no cloning, basic gates) and quantum algorithms (Deutsch, Simon, Shor, Grover).

Then I cover advanced quantum topics, such as quantum machines,quantum complexity theory, the Quantum-Church-Turing-Deutsch principle, graph isomorphism, quantum error correction, and quantum security. A final speculative section covers even weirder computation ideas (closed timelike curves, string computing) and how computing seems intertwined with the nature of reality (It from Bit, Simulation Hypthesis, Free Will Theorem).

Read more →
Wed, Jan 10, 2018 - 100 Words

This talk covers CPU architecture from the early days (Intel 4004) through modern designs (2018, Intel i7 and i9), with a view towards how the Meltdown and Spectre exploits were discovered. It covers virtual memory, process separation, cache issues, RAM details, pipelining and stalls, branch prediction, Moore’s law versus physics, and finally how Meltdown and Spectre are the consequence of many of these design decisions.

In the end I show the code for Meltdown along with a demo.

Read more →
Mon, Jun 19, 2017 - 100 Words

Here are slides for a long (3-4 hour) talk covering many aspects of cryptology. Topics include simple ciphers, breaking codes, private and public key crypto, block modes, stream ciphers, key exchange, random number generation, modern crypto design, hashing, password security, breaking (differential, higher order, many more..), out of band attacks (timing, cache, power, hardware, …), homorphic encryption, quantum protocols, and more….

Read more →
Tue, Aug 23, 2016 - 900 Words

What's the average length of a segment chosen uniformly by area on a unit square?

Read more →
Tue, Aug 23, 2016 - 500 Words

Here's a result that is completely non-intuitive.

Read more →