From dev-return-1474-apmail-couchdb-dev-archive=couchdb.apache.org@couchdb.apache.org Sun Dec 14 05:08:12 2008 Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 14727 invoked from network); 14 Dec 2008 05:08:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Dec 2008 05:08:11 -0000 Received: (qmail 10250 invoked by uid 500); 14 Dec 2008 05:08:23 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 10215 invoked by uid 500); 14 Dec 2008 05:08:23 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 10204 invoked by uid 99); 14 Dec 2008 05:08:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 13 Dec 2008 21:08:23 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of antony.blakey@gmail.com designates 209.85.142.184 as permitted sender) Received: from [209.85.142.184] (HELO ti-out-0910.google.com) (209.85.142.184) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Dec 2008 05:08:02 +0000 Received: by ti-out-0910.google.com with SMTP id a1so1331310tib.3 for ; Sat, 13 Dec 2008 21:07:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=CCcKt9fHQUfkXvpCxEG01Ifeve+p/4ivFWt4epWou6s=; b=SQCcKrohMhEVzy9If94EljRzhZSo/ScJLAz/WQw7hBvqiP43CgJv8fMpR4/I94UAx+ HuokCE6GK6daE0Vot471oj0+Ssu39vFPyneroV6aR5CggQjqusklhgiIv5vRTZdaDhBM fdEOnEtDZO7OMcTpiIKLdG+tGZbv6HXzkEOfk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=MOZczGtk3AhsmNoCXcxHLyWUyUaT1MJ9W2jA+tVLWW+U6e4TgMqYKTlPMnhVPbkEY+ wrNmVRwhpGq9A8DJsNuAtQ5hQdWKMEwYCTRmwXvzdasPNBFVNedeJj+k107gjE35QXBI V/Oi+klfCWznaDTzw7UkJL9ZzSiVqmYzzCqNU= Received: by 10.110.43.16 with SMTP id q16mr7906623tiq.55.1229231260459; Sat, 13 Dec 2008 21:07:40 -0800 (PST) Received: from ?192.168.0.16? (ppp121-45-41-103.lns10.adl2.internode.on.net [121.45.41.103]) by mx.google.com with ESMTPS id d4sm6370013tib.31.2008.12.13.21.07.37 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 13 Dec 2008 21:07:39 -0800 (PST) Message-Id: <4346C67F-ADDB-4342-A776-7E4E3FDBBD4D@gmail.com> From: Antony Blakey To: dev@couchdb.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Subject: Re: slash escaping (was 0.9.0 Release) Date: Sun, 14 Dec 2008 15:37:33 +1030 References: <0EC6A3E0-15BA-4BBB-A0A3-9ED9D04E3C40@apache.org> <20081211210620.GI26734@tumbolia.org> X-Mailer: Apple Mail (2.929.2) X-Virus-Checked: Checked by ClamAV on apache.org On 14/12/2008, at 2:47 PM, Chris Anderson wrote: > Perhaps your filename scheme could be appended to a slug (based on the > safe-chars) so that sysadmins could still use meaningful file globs to > eg batch rsync .couch files and view directories. The filename encoder can use any scheme, so yes that is trivial. It would only be (theoretical) a prefix of the readable chars because of length constraints. Note that there is no guarantee that slugs would be unique. I considered punycode, but given that it needs to deal with case-insensitive FS, slashes, limited length, it was simplest to cut to the chase and just use the digest. Regarding your request however, a better way to determine safe-chars according to the underlying filesystem is required IMO to avoid the overt roman script-only design. If you think it's essential that *you* can read the filenames in a terminal, then surely it's essential that a chinese/russian/greek/swedish/thai etc developer has the same facility. Otherwise it's not a *design requirement* per se, but rather a preference. I'm a pure english speaker myself, but I am about to deploy a couch system to an asian (government) environment with many millions of users (with, BTW, a link to CouchDB on every page). In the future I will have to sell this technology and do technology transfer to local developers - and that is made very much more difficult with the current vigorously asserted english-only design decisions because it's a significant political liability. > Readability / globbableness is also nice when you're trying to figure > out which views use the most space on the filesystem, a common task. That's why the actual name is in the 'name' file. Antony Blakey ------------- CTO, Linkuistics Pty Ltd Ph: 0438 840 787 There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. -- C. A. R. Hoare