Learn
These articles are static pages built from Markdown in the repository. They explain concepts and point to tools that run locally in your browser whenever the task allows. Browse by topic or search the full set.
Topics
- Published: 2026-09-05
IANA timezones, DST, and comparing the same instant
Why IANA zone IDs beat fixed UTC offsets, how daylight saving shifts wall clocks, and how to compare one moment across cities without mixing “local time” with the instant itself.
Read article → - Published: 2026-09-05
Exact vs calendar duration between two datetimes
Why “31 days” and “1 month” are different answers, when to use a fixed millisecond span versus wall-clock years/months/days, and how LocalTools computes both locally.
Read article → - Published: 2026-09-05
ISO 8601 formats: calendar, week, ordinal, and epoch
How calendar dates, week dates, ordinal days, and Unix epoch relate in ISO 8601, plus Z vs offsets, basic vs extended forms, and what LocalTools parses locally.
Read article → - Published: 2026-09-05
Converting integers between binary, octal, decimal, and custom bases
How radix (base) conversion works for whole numbers, when binary/octal/hex matter in code, and how bases 2–36 use digit alphabets—without confusing integer hex with byte dumps.
Read article → - Published: 2026-09-05
Percent change, ratios, and tip/tax math without spreadsheets
How percent change, “X is what % of Y,” tip/tax markup, and reversing a tax-inclusive total work—plus when floating-point math needs rounding for money.
Read article → - Published: 2026-09-05
Metric vs imperial lengths, MB vs MiB, and °C/°F conversions
How length and mass convert between metric and imperial, why MB and MiB differ by powers of 1000 vs 1024, and the °C/°F/K formulas—without mixing storage prefixes or CSS units.
Read article → - Published: 2026-09-05
Arbitrary-precision big-number math beyond JavaScript Number limits
Why JavaScript Number loses digits above 2⁵³−1 and mishandles decimals like 0.1×0.2, and how arbitrary-precision libraries keep large integers and exact decimals accurate in the browser.
Read article → - Published: 2026-09-05
Luhn (mod-10) checksums: how card/IMEI check digits work
How the Luhn mod-10 algorithm builds and verifies check digits for PAN-style and IMEI numbers, what errors it catches, and why a valid checksum is not proof of a real account.
Read article → - Published: 2026-09-05
IBAN MOD-97 and country lengths: what a “valid” IBAN actually proves
How ISO 13616 IBAN structure, country-specific lengths, and the MOD-97-10 checksum work together—and why a passing check only catches typos, not a live bank account.
Read article → - Published: 2026-09-05
E.164 phone numbers: default regions, national formats, and what “valid” means
How ITU-T E.164, country calling codes, and national formatting relate—and why libphonenumber “valid” only means the number matches region rules, not that the line is live.
Read article → - Published: 2026-07-20
Cron expressions for humans
How five-field cron syntax maps to minutes, hours, days, and months — plus common patterns for backups, reports, and jobs.
Read article → - Published: 2026-07-20
Unix timestamps: seconds vs milliseconds
Why APIs mix 10-digit and 13-digit epoch values, how to tell them apart, and how to convert safely in JavaScript and logs.
Read article → - Published: 2026-07-08
NanoID vs UUID (size and alphabet)
Compare NanoID and UUID v4 for string length, character set, collision risk, and practical use in URLs, databases, and APIs.
Read article → - Published: 2026-06-26
ULIDs for sortable IDs
How ULIDs pack a millisecond timestamp and randomness into 26 Crockford base32 characters, why they sort chronologically as plain text, and when to pick them over UUID v4 or NanoID.
Read article → - Published: 2026-06-26
UUID versions (and when v4 is enough)
How RFC 4122 UUIDs encode version and variant bits, what versions 1–5 mean in practice, and why random version 4 IDs are the right default for most applications.
Read article →