Correct alpha and gamma for image processing
This is a note on the correct usage of alpha blending, pre-multiplied alpha, gamma correction, and linear colors for image processing.
Read more →(Also lomonster.com and clomont.com)
This is a note on the correct usage of alpha blending, pre-multiplied alpha, gamma correction, and linear colors for image processing.
Read more →This is a quick note for converting byte values colors in 0-255 back and forth to floating-point colors in 0-1 which avoids common errors.
Read more →A robust, portable, extensible method for handling button presses when interfacing software and hardware.
Read more →A robust algorithm for computing roots of quadratic equations, much better than common code.
Read more →Notes on floating point issues, including lists of facts and theorems useful for algorithm development.
Read more →I built a RTK-GPS gadget and wrote enough software to do basic GNS tasks such as finding distances, decoding GPS NMEA and RTCM messages, finding intersections, and doing boundary detection.
Read more →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 →This talk is an intro to wireless communications, starting with the basic physics of EM waves and how they interact with materials, then how antennas work, then on to antenna properties and design. Next modulation schemes are discussed, showing how data is encoded and transmitted over noisy channels via modulation, spread spectrum, time and frequency division, and other methods. Noise in the form of doppler, intermodulation, and other causes is covered. Information theory (channel capacity, Shannon entropy, error correction) is covered. Finally specific protocols are analyzed under this framework: FM, NTSC, remotes, WiFi, Bluetooth, ZigBee, satellite radio, GPS, and cellular formats.
Read more →This talk covers cryptography best practices as of April, 2018. Background on each area is covered, with each section ending with a best practices slide. Sections are Symmetric Encryption, Asymmetric Encryption, Key Lengths, Hashing/HMAC, Password usage, Key Exchange, Random number generation, Digital Signatures,
Read more →Here’s a math puzzle.
Read more →Here’s FRACTRAN, a weird fraction based programming language, written in FRACTRAN.
Read more →How does one generate uniform random numbers in [0,1] using IEEE 754 floating point formats? It’s tricky.
Read more →Here’s bit tricks for efficient divisibility testing.
Read more →What’s the average length of a segment chosen uniformly by area on a unit square?
Read more →This is a nicely hard problem in the common prisoners and warden format.
Read more →Here’s a result that is completely non-intuitive.
Read more →A post to test site features such as tables, math, code…
Read more →