From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Adrien Brochard Newsgroups: gmane.emacs.devel Subject: Re: Proposal for an Emacs User Survey Date: Fri, 9 Oct 2020 15:52:22 -0400 Message-ID: <364e5469-9c41-4453-36e3-5dd2d6c0694e@gmx.com> References: <87lfgf9sca.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16588"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:82.0) Gecko/20100101 Thunderbird/82.0 Cc: emacs-devel@gnu.org To: "Philip K." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 09 22:02:24 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQyas-00043k-Jl for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Oct 2020 22:02:22 +0200 Original-Received: from localhost ([::1]:52322 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kQyar-0003dD-9E for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Oct 2020 16:02:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kQyRJ-0004Fu-CD for emacs-devel@gnu.org; Fri, 09 Oct 2020 15:52:29 -0400 Original-Received: from mout.gmx.net ([212.227.17.22]:58101) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kQyRG-0004uA-VJ for emacs-devel@gnu.org; Fri, 09 Oct 2020 15:52:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1602273143; bh=jaJ1O2spcC4C0UCG6MNVvWyX4NBBD+/0IRvPf9sCB5E=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=aAG0RK7BF7xPiddQSdXm5XFgDqaPcDsiHAXkMsuuKgi422JpwwxlQrKUPD8pKzj+c AvgLl8p5DI7aE/LIFurpE4vzx+G/ghBLHTHHHI+CB52IjTgdzYaW4UG5DFCN1HXMa3 s9UjOKLp/DqnfbOgHDQ4PWPmLUiyhj6BZkO8ASXg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from Adriens-MacBook-Pro.local ([3.93.254.153]) by mail.gmx.com (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MDhhX-1kbejo1kQh-00AlBT; Fri, 09 Oct 2020 21:52:23 +0200 In-Reply-To: <87lfgf9sca.fsf@posteo.net> Content-Language: en-US X-Provags-ID: V03:K1:/0JnrewplKoxV2qMKpv0xsZ4+MoegH4uYIK+clL7NZaz6NiyIWT 69VLCb3Zp1mkk97NWJIcQ1TKONHIhVw7aUi42Isj8VGHW2v34IdXUMioGQTrTxxCVRFCkpQ fUY1IXdNRitDP8pHhI6ribwMZbvHWL6W8hgdlNlHc0YlNZygN+53f5lbU403QFiYxT6jeO3 IjWw68qr6wtrTPa3ipBfA== X-UI-Out-Filterresults: notjunk:1;V03:K0:/3I+8ZTkM7s=:8GXN7P6QQ1kFqizdKRqXcD +j/TdzIscG6YNl20hZcJ5/7AFcY/g6DgAgOp5QdQtnTAzkmwBYIzJYTmK2V9umC9p4kwE4nsl qvYkKEew+V5M4ON3uPdcICBWIb6vq4hDT3y/aJ84b5YJxgZQ7N/nWCB6253LT9c296JCEvIgt ZWork3K2kLkZxxEpr0O1U+Eg9nGme+2+XXkva9CWNHembiaY8P1L4K/umLmKlLJgpBHTAAIL/ fBKIlPvOE/xmw2A7IreOfvKmWQUZjjN7onDsI5Ab0Obb6U6kA8AXQHp6txHyK2A8mcL9G4ALI T9BR8AKeYYqLfkTF9OJfRZcEvBwU3Y5mt4PM4w5LLWqZvrK/VCOlbkjr3zTuXTebBs3o/qjKK Owttakt3NHpj2AhMEtRn+eiRfBIdVMtSFD/LELRN+m1hNYWoyvjIFsK9rWVv5UBBZJobY8SCx 6sEumplsWcjx7HDkNwrztx5kD+pkt4QPNGS96dGD2y/8ToNxpOirEb/JeKkM4Y/O57loJCjET VVUX2VyzPRA9vjNfLhFyoUiuqD9ZdK1OUmozx5ndApwcLusqJjhQCFzPllJjGXcV/cEWxLLPm 5bz8xPsZ6zw+anD3VDA4ehOvjFFLQKZk6Jp7RJ9k9wbo7d/rfYE0IXZqzka75GcnPII4uD6Mk 6fGQ30XYtZbRIxLRNyM6oxJPsx8bLJ3lBNy7eC9Hzn9l6FNoziMLvANwOC8tNRGWrsSAmYRYR ZnzsRRftFcruSf8dLS7n0AU6niEMZ37kdyUXhQiBJEAYOR5skgnMJh9WH5zPZF9NFHUPJM3w Received-SPF: pass client-ip=212.227.17.22; envelope-from=abrochard@gmx.com; helo=mout.gmx.net X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/09 15:52:24 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.208, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:257277 Archived-At: >> - cleaner UI, not just HTML embedded in the code > > What would you have in mind? I know that my example is simple, but I > prefer that to sites that take forever to load and reload everything all > the time, for no apparent reason. The most obvious reason to me is that user error handling is pretty poor. Because there is no JS, we cannot offer front-end validation, that means that the backend server is responsible for validating fields submitted. If validation does not pass, the page must "reload" for the user and it needs to show exactly what went wrong and preserve the user input. That's my definition of a site that reloads all the time. >> - mysql instead of sqlite, which also implies a mysql instance running > > SQLite is actually surprisingly resilient, according to [0]: > >> SQLite works great as the database engine for most low to medium traffi= c >> websites (which is to say, most websites). The amount of web traffic >> that SQLite can handle depends on how heavily the website uses its >> database. Generally speaking, any site that gets fewer than 100K >> hits/day should work fine with SQLite. The 100K hits/day figure is a >> conservative estimate, not a hard upper bound. SQLite has been >> demonstrated to work with 10 times that amount of traffic. > > But either way, I used sqlite to avoid setting up a RDBMS. > > [0] https://www.sqlite.org/whentouse.html SQLite is resilient but it's dangerous to use it with multiple threads like how your go server does. You could use a single channel model to write records one at a time but now you have a risk to lose data from memory if your service restarts. > >> - DOS protection, maybe some rate-limiting and IP blocking >> - HTTPS, thankfully it's easier now > > AFAIK these things can usually be handled by a frond-end such as NGINX. That's true it can, but that means you need to deploy and configure one. https://www.nginx.com/blog/rate-limiting-nginx/ https://nginx.org/en/docs/http/configuring_https_servers.html >> - monitoring, how do we know the service is running as expected >> - logging, and how to store logs for debug > > If there is any interest, extending the example to support this would be > feasible. The "20%" you mention aren't easy, but from what I see it > shouldn't be too hard either. You're absolutely right. None of it is "too hard". But the problem is just how much time and effort are we willing to put into it. If the goal is to make an open source polling platform that we can re-use in the future, then absolutely all of this can be done. But if we treat this as a one-off and see how it turns out, the scope seems exaggerated.