From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Newsgroups: gmane.lisp.guile.user Subject: Re: mailmam, web bridge, forum, p2p (was: Diversification) Date: Sat, 26 Oct 2019 10:04:14 +0200 Message-ID: <20191026080414.GE15076@tuxteam.de> References: <20191023113724.bf055453852ec206af8d7bef@gmail.com> <20191023112544.5s65wrzbexnlsj22@pelzflorian.localdomain> <20191023123343.wanooc44orpyo7tk@pelzflorian.localdomain> <20191024133242.GA22930@tuxteam.de> <20191024151239.GC22930@tuxteam.de> <0a53fb44-0918-6430-d604-6b4ebca59a48@posteo.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2qXFWqzzG3v1+95a" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="45645"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.5.21 (2010-09-15) Cc: guile-user@gnu.org To: Zelphir Kaltstahl Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Oct 26 10:05:14 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iOH4T-000Bij-Qa for guile-user@m.gmane.org; Sat, 26 Oct 2019 10:05:14 +0200 Original-Received: from localhost ([::1]:38636 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOH4S-0006Dv-Gw for guile-user@m.gmane.org; Sat, 26 Oct 2019 04:05:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47911) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOH3c-00064Z-EP for guile-user@gnu.org; Sat, 26 Oct 2019 04:04:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iOH3Z-0003n8-W5 for guile-user@gnu.org; Sat, 26 Oct 2019 04:04:19 -0400 Original-Received: from mail.tuxteam.de ([5.199.139.25]:60619) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iOH3Z-0003hz-Ey for guile-user@gnu.org; Sat, 26 Oct 2019 04:04:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de; s=mail; h=From:In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:Date; bh=B2Uy1paozePoXlminkl0alooIOen+D7F8gzuqciNFc8=; b=h2IZyz2FSzgjpGsQGFYs7QJC9+urAlOYU1ISx1BkUv4HEuoL5yvXll6ro47Y1ybvPTGFP90lHEuZ6ApyEmnFLuym3OvPgETCIPY7KDx2iQxC3I0t/7EbDg9ST/3yTkc0zAEcqfOMLCubTm51gH0zF0h91XGVmfoNl0NDMgb3qmfIVHP+Eo8KPhrOgwTlFTU1IqWNVJSERDO6dWI60F5omi2zJ8VnqwwuogKh/baFtK4qrXDj7KnHPWv+gpc3vE4R+s/vviKLOsjh1Ie/iE6W+RtQQ6ZGnKvO2FibyMf0x4nYN3Pqpfe4KGrNqr/X/vfTdigAI/yE++hts9cMam8zsg==; Original-Received: from tomas by mail.tuxteam.de with local (Exim 4.80) (envelope-from ) id 1iOH3W-0004X0-43; Sat, 26 Oct 2019 10:04:14 +0200 Content-Disposition: inline In-Reply-To: <0a53fb44-0918-6430-d604-6b4ebca59a48@posteo.de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 5.199.139.25 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15844 Archived-At: --2qXFWqzzG3v1+95a Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Oct 24, 2019 at 06:35:50PM +0200, Zelphir Kaltstahl wrote: > Hi Tomas! >=20 > Do you still remember some of the issues you came across when making > such a shop? As I said, it was a pretty simplistic thing: - low volume (both customers and inventory) - no interest whatsoever in SEO and other things but it worked pretty well. As basic design principles... - I postponed creating session to the last possible moment: so the user was browsing the inventory basically as a static page, no state encoded; - once I had to carry status related to the session (i.e. the user dropped the first item into the tray), a random session token was generated and inserted into the URL. A HTTP redirect then let the browser "know" our new common basis. I remember chosing an "early" spot at the URL to leverage the browser's relative addressing, which saves a lot of template substitution in the pages. Tokens were expired to avoid abandoned sessions piling up User's feedback was fairly positive: the page felt quick (back then, the scripts weren't the huge monsters of today, but the browser's javascript engines weren't as streamlined as today's either, and the usual bandwidth was a fraction of what is common these days). > If I am not mistaken, Racket's continuation based webserver does > something like this. It also stores state in the URL, which then looks a > bit strange. I think that state even encodes the continuation. This is a thing I considered: not to have a per-session token, but a per-transaction token -- the continuation idea is pretty cool, because the user can have several different "histories" of their session running in parallel. OTOH I tried to imagine the poor webshop user confronted with that. It sure would confuse the hell out of me ;-) I think it would take some thinking to tame the less intuitive parts. Cheers -- t --2qXFWqzzG3v1+95a Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAl2z/f4ACgkQBcgs9XrR2kZAVQCfSNDde/O6urXIh7Vgq0KUB+8+ TZYAniHhl2RsRrSkOS/JG3O7gsvavVeG =XXYY -----END PGP SIGNATURE----- --2qXFWqzzG3v1+95a--