All blogs / Algorithms / data structures
Project Nayuki
- Posts
- 220 from 31 Jul 1990 to 20 Nov 2025
- Posting
- now and then (2 in the last year)
- Kind
- personal blog
2025 8
2024 5
2023 4
2022 4
2021 10
- My Mario Kart 64 time trial records
- Disjoint-set data structure
- Triangle solver (JavaScript)
- Project Euler solutions
- Image unshredder by annealing
- Free small FFT in multiple languages
- DWITE programming contest solutions
- Brainfuck interpreter (JavaScript)
- Tap to measure tempo (JavaScript)
- Fast Fourier transform in x86 assembly
2020 2
2019 4
2018 17
- Canada Tax-Free Savings Account simulator (JavaScript)
- Factorize Gaussian integer (JavaScript)
- Random password generator (JavaScript)
- Bitcoin cryptography library
- Animated floating graph nodes
- Full screen clock (JavaScript)
- Panel de Pon puzzle solver (JavaScript)
- Propositional sequent calculus prover
- 1D barcode generator (JavaScript)
- Chemical equation balancer (JavaScript)
- Reference Huffman coding
- Reference arithmetic coding
- Tiny PNG Output
- How to implement the discrete Fourier transform
- Next lexicographical permutation algorithm
- Knuth–Morris–Pratt string matching
- Unsigned int considered harmful for Java
2017 5
2016 12
- Java BigInteger was made for RSA cryptography
- Supplement to my résumé
- DEFLATE library (Java)
- Fast skipping in a linear congruential generator
- Karatsuba multiplication
- AES cipher internals in Excel
- NetPerSec (Nayuki’s version)
- Encrypted backup client for Dropbox
- Lyrics of Mahou Shoujo Pixy Misa Shouka
- Large arrays proposal for Java
- MamIRC, the headless IRC client
- A fundamental introduction to x86 assembly programming
2015 14
- Angles in elastic two-body collisions
- What are binary and text files?
- Simulated annealing on pixel colors
- Variations on Japanese romanization
- Symmetry sketcher (JavaScript)
- JSON library (Java)
- Handling physical quantities in math formulas
- Numerically stable law of cosines
- Tablet desk clock
- Overwriting confidential handwritten text
- Compact hash map (Java)
- NotepadCrypt format decrypter (Java)
- TTC fare guide for tourists
- Nanoblock modeling in POV-Ray
2014 23
- 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
- GIF optimizer (Java)
- 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
- Computing Wikipedia’s internal PageRanks
- Guide to Canada income tax by successive approximation
- I type in Dvorak
- DES cipher internals in Excel
2013 22
- Fast MD5 hash implementation in x86 assembly
- Fast SHA-1 hash implementation in x86 assembly
- Fast Whirlpool hash in x86 assembly
- 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
- Automatic Caesar cipher breaker (JavaScript)
- Resizing images by area
- Frog Fractions guide
- Primitive recursive functions
- Example of simplifying and improving code
- My university courses
- Site map
- 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?
- Graphic overview of Canada income tax, RRSP, and TFSA
2012 9
2011 17
- How to batch-tag photos on Facebook
- Binary counter in brainfuck
- Transcription of Miracle∞Hinacle
- Transcription of Chasse – Instrumental solo
- BMP I/O library (Java)
- Transcription of o-Hanabatake
- Calculate prime factorization (JavaScript)
- Calculate divisors (JavaScript)
- Transcription of Kana’s Theme
- Transcription of Every Day
- 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
- Caesar cipher (JavaScript)
- Vigenère cipher (JavaScript)
- Countable sets and Kleene star
1990 1
Undated 63
- Project Nayuki: All pages
- Qr code generator library
- Knuths 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 pokemon game boy music
- Reed solomon error correcting code decoder
- Btree set
- Undefined behavior in c and cplusplus programs
- Simple flac implementation
- Benchmark of nayukis 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 cplusplus
- Number theoretic transform integer dft
- Convex hull algorithm
- Fast discrete cosine transform algorithms
- Java se 5 is the most significant release
- Profont nayukis version
- Fast qr code generator library
- My favorite youtube video channels
- Pervasive displays epaper panel hardware driver
- Problems with plurals in english
- Elliptic curve point addition in projective coordinates
- Aa tree set
- Optimal text segmentation for qr codes
- Creating a qr code step by step
- Dont share commented out code
- Subtle ways to lose data
- Self encrypted cache structure
- Summary of c cpp 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
- Png file chunk inspector
- Nintendo 64 over svideo
- How to download private facebook videos
- Macshift nayukis version
- I dislike dividends
- Zellers congruence
- Why i write
- Png library
- Sqlite database file visualizations
- Deflate specification v1 3 html
- Tax brackets visualizations
- Drinking distilled water
- Meanings of home equity