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