The Scholarly Void
A quiet space for deliberate thought, long-form reading, and the slow accumulation of knowledge.
Millisecond Cursors Repeat Pages: timestamptz Precision and Composite Keyset Pagination
A millisecond cursor over microsecond timestamptz repeats rows; microseconds still skip or repeat rows written in one transaction. A (created_at, id) keyset fixes both, tested on PostgreSQL 18.
What an HMAC Request Signature Should Cover: Method, Path, Query and the Raw Body
Sign only the body and the path or query can be swapped freely; re-serialise JSON before verifying and honest requests fail. Cover the method, path, sorted query and raw body bytes.
Treat Unset as Zero: Hard Caps, Approval Thresholds and Which Way a Kill Switch Fails
Defaults decide what a money system does when a setting is missing or unreadable: reject out-of-range amounts, treat an unset approval threshold as zero, and fail closed on writes only.
The Faster You Mine, the Faster It Tips Over: A Game Economy as a Dynamic System
Sensible prices can still produce runaway wealth once output, upgrades and costs feed back into each other. Difference equations, feedback, delay and Monte Carlo on a mining economy.
Pity Is Not a Higher Drop Rate: Gacha Pity and Gear Upgrades as State Machines
Pity counters and upgrade downgrades make each roll depend on history, so model them as states. Three rules with the same average differ more than threefold for the unluckiest 1%.
A 1% Drop Rate and 100 Tries Without Luck: The Geometric Distribution and Weighted Sampling
With a 1% drop rate, about 37% of players still have nothing after 100 tries and the unluckiest 5% need 299 or more. The geometric distribution, then two ways to sample a loot table.
Same Ship, Different Flight at 30 and 144 FPS: Integration and Fixed Timesteps
Multiplying by deltaTime is not enough to make physics frame-rate independent. Update order, damping and how time is accumulated all leak through; measured in Python.