Project Nayuki

Recent pages

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