← Graph

Gregorian Calendar

talk 23 connections

Norbert Wójtowicz's wroclove.rb 2025 single-speaker talk titled 'Practice What You Preach: Time, the Gregorian Calendar'. Uses the 13,000-year history of human calendars as a jumping-off point for three engineering questions: how to make computers go fast, how to deploy breaking changes, and when to rewrite. Historical arc: lunar vs solar calendars, Sumerian base-60 math, Egyptian 365-day calendar with 5-day New Year's Eve party, Romans losing prior knowledge (Silicon Valley-tech-bro analogy, library of Alexandria destroyed by Roman neglect), 10-month Roman calendar with an un-counted winter, Julian reform 45 BC, Augustan fix every 4 years, Pope Gregory's 1582 reform with the 4/100/400 rule. Performance section: leap-year and days-in-month benchmarks showing branch-free / lookup-free code can be 3–4× faster on modern CPUs due to branch prediction and memory latency; .NET 7 adopted the Neri–Schneider algorithm (2-year-old paper) giving 4× speedup over .NET 6 for epoch-to-date conversion. Teaches rephrasing problems with Zeller's computational calendar (start year in March), convenient number tricks (n/5 ≈ 2n/10), and Euclidean a-functions. Breaking-changes section: the computus problem (origin of the word 'computer'), Bede's 725 hand-computation of 532 years of Easter dates, Gregory's techniques for a 1600-year-old customer — simple patch instructions on top of the old rule, fixing the drift while at it, one Thursday-to-Friday switch, 120-year adoption window. The Wikipedia list of Gregorian-adoption dates shows Saudi Arabia in 2016, France in 1805, yellow-highlighted countries that flipped back and forth, and German/Swiss cities adopting 200+ years apart. Rewrites section: Norbert's golden rule — rewrite if and only if you build on different principles (axioms, not platitudes like clean code or TDD). Integer-seconds vs milliseconds thought experiment about software going into a Boeing. C++ Chrono library by Howard Hinnant presented as the exemplar: durations as representation+ratio, time points as duration+clock, calendars as a separate abstraction, no auto-conversion of '31 January + 1 month', compile-time type-safe arithmetic with no runtime cost, four C++ committee passes to standardize. Closing: always measure, study the past, cross-pollinate ideas between language communities (port Chrono to Ruby), don't vibe-code critical thinking.

date
2025-03-14
type
talk
talk Gregorian Calendar
about
C++ tool
Code examples throughout the talk are in C++, including the Chrono walkthrough.
talk Gregorian Calendar
about
Chrono tool
Chrono is the talk's headline example of rewriting on new principles.
talk Gregorian Calendar
about
Computus concept
Talk covers the computus as the original big-data problem and origin of 'computer'.
talk Gregorian Calendar
about
Julian Calendar concept
Julian reform is a central historical beat of the talk.
talk Gregorian Calendar
about
Pope Gregory's reform is the case study for deploying breaking changes.
talk Gregorian Calendar
about
First performance quiz uses leap-year functions to teach branch prediction.
talk Gregorian Calendar
about
Memory Latency concept
Days-in-month quiz teaches memory-latency and L1-cache trade-offs.
talk Gregorian Calendar
about
Presented as the 4× faster branch-free epoch-to-date algorithm now in .NET 7 and GCC.
talk Gregorian Calendar
about
Zeller's 1882 trick is introduced as an example of rephrasing problems.
talk Gregorian Calendar
about
Explains why calendar apps showing ancient dates are proleptic and thus meaningless.
talk Gregorian Calendar
about
Hyrum's Law concept
Invoked when arguing V1 observable behavior becomes the real contract.
talk Gregorian Calendar
about
.NET tool
Compares .NET 6 and .NET 7 days-from-epoch implementations to illustrate Neri–Schneider's impact.
authored
Gregorian Calendar talk
Delivered the talk as a single speaker at wroclove.rb 2025.
from_talk
Gregorian Calendar talk
Articulated in the rewrites section of the talk.
from_talk
Gregorian Calendar talk
Closing performance lesson.
from_talk
Gregorian Calendar talk
Meta-lesson spanning the performance and Chrono sections.
from_talk
Gregorian Calendar talk
Lesson extracted from Pope Gregory's handling of 1600 years of Julian users.
from_talk
Gregorian Calendar talk
Closing warning about LLM limits in 2025.
takeaway Study The Past
from_talk
Gregorian Calendar talk
Closing recommendation to read old papers.
from_talk
Gregorian Calendar talk
Side-lesson from the computus section.
from_talk
Gregorian Calendar talk
Extracted from the Chrono walkthrough on '31 January + 1 month'.
from_talk
Gregorian Calendar talk
Closing cross-community recommendation.
talk Gregorian Calendar
presented_at
Main-stage talk at wroclove.rb 2025.

Provenance

Created
2026-04-17 16:18 seed
Read by
17 extractions