Developers live at the intersection of knowledgeable and efficient. This can prove a struggle, and rarely leaves much wiggle room in either direction. Sadly, “knowledge” pays the price more often. A handful of resources show devs just how much they might be getting wrong.
For iOS devs, it’s NSDateFormatter.com, which will make you feel as though you can’t actually read a calendar properly. You can, don’t worry; it’s just a good example of how, when it comes to humans speaking computer, the translation isn’t always clear. At various points, the ‘month’ is either MMM, MM or MMMM, and can be designated via dot notation, dashes, commas, forward slashes or spaces. Good luck.
Because dates and times are also hard to grasp, we’ve found a second site you should check out: yourcalendricalfallacyis.com. Described as a site that will help you “navigate the insane complexity of calendrically [sic] correct date and time operations,” it dives a bit deeper into why times and dates elude us. It’s a collection of assumptions we make about calendars, such as what a weekend is, or that days always have 24 hours (by the way: false!).
As not everything involves dates and times, there’s also a GitHub repo tracking everything we’re probably wrong about. ‘Awesome Falsehood’ is an evolving collection of everything we think we know about computer science disciplines, but just might be wrong about.
Like most repos of its ilk, Awesome Falsehood is simply a collection of links to topics covered more granularly elsewhere, by people who are likely dedicating their efforts (or at least a project or two) to a topic. It spans everything from codifying music to validating emails. There’s even more discussion about calendars, if you’re not ready to ignore time for the rest of time yet.
While it might seem a bit pretentious for a site to explain topics you’ve mis-characterized, it comes from a good place. Based on the description of the types of articles that get into Awesome Falsehood, it seems the goal is to destroy naiveté:
These articles starts [sic] with the hypothesis that developers have a naive, simple view of the subject at hand. Then proceed to list a set of candid assumptions that might be held by such programmers. Each one is intentionally false, and sometimes illustrated by a counter-example.
While it admits “these articles might provoke an emotional reaction and cause flipping table [sic],” Awesome Falsehood’s reasoning for surfacing them is nonetheless valid. Being corrected is never fun, but at least it’s just the interwebz and you can lick your wounds in silence.