Yeah a lot of these popular libraries - including Moment, Luxon, Day.js - commit the sin of using a single type of object for distinct concepts. Absolute time, civil time? Basically the same thing right? Just shoehorn them both in.
The IANA timezone database does occasionally revise historical rules when relevant information comes to light. So you might have calculated that some historical figure died at such-and-such a time UTC (based on a documented local time), but actually that's inaccurate and you might not know because you haven't redone the calculation with the new rules.
> Most libraries implement timezone aware dates as an offset from UTC internally.
For what it's worth, the libraries that are generally considered "good" (e.g. java.time, Nodatime, Temporal) all offer a "zoned datetime" type which stores an IANA identifier (and maybe an offset, but it's only meant for disambiguation w.r.t. transitions). Postgres already ships tzinfo and works with those identifiers, it just expects you to manage them more manually (e.g. in a separate column or composite type). Also let's not pretend that "timestamp with time zone" isn't a huge misnomer that causes confusion when it refers to a simple instant.
> note that all OffsetDateTime instances will have be in UTC (have offset 0)
Is this not effectively an Instant? Are you saying that the instant it represents can be straight up wrong? Or are you saying that because it uses OffsetDateTime, issues are being caused based on people assuming that it represents an input offset (when in reality any such information was lost at input time)?
Also that page implies that they did it that way to align with the JDBC spec, rather than your assertions about misleading documentation.
Yeah you gotta watch out for those "Etc" identifiers, especially if you were thinking about exposing all the identifiers to your users wholesale. The file for them has this comment:
> POSIX has positive signs west of Greenwich, but many people expect positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses the abbreviation "-04" and corresponds to 4 hours behind UT (i.e. west of Greenwich) even though many people would expect it to mean 4 hours ahead of UT (i.e. east of Greenwich).
What happens if a country that's currently at the new UTC-12 anchor wants to move back an hour under that system? Are they forced to "wrap around" and move to the next day instead? Or do you move the anchor itself back (to UTC-13) just to accommodate them?
In addition, the Heisig method doesn't teach "meanings" at all, rather "keywords", which in many cases are only kinda sorta vaguely related to their respective characters' (fragment of) meaning. Either way, they're mainly useful as an "anchor" or name to refer to the character by, and in many cases might as well be arbitrary. The real purpose is just to turn an initially indecipherable blob that is a character into something recognizable (and writable, if you care about that). In general, you're not learning meaning to a useful degree until you start seeing or hearing (when you can associate pronunciation) those characters in context, as you imply. Yeah sure, with Heisig alone you'll be able to see 鸡 and know that it (most likely) refers to chicken, but characters like that are a relatively small proportion.
Keep at it, consistently doing a bit every day, and you'll get there. I went through all the free beginner videos (at the time) before moving onto intermediate, then did the same before moving onto advanced, and only then was I really able to start watching stuff made for native speakers without feeling too lost. I'm not a CI purist though, I looked up words or grammar points occasionally, but I didn't actively try to study or memorize anything.
The idea that Mandarin grammar is easy only really applies at a surface level. Yeah for the most part it's SVO word order and there aren't any verb conjugations, but the deeper you get, the more you run into constructions that are completely alien from an English-speaker's perspective. I like how this image represents it: https://imgur.com/neBFnxc
The first book actually only contains the most common (by their methodology) 1000 characters:
> "The 55 lessons from Book 1 cover the 1,000 most commonly used characters in the Chinese writing system, plus another 500 included either because they are needed to preserve the logical ordering of the material or because they are especially easy to learn at this early stage."
Those 500 are still from the most common ~3000 total that comprise both books at least, but it means that you really have to learn 1500 characters before you're guaranteed to know the most common 1000. And learn all 3000 before you're guaranteed to know the most common 1500.
I've been going so slowly it's taken me years to reach my current point of character #2170, but eventually I'll get there, even if I've already been reading sentences with characters that I haven't gotten to yet for a while now.
There's tons of free content to keep you occupied for a while, and then there's a paid tier if you want more down the track. After choosing the level that's suitable, I recommend starting with Pablo's videos - he's the founder and I still like his style the most, particularly his older videos before things expanded. Just click on whatever looks interesting.
The main thing learners utilizing comprehensible input need is volume, so if you actually want to make it useful as more than a one-off novelty, your priority kind of needs to be in pumping out the content (while keeping it relatively interesting since that's also important). That's really the hard part. I will also say that I'm not personally convinced that "here's the words you heard, now tap them in order" minigames are very helpful. Other than that, the features and functionality are nice. Reminds me of Duolingo stories, which is their best content IMO.