From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id OJaHGDgSk2AeVAEAgWs5BA (envelope-from ) for ; Wed, 05 May 2021 23:46:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id yHBOFDgSk2BUZwAA1q6Kng (envelope-from ) for ; Wed, 05 May 2021 21:46:32 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id D937A11563 for ; Wed, 5 May 2021 23:46:29 +0200 (CEST) Received: from localhost ([::1]:58710 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lePLg-0008Uu-J3 for larch@yhetil.org; Wed, 05 May 2021 17:46:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leOpF-00020C-K4 for guix-devel@gnu.org; Wed, 05 May 2021 17:12:57 -0400 Received: from mx1.riseup.net ([198.252.153.129]:58066) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leOp2-00055x-DB for guix-devel@gnu.org; Wed, 05 May 2021 17:12:57 -0400 Received: from fews1.riseup.net (fews1-pn.riseup.net [10.0.1.83]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4Fb8Yg10f4zDqCb; Wed, 5 May 2021 14:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1620249159; bh=nMbVJ/Gx5YDTiVDjKvoSnaMPBsrWRJwXVdEyAJu7JaE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=DVXhjgdRx7WxtAZEiO0yrZy3LIpTDM2Ow3LOai4gM4tWIXDeovlI1JGL3TNcXCzJD 4CEYshGALp9DNiwz5W68k8AVm3TVZsyXNa/yuIOR1H2NbXexr+hhN7ybdEyVcrb+FD VKdGaP2WL1w37cTQLc0qGziJ2plL4zQ8Tl/CeLL0= X-Riseup-User-ID: 12C84FC34C6BBBCBCE07E78C46450AD64F465C85AAA7388388E3360849D34293 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews1.riseup.net (Postfix) with ESMTPSA id 4Fb8Yf1dVdz5vVf; Wed, 5 May 2021 14:12:38 -0700 (PDT) Date: Wed, 5 May 2021 23:11:40 +0200 From: raingloom To: Denis 'GNUtoo' Carikli Subject: Re: Making technology more inclusive Was: Leaving the GNU Guix community Message-ID: <20210505231140.1f59ba87@riseup.net> In-Reply-To: <20210502021531.4a363795@primarylaptop.localdomain> References: <888c71d21bbbc8dc7e8b4d5396694c83@zaclys.net> <20210502021531.4a363795@primarylaptop.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=198.252.153.129; envelope-from=raingloom@riseup.net; helo=mx1.riseup.net 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, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1620251190; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=h7wzEV5IXyisaR9DwlX+2WGbd6YTLaG/5EmtaDjsu90=; b=tZj5VpvqMIHXI0cz3ZBN/y7t0YVIYFnha853aC//bLCLC5vyohB4KVeloQmL21d0FkyzvE /HgGLmMOtZXE4moYLroY3QO1kOdDVnbFgAhVU0BwbKynPnGLO9y8k2uG6pN6gfFr03vGy/ owdEOuCbaWjDf/HttCxctjLqYokpxRNxZfz99eHc267wEj8JEPTmc4e8GkC6kc2/jkpW+b Tr1nnylCZueoA4Cv7Nve2M+C7xujnAsxpC3cLWoTC/2VulAn6KIeleeKhyGcrvInle8bqB TIwLWdPwxKSrtL0LwOhHZJMBolVlvWueTcpfhoteTcprq3VczxgRv060iMvP6w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1620251190; a=rsa-sha256; cv=none; b=N49SBxCnTbPeLLhnO2Vm3L4ZUgAcqdwdOu2y6h3pmV8DdzjipmFfdyFR8nNR3BdWiFFbY6 kZ9+qvCWTlTvyMhJ2y3L5CND8W82f9mYrIAWby41yhXyNQGKYiakDZZhf52ciKM6wWIe9p 2u/LpOPQz976y/8RrFXEJupovueqL/5IHQWUKY/qRGTtAqguB0yC9GBHpDm6v9kb904dd3 23d3HTCSINgyUNWP2Cg5vJczObxV9cU71FiojFBsMG3u+OsYWXiIysMtznyR2Zv2l8n2WU Qul3cO4W4ppP2vmBlYrYuhwBLWdajKUge3/W3ibiqwpf1l8EU1zRL0lmNoHr0Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=DVXhjgdR; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.37 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=DVXhjgdR; dmarc=fail reason="SPF not aligned (relaxed)" header.from=riseup.net (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: D937A11563 X-Spam-Score: -1.37 X-Migadu-Scanner: scn0.migadu.com X-TUID: npMcV1bR0tAs On Sun, 2 May 2021 02:15:31 +0200 Denis 'GNUtoo' Carikli wrote: > On Fri, 30 Apr 2021 01:43:37 +0200 > Leo Le Bouter wrote: > > > I think that the technicality of software development must be > > redefined so that the hierarchy between the experienced and the > > beginner disappears [...] > I've been thinking a lot about these topics, and there are radical > solutions that can work today, but the scope is quite limited. > > Sadly, technology in general is way too complex to enable any > individual to be able to practically exercise the freedom to modify > how it works at every level A lot of complexity is essential complexity. Just as an example: type systems are more complex than dynamic typing, but they would make it easier to safely customize code without breaking crucial invariants. Also s-expressions being "parsable" does not make them much better, because often you have no way of knowing what type some piece of code expects. They are better than sed, but they only enable intelligent refactoring, they don't provide them automatically. I am often more productive in Haskell than in Scheme, because I don't waste time tracking down trivial errors that can be caught by a type system, and because it has (and pervasively uses) typeclasses (aka.: "interfaces"), so I can just use fmap instead of map, vector-map, bytevector-map, and so on. Of course you can add type systems to otherwise dynamic languages too, so this isn't a dichotomy. Simplicity also shouldn't come at the cost of efficiency. A compiler is more complex than an interpreter, but it lets you target a wider array of hardware. There is a lot to be improved in programming languages and libraries, but there there is a complexity bedrock you can't dig under. Re: Symbolics. Look at a Symbolics demo if you want to see some frankly embarrassing performance. Genera had interesting ideas but no one who values making the most of their hardware is going to be using it. And remember, it was even slower on Symbolics hardware, because they couldn't iterate their CPU designs quickly enough, whereas general purpose CPUs just kept getting faster and cheaper. Also Lisp compilers became better at targeting generic ISAs. But there are interesting ISA designs that actually do improve performance. My favorites: * Mill https://millcomputing.com/ * Reduceron https://github.com/tommythorn/Reduceron * CHERI https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ As for languages, I want to see more types, generics/typeclasses, effect systems, and more AOT or multi-stage compiled implementations. Anyways, complexity probably won't entirely go away. It's very difficult to make an already complex system simpler, building a new simpler one is easier, which is sad, because I don't think we can afford not being compatible with existing software and especially existing hardware. But having a VM based system could help with both. See the classic talk: The Life and Death of Javascript. Oh and we should heed Chris Webber's advice and work on OCAP security. Because yeah, simplicity also mustn't come at the expense of security, but OCAP would make things both simpler and more secure. So, yeah, a lot of this complexity is going to stay, but we can at least try to not make it worse. Oh, and social issues won't be solved by technology alone. There will always be complex technological issues and the distribution of the knowledge to tackle them is a social issue. We have to make our communities inclusive for vulnerable people if we want to actually meaningfully help them. Also sometimes you just have to work on featues that other people want, not just features you want. ps.: on that note, go ask some blind people about the state of accessibility on Linux. It's not pretty. And stop writing curses TUIs. And in general just go learn about accessible design and test software with actual humans. Okay, I'll stop here because this is a complex topic (quite fittingly) and this mail is already (too) long enough.