Project Nayuki


Recent pages

Page Last updated
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