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 2A79E236F6EA for <9fans@9fans.net>; Sat, 25 Apr 2020 23:08:37 -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 C84CD55003D; Sat, 25 Apr 2020 23:08:37 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1587870517; b=mmw7jR5wpUz6JFHs5yTqetK8NPvG9pcC0LxOKYzabeIN6L6VK0 sQq99ifi0oYiTmfOCfOiy/2sAkyZh+zVUDJxC3UgBeMKyPa6dwcCU9YjEQtzlX38 eODjjBCjMwl96ewkLhTuiD8F+pvpmap02xgzVZ1X8miZbHSAShhRJpueZgjrB/XS 6owiioYC/s+DKTQUS+5eQGgXdmwnKhIygguNZROI/grHSxDStTadPaVvJMfx36vq Tk7TGAO9Pz3W/h7Fs+t/GG7X8sySL3qL+7Cdv972AJCNs32bNRpTDejXVKcjGDmb A0LGO3UJmq9Ydhu7b0yuofeFZDQostFbMVzw== 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=1587870517; bh=a9rvlKDzVdjvJ21c+aYetEEUnreyO6gguhQeIDP86rM=; b= xzlGze258mZMKiPPj/RQjJPRlKtIJ01e4kQgr0HiesMjTzKvmdBBqnRLcBz0v7xh m6pHaT/nqpjGdaSje8Jr2x1dMCdLWXW59EHQAPAW4REjgyxknbB+kElrKrmVaH4k LvbSvlwHJQ5uVa8zaaIAa0WLgN3Zvhhd25pVTFtytmIyxc+Cl9N0wvoPFoO9OHna h6zy/5m1b8d6w9zYMmoRBU3hQAWJdDv1q0wg0CzK1LRzHNFCvTQQhgkMJzV4mlPa rj9u1URl4jUGpJmWt5jm+n2rX7+JC002SJqvl/x32bC2+Lu77+JUmKjCU9I8v4BY L4rgeD4Wm4yzUmHYWosPhw== 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,eigenstate.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,eigenstate.org,kusuri.pikopiko.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,eigenstate.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: mail.pikopiko.org,eigenstate.org,kusuri.pikopiko.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: gggruggvucftvghtrhhoucdtuddrgeduhedrheehgdeihecutefuodetggdotefrodftvf 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>; Sat, 25 Apr 2020 23:08:36 -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 5d35e559 (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO); Sat, 25 Apr 2020 20:08:35 -0700 (PDT) Message-ID: To: tlaronde@polynum.com, 9fans@9fans.net Subject: Re: [9fans] libdate Date: Sat, 25 Apr 2020 20:08:34 -0700 From: ori@eigenstate.org In-Reply-To: <20200426015421.GA2501@polynum.com> 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: 3b226bbc-876b-11ea-9e11-8d2693d2a263 > Just out of curiosity (I may have missed the point): since this is not > heavily system dependent, and more user related, and for the sake of > APE, did you consider the standard C and the POSIX interfaces? First, the posix interfaces share inadequacies with plan 9. They only work for local timezones and GMT. So, I see this as a place where we can get our APIs right, and not just copying poorly considered interface rot from Unix. Second, ape can't call this code anyways -- ape lives in its own world, with its own libc. Adopting posix interfaces here doesn't help ape. Still, here's probably code that could be dropped into ape, and adapted to support more of the posix APIs. I'd consider committing patches if they came across my inbox.[1] >> The manpage is attached below for review: > > FWIW, a typo in the sample code, the closing bracket in the assignation > before comparison is missing. > >> if((zl = tmgetzone("local") == nil) > ^ > > (in all the chunks). Thanks, fixed. > Thank you for the work! [1] A note on my approach here: I see ape as a tool for porting programs, so following standards in a vaccuum isn't useful -- I'd prefer to make ape changes lazily -- eg, as a result of porting netsurf.