NanToo Blog
RSS feedClear explanations of the ideas behind NanToo tools, web development, design, and practical everyday technology.

JPEG Quality 80 vs. 90: DCT, Quantization, and File Size Explained
Learn what JPEG quality settings change, why encoder settings matter, and how DCT, quantization, and chroma subsampling affect photos, text, and file size.

Why WCAG Uses a 4.5:1 Contrast Ratio: The Formula and Its Limits
Understand WCAG contrast ratios, the current sRGB formula, AA and AAA thresholds, text-size exceptions, and why APCA is separate from WCAG 2.2 conformance.

CSS color-mix() and OKLCH: Build Brand Color Variants with Tested Fallbacks
Create hover, active, background, and border colors with color-mix() and OKLCH. Understand hue paths, transparency, browser support, and safe CSS variable fallbacks.

Password Entropy and NIST SP 800-63B-4: What the Numbers Really Mean
Separate random-password search spaces from human choices and real authentication security. Review entropy calculations, NIST requirements, passphrases, and attack conditions.

Gzip vs. Brotli vs. Zstandard: HTTP Content-Encoding in Practice
Compare HTTP compression choices, Accept-Encoding negotiation, zstd's window limit, and browser, CDN, and origin-server conditions before changing a delivery setup.

How UTF-8 Works: Its Origins, Byte Length, and UTF-16 Compared
Understand UTF-8 through its 1992 origins, ASCII compatibility, one-to-four-byte structure, invalid sequences, and the difference between bytes and characters.

SVG Paths Explained: Bézier Curves, Smooth Joins, and Elliptical Arcs
Read SVG path commands, evaluate Bézier curves, understand S and T, and handle elliptical-arc flags, radius correction, and circle approximations.

QR Code Error Correction: Choosing L, M, Q, or H
Compare QR error-correction levels, version-one capacity, and logo-overlay risks. Learn why codeword recovery percentages are not safe image-area allowances.

CSV and Excel: UTF-8, Quoting, Line Breaks, and Lost Leading Zeros
Diagnose CSV problems by separating encoding, syntax, and spreadsheet type inference. Understand RFC 4180, UTF-8 BOMs, text imports, and formula risks.

Photo EXIF and GPS Privacy: What to Check Before Sharing
Understand location metadata in photos, the limits of GPS precision, and the difference between camera permissions, sharing settings, and removing data from a file.

Base64 vs. Base64URL: Padding, URLs, and RFC 4648 Pitfalls
Learn how Base64 and Base64URL differ, when + becomes a space, when padding may be omitted, and how MIME line wrapping affects encoded data.

HTTP Status Codes Explained: The Five Classes, 418, 451, and 402
Trace HTTP status codes from early HTTP and 1992 design notes to RFC 9110, including the five classes, unknown-code handling, 418, 451, 402, and 103.

UUID v1 vs. v4 vs. v7: A Practical RFC 9562 Guide
Compare UUID v1, v4, and v7 under RFC 9562: bit layouts, collision probability, time ordering, database locality, privacy, and safe ID design.

IP Addresses and CIDR Explained: From Classful Networks to /24
Understand IPv4 subnetting, why /24 means 24 prefix bits, how classful A/B/C addressing gave way to CIDR, and where /31 and /32 are special.

Regex Lookahead and Lookbehind: A Practical JavaScript Guide
Learn positive and negative lookahead and lookbehind in JavaScript regex, with tested extraction, exclusion, AND-condition, and number-formatting examples.

Why 0.1 + 0.2 Is Not 0.3: IEEE 754 Floating Point, Bit by Bit
Why does 0.1 + 0.2 produce 0.30000000000000004 in JavaScript and many binary64 environments? Follow the repeating binary fraction, IEEE 754 bit layout, rounding, comparisons, and safe numeric design.

Why A4 Paper Uses √2: ISO 216, Lichtenberg, B Sizes, and Letter
Why does halving A4 produce A5? Explore the square-root-of-two geometry behind ISO 216, Lichtenberg's 1786 letter, DIN 476, A and B sizes, envelopes, and US Letter paper.

Huffman Coding (1952): The Optimal Prefix Code Born from an MIT Assignment
How did David Huffman's 1952 method become part of DEFLATE, baseline JPEG, MP3, HPACK, and Zstandard? Learn the greedy tree algorithm, its optimality, entropy limits, and where specifications actually use it.

Equal Temperament vs Just Intonation: Why a Piano C Major Chord Is Slightly Off
Compare a theoretical 12-tone equal-tempered C major chord with 4:5:6 just intonation. Calculate cents, beats, commas, historical temperaments, and real piano stretch tuning.

WebP vs. AVIF vs. JPEG: A Practical Image Format Guide for 2026
Newer is not automatically better when choosing a web image format. Compare browser support, compression, encoding cost, fallbacks, and practical choices for photos, transparency, animation, and Core Web Vitals.

DPI vs PPI: Calculate Resolution for Screens and Print
Learn the difference between image PPI and printer DPI, calculate pixels from print dimensions, and understand 300 ppi, CSS's 96 px per inch, viewing distance, and resolution metadata.

Mbps vs MB/s: Bits, Bytes, and Binary Prefixes Explained
Why does a 1 Gbps connection translate to 125 MB/s? Learn the difference between bits and bytes, decimal and binary prefixes, and why a 1 TB drive may appear as about 931 GiB.

Cents, Equal Temperament, and Just Intonation
The cent is a logarithmic unit for comparing musical intervals. Learn its formula, the mathematical difference between 12-tone equal temperament and just intonation, and practical tuning examples based on A4 = 440 Hz.

Image Scaling Algorithms: Nearest, Bilinear, Bicubic, and Lanczos
Why do enlarged images look blocky and reduced images lose fine lines? Learn how nearest-neighbour, bilinear, bicubic, Mitchell–Netravali, and Lanczos filters reconstruct and resample images.

