All pages
About
Caesar cipher (JavaScript)
Casio fx-991MS tips and tricks
Calculate prime factorization (JavaScript)
Calculate divisors (JavaScript)
Calculate GCD (JavaScript)
Vigenère cipher (JavaScript)
Boolean algebra laws
Countable sets and Kleene star
Reference Huffman coding
Is there an ideal comparison sort?
Chemical equation balancer (JavaScript)
Karatsuba multiplication
Fast Fibonacci algorithms
Sister Princess Winamp skins
How to implement the discrete Fourier transform
Transcription of Nyanyanyanyanyanyanya!
Patchouli Knowledge laptop sticker
Triangle solver (JavaScript)
Automatic Caesar cipher breaker (JavaScript)
國內 doesn’t mean domestic
Finding dust by lighting from a grazing low angle
Next-hop routing in real life
Project Euler solutions
Brainfuck interpreter (JavaScript)
A septillion CPU cycles a year
Tiny Encryption Algorithm in x86 assembly
Transcription of Crystal Energy – Guitar solo
Transcription of Kana’s Theme
Transcription of Every Day
RC4 cipher in x86 assembly
Sorting algorithms demo (Java)
DWITE programming contest solutions
Tap to measure tempo (JavaScript)
Fast skipping in a linear congruential generator
Unspecified edge cases in the DEFLATE standard
Some bit-twiddling functions explained
BMP I/O library (Java)
Transcription of o-Hanabatake
Full screen clock (JavaScript)
I type in Dvorak
Transcription of Miracle∞Hinacle
Transcription of Chasse – Instrumental solo
Variations on Japanese romanization
Java’s signed byte type is a mistake
Binary counter in brainfuck
Poor feedback from readers
Good Java idioms
How to batch-tag photos on Facebook
My Mario Kart 64 time trial records
My university courses
Supplement to my résumé
Dumb PNG output (Java)
Fast MD5 hash implementation in x86 assembly
Site map
Fast SHA-1 hash implementation in x86 assembly
Fast Whirlpool hash in x86 assembly
Facebook anniversary ray trace
Galois linear feedback shift register
Primitive recursive functions
Simple DEFLATE decompressor
Propositional sequent calculus prover
Manufactoria solutions
Free small FFT in multiple languages
Prayer brackets
Forcing a file’s CRC to any value
Automatic Minesweeper solver
Unusual chemical symbols in English
Transcription of Hare Tokidoki Egao
Frog Fractions guide
Factorize Gaussian integer (JavaScript)
Optimizing brainfuck compiler
Dvorak keyboard in use warning sign
Reference arithmetic coding
Understanding Facebook IDs
Public transit and monotonicity
Polynomial arithmetic shorthand
So you want to be a day trader? Bad idea.
Gauss-Jordan elimination over any field
Recommended articles from Canadian Couch Potato investment blog
NotepadCrypt format decrypter (Java)
Smallest enclosing circle
Example of simplifying and improving code
NetPerSec (Nayuki’s version)
Resizing images by area
Next lexicographical permutation algorithm
Fast SHA-2 hashes in x86 assembly
A math/programming view of Canada GST/HST credit calculation
Master theorem solver (JavaScript)
Tiny PNG Output
AES cipher internals in Excel
Sinc-based image resampler
Graphic overview of Canada income tax, RRSP, and TFSA
Canada Tax-Free Savings Account simulator (JavaScript)
Overview of Project Nayuki software licenses
DES cipher internals in Excel
Guide to Canada income tax by successive approximation
Computing Wikipedia’s internal PageRanks
Extending the use of logarithmic scales
Approximating Euler’s number correctly
Lowest SHA-512 value by brute force
Full transcription of Ichigo Mashimaro – Main Theme
Iterated popcount results in 0 or 1
Transcript of “New Money (Filling the Void)”
Portable FloatMap format I/O (Java)
E-Trade: An expensive, rigid brokerage
Random password generator (JavaScript)
Windows timestamp accessor library
Absolute and relative lens apertures
AVL tree list
Gamma-aware image dithering
Binary array set
Binomial heap
Native hash functions for Java
The photographic exposure equation
Montgomery reduction algorithm
Knuth-Morris-Pratt string matching
Huffman-coding English words
Nanoblock modeling in POV-Ray
DEFLATE library (Java)
Panel de Pon puzzle solver (JavaScript)
Unsigned int considered harmful for Java
Web site notes
1D barcode generator (JavaScript)
Barrett reduction algorithm
GIF89a specification (HTML)
GIF optimizer (Java)
TTC fare guide for tourists
Bitcoin cryptography library
Compact hash map (Java)
Overwriting confidential handwritten text
Fast Fourier transform in x86 assembly
Tablet desk clock
JSON library (Java)
Numerically stable law of cosines
RollerCoaster Tycoon saved games
Cryptographic primitives in plain Python
Handling physical quantities in math formulas
Symmetry sketcher (JavaScript)
Simulated annealing demo
Decent feedback from readers
Image unshredder by annealing
MamIRC, the headless IRC client
Animated floating graph nodes
Disjoint-set data structure
What are binary and text files?
Angles in elastic two-body collisions
A fundamental introduction to x86 assembly programming
Large arrays proposal for Java
Lyrics of Mahou Shoujo Pixy Misa Shouka
Java BigInteger was made for RSA cryptography
Encrypted backup client for Dropbox
QR Code generator library
Knuth’s -yllion number notation
Java Native Interface compared to Python/C API
Batch up new messages in Gmail for better productivity
Being a polyglot programmer
Gaussian blur demo
The versatile sieve of Eratosthenes
CSC258 computer debugger
Band-limited square waves
GO Train acceleration analyzed by video
Transcription of Pokémon Game Boy music
Reed-Solomon error-correcting code decoder
B-tree set
Undefined behavior in C and C++ programs
Simple FLAC implementation
Benchmark of Nayuki’s FLAC encoder
Designing better file organization around tags, not hierarchies
Git library (Java)
FLAC library (Java)
Simple GUI FLAC player (Java)
sRGB transform library
Common mistakes when using the metric system
MATLAB language pet peeves
Sliding window minimum/maximum algorithm
Near-duplicate features of C++
Number-theoretic transform (integer DFT)
Convex hull algorithm
Fast discrete cosine transform algorithms
Java SE 5 is the most significant release
ProFont (Nayuki’s version)
Fast QR Code generator library
My favorite YouTube video channels
Pervasive Displays e-paper panel hardware driver
Problems with plurals in English
Elliptic curve point addition in projective coordinates
AA tree set
Binary indexed tree
Optimal text segmentation for QR Codes
Creating a QR Code step by step
Don’t share commented-out code
Subtle ways to lose data
Self-encrypted cache structure
Summary of C/C++ integer rules
BitTorrent bencode format tools
My code style
Analog vs. digital games
Time-based One-Time Password tools
Ending my support for Python 2
Skill levels in Scalable Vector Graphics (SVG)
Practical guide to XHTML