From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 5E6FE238CF04 for <9fans@9fans.net>; Sun, 26 Apr 2020 20:18:23 -0400 (EDT) (envelope-from ori@eigenstate.org) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id FB3B34E9254; Sun, 26 Apr 2020 20:18:23 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1587946703; b=Xrv3UwWcobMbgdXF6xLU2tHL7RAScnCmehawUKRN1P4pqsU4Ul YRVE47e3ggFBnGEup+8BApDhEsnTO2MdBD6LAKEOi9GoSFvyG2ow+LfZO8z66mP4 EdRWC/MN79GmXDWIo45XFEIk/4H9Q55kx4d8jfHZaDDeawlKeJNSYNwEDQNCPfQ2 MR/pJJEVQWF/Ohpt/jXdNHLm+QOjJpXjQNgKk/vUB0qph1AYtw8uCKXfDAz0YkqH Ra0hwmYqHA78j2oHg9B7JEgHYQEkyzH33vUZtN0o6eG7h8N/Clq7K4gdD99sqxpl 6cCX77HV2ZbSybA5svRyar2tPwXRJkPLGBGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=message-id:to:subject:date:from:in-reply-to :mime-version:content-type:content-transfer-encoding; s=arcseal; t=1587946703; bh=bo/ckDFjwTgoLsVb4VChiYL4jIpX5m4dDEZiaKMpccA=; b= Qeoy+e0Yv7Ov0Z3VskuyYTWesx4cbeY2FHEqf2OVScj8MuQeOHN2kZv3gg45rPZx IIbaUgwLY5SjmxX2U6vJi22FyBmC+Ebrvuo2TxxQLRok3AiNBym0aRnt6KnYIHsV ObkXUKfv5nhzfORaWtCE6cOU/+qGrpKVgTb5DaZr8aE8GLSLBHhETl5JMDD+fndp oE9VJEuXcUXTjcej8+IYOIZf7EJlVL4gKB4V1BgLxtNkKx8y+BqPDs2Nc/Isdhtp KkJpBgQSbVzjDzDitjx1qnw6NmW8nxvPpVZ7jUHaUFXYA/R0tyrko06Gv94fnbDo Y8MusICDNFhQemt14J7Cjg== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; iprev=pass smtp.remote-ip=206.124.132.107 (mimir.eigenstate.org); spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-aligned-from=pass (Address match); x-ptr=pass smtp.helo=mimir.eigenstate.org policy.ptr=mimir.eigenstate.org; x-return-mx=pass header.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,kusuri.pikopiko.org,eigenstate.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,kusuri.pikopiko.org,eigenstate.org,nokogiri.pikopiko.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; iprev=pass smtp.remote-ip=206.124.132.107 (mimir.eigenstate.org); spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-aligned-from=pass (Address match); x-ptr=pass smtp.helo=mimir.eigenstate.org policy.ptr=mimir.eigenstate.org; x-return-mx=pass header.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,kusuri.pikopiko.org,eigenstate.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,kusuri.pikopiko.org,eigenstate.org,nokogiri.pikopiko.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeduhedrheekgdeffecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkffvufffhf gjgggtgfesthejjedttddtvdenucfhrhhomhepohhrihesvghighgvnhhsthgrthgvrdho rhhgnecukfhppedvtdeirdduvdegrddufedvrddutdejpdduiedvrdekfedrudefvddrvd egheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvtdeirddu vdegrddufedvrddutdejpdhhvghlohepmhhimhhirhdrvghighgvnhhsthgrthgvrdhorh hgpdhmrghilhhfrhhomhepoehorhhisegvihhgvghnshhtrghtvgdrohhrgheq X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (eigenstate.org: 206.124.132.107 is authorized to use 'ori@eigenstate.org' in 'mfrom' identity (mechanism 'mx' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="ori@eigenstate.org"; helo=mimir.eigenstate.org; client-ip=206.124.132.107 Received: from mimir.eigenstate.org (mimir.eigenstate.org [206.124.132.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sun, 26 Apr 2020 20:18:22 -0400 (EDT) (envelope-from ori@eigenstate.org) Received: from abbatoir.fios-router.home (pool-162-83-132-245.nycmny.fios.verizon.net [162.83.132.245]) by mimir.eigenstate.org (OpenSMTPD) with ESMTPSA id 16cfad2a (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO); Sun, 26 Apr 2020 17:18:21 -0700 (PDT) Message-ID: <893A52A584CDAA55E0F41DDFB2012BBD@eigenstate.org> To: ori@eigenstate.org, 9fans@9fans.net Subject: Re: [9fans] libdate Date: Sun, 26 Apr 2020 17:18:20 -0700 From: ori@eigenstate.org In-Reply-To: <756B454F0747C231D31E8E3D3AFA3113@eigenstate.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 9de36e2a-881c-11ea-b5f5-fd7bebd70341 > Date handling on plan 9 is almost adequate today if you don't > have to parse dates or deal with timezones, and don't do > multithreading. Otherwise, it's difficult to get right, and > we often don't. I should have said -- I'm hoping to get some feedback. The best feedback would be "I don't see how I'd do ", or "It seems like " would be error prone or fragile. Another problem that I'm not sure how to deal with is that right now, our timezone database format has two issues: First, it has no way of mapping from an abbreviated zone. For example, EST should map to /adm/timezone/US_Eastern, but that information requires a search of all timezones. Second, even if we did search all timezones, we're hard coding a timezone name length of 3, which means that EST is ambiguous: It maps to US_Eastern, but it also is used as the name for AEST (Australian East), BRT (Brazil), and Jamaica. As a result, if we have a timestamp like this: Jan 1 2013, 7:00 PM EST will not be able to deal with the timezone component. Extending the length of the name in our current timezone files will break old binaries that use localtime, since they'll return an error on timezone naming. I'm wondering if there are clean approaches to deal with this.