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