Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"World domination. Fast" (By Linus Torvalds)


devel / comp.lang.python / Re: Question(s)

SubjectAuthor
* Re: Question(s)Chris Angelico
`- Re: Question(s)Greg Ewing

1
Re: Question(s)

<mailman.47.1698197580.3828.python-list@python.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=24191&group=comp.lang.python#24191

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.niel.me!nntp.terraraq.uk!nntp-feed.chiark.greenend.org.uk!ewrotcd!fu-berlin.de!uni-berlin.de!not-for-mail
From: ros...@gmail.com (Chris Angelico)
Newsgroups: comp.lang.python
Subject: Re: Question(s)
Date: Wed, 25 Oct 2023 12:32:46 +1100
Lines: 56
Message-ID: <mailman.47.1698197580.3828.python-list@python.org>
References: <CAPpdf58WXyJs+Rd_GnbS-6dW8bPNt5DsojnVN5_ep+ebNx36Pw@mail.gmail.com>
<58b56dbe-646c-4a94-8102-ac2cf6efe233@tompassin.net>
<CAPpdf5_WVe07YVm-dZVV1mpZSWB6v4Z0itRsfYxYVdt8bWt0Ng@mail.gmail.com>
<da70b32a-28a3-4a7d-a403-53906cade994@tompassin.net>
<CAPTjJmoEfqBYrHh15X3hLqUAAZuTma5FrQyUFjFD8k659ObkEw@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Trace: news.uni-berlin.de O2hwk78JypItzTpA2b4MEg0uDkDE2Z1ZY/yI6iNPAmDw==
Cancel-Lock: sha1:0hK9SItSelD9IkQgrHJgVQFbUwU= sha256:um/v8lylX56Y0xLfq+c2z5SHdR8tfybFfH+fz5JTo6k=
Return-Path: <rosuav@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=DZuiglvF;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.013
X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; "python's": 0.05; '2023':
0.07; 'failures': 0.07; 'formal': 0.07; 'programmer': 0.07;
'tests': 0.07; 'bot': 0.09; 'example.': 0.09; 'fewer': 0.09;
'fundamental': 0.09; "hasn't": 0.09; 'assumptions': 0.16; 'bugs.':
0.16; 'chrisa': 0.16; 'commit': 0.16; 'computers': 0.16;
'correcting': 0.16; 'does,': 0.16; 'for.': 0.16;
'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16;
'happen.': 0.16; 'humans': 0.16; 'impossible': 0.16; 'layers':
0.16; 'means.': 0.16; 'received:mail-lf1-x136.google.com': 0.16;
'redundant': 0.16; 'rewrite': 0.16; 'spot': 0.16; 'those?': 0.16;
'to?': 0.16; 'typing': 0.16; 'wrote:': 0.16; 'code.': 0.17;
"can't": 0.17; 'guidance': 0.19; 'subject:Question': 0.19;
'to:addr:python-list': 0.20; "i've": 0.22; 'basically': 0.22;
'code': 0.23; 'goal': 0.23; 'run': 0.23; '(and': 0.25; 'help.':
0.25; 'saying': 0.25; 'space': 0.26; "isn't": 0.27; 'else': 0.27;
'fact': 0.28; 'computer': 0.29; 'it,': 0.29; 'error': 0.29;
'program': 0.31; "doesn't": 0.32; 'everyone': 0.32; 'cool': 0.32;
'half': 0.32; 'issues.': 0.32; 'python-list': 0.32; 'users.':
0.32; 'message-id:@mail.gmail.com': 0.32; 'but': 0.32; 'release':
0.34; 'able': 0.34; 'mean': 0.34; 'header:In-Reply-To:1': 0.34;
'received:google.com': 0.34; 'from:addr:gmail.com': 0.35; "we're":
0.35; 'system,': 0.36; 'people': 0.36; 'those': 0.36; "it's":
0.37; 'this.': 0.37; 'developers': 0.39; 'use': 0.39; 'to.': 0.39;
'wed,': 0.39; '(see': 0.40; 'learn': 0.40; 'both': 0.40; 'url-
ip:104.21/16': 0.61; 'job.': 0.62; 'here': 0.62; 'come': 0.62;
'subject': 0.63; 'ever': 0.63; 'great': 0.63; 'willing': 0.64;
'our': 0.64; 'key': 0.64; 'becomes': 0.64; 'flight': 0.64;
'others,': 0.64; 'subject:(': 0.64; 'your': 0.64; '100%': 0.66;
'prevent': 0.67; 'that,': 0.67; 'further': 0.69; 'century': 0.69;
'lives': 0.69; 'perfectly': 0.69; 'ability': 0.71; 'knowing':
0.71; 'plus': 0.73; 'tools': 0.74; 'features': 0.75; 'guarantee':
0.76; 'proven': 0.76; 'safety': 0.78; 'major': 0.78; 'unit': 0.81;
'perfect': 0.82; 'variety': 0.84; 'catch': 0.84; 'moon': 0.84;
'moon,': 0.84; 'protection.': 0.84; 'greater': 0.91
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1698197578; x=1698802378; darn=python.org;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:from:to:cc:subject:date:message-id:reply-to;
bh=Bwb/k+INuy7C/8ujMCXG7USuUBk/sUPv8EQbkgg7Wbo=;
b=DZuiglvFBWk/BJSheRFNOipKM9tZwxlIvIR7ICFLvYUcX+D6atUKFTlYs4nfccAumu
9LbIPjHwRCtJBIzYHtF2oZm3ztukBYSiV7a7wi7IpIb6i6XmiCSnnqpbtqTDwaGbroRL
3qrkHwpym8gVfK5N61ptUgLAEkCohlG4jMkw2n3hp142rKxvvgJOfmRUGsdVnUswK8fE
7WopkIaJ2KTHHq9cqL6gUbTpSJLeidO7woAE5uu9HzDb40Yj8L4c/fbpOX/LvCWotEim
Yz5n3R66Q9WriBQ/D8UiPwvGAUyODFWtwRt8f6L88QT2tr8jr5M9+PYt/1N6J2dldPtj
RIxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1698197578; x=1698802378;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=Bwb/k+INuy7C/8ujMCXG7USuUBk/sUPv8EQbkgg7Wbo=;
b=G+NRXXUEIenfXeoer4CAQ9+/H4zOezcfaN9EzTKKk5hEsvGhNYhPfyEDNzgzyrmDZl
JxLI+2myhvtix83QCZ6Up0sMzJWVwVeA1HNeU0E47e4a3CQcEHRkm6WsEGry75qQDvWC
r4gP9v6qUziP3h7Y50lhmmpTOODbYZuweyKGCypLcEZhdtHrhqdAowTa0ADHOKdSr17k
4KJCnFJ79aydqcJdMMQ8Ja/c67qKXLjtEd++ClMSVloT6qQIY59IebpsVNkDWWzX87aR
/eCondBkqUEMqDH5wY4O5rib0ZoOs/I/MiGxtZcCuxERXxe5zhvEoEOhCRz70voBeZPG
jV1g==
X-Gm-Message-State: AOJu0Yw3dDkFwpp/QitRibJFclHNEYA3vHdI9U8Ofs4/ARO5AKxyPsLq
btwufAdHs334vjim8/ruSgdcfcm/h4QNcsh9vL/AuZQrq8s=
X-Google-Smtp-Source: AGHT+IEdav24CkfMFhNL/CpKnlgi0ISCb1bBGtrH+D4OfIUrGTqdlLbLKpUB11f5vPZGZnMzswz2sIg61B9BYdSEA0E=
X-Received: by 2002:a19:8c05:0:b0:507:b7b7:e740 with SMTP id
o5-20020a198c05000000b00507b7b7e740mr9505701lfd.43.1698197577501; Tue, 24 Oct
2023 18:32:57 -0700 (PDT)
In-Reply-To: <da70b32a-28a3-4a7d-a403-53906cade994@tompassin.net>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <CAPTjJmoEfqBYrHh15X3hLqUAAZuTma5FrQyUFjFD8k659ObkEw@mail.gmail.com>
X-Mailman-Original-References: <CAPpdf58WXyJs+Rd_GnbS-6dW8bPNt5DsojnVN5_ep+ebNx36Pw@mail.gmail.com>
<58b56dbe-646c-4a94-8102-ac2cf6efe233@tompassin.net>
<CAPpdf5_WVe07YVm-dZVV1mpZSWB6v4Z0itRsfYxYVdt8bWt0Ng@mail.gmail.com>
<da70b32a-28a3-4a7d-a403-53906cade994@tompassin.net>
 by: Chris Angelico - Wed, 25 Oct 2023 01:32 UTC

On Wed, 25 Oct 2023 at 12:11, Thomas Passin via Python-list
<python-list@python.org> wrote:
> This doesn't mean that no program can ever be proven to halt, nor that
> no program can never be proven correct by formal means. Will your
> program be one of those? The answer may never come ...

Indeed, and I would go further and say that, in any non-trivial
system, it is impossible to completely 100% prove that it is perfectly
correct. Sometimes you might have perfect mathematics and software,
but only subject to certain assumptions about the environment. Or
about the users. More commonly, you build a system so that failure
becomes vanishingly unlikely.

Take space flight as an example. Computers have been vital to the
safety of human lives in space pretty much since humans have been
going to space at all. How do you make sure that the Apollo Guidance
Computer works correctly when you need it to? Multiple layers of
protection. Error correcting memory, redundant systems, and human
monitoring, plus the ability to rewrite the guidance software on the
fly if they needed to. Even when people are being sent to the moon,
you can't completely guarantee that the software is perfect, so you
add other layers to give greater protection.

(And more recently, both India's "Chandrayaan 2" and Japan's
"Hakuto-R" unmanned moon missions crash-landed due to software issues.
A half century of improvements hasn't changed the fundamental fact
that building a perfect system is basically impossible.)

So is all hope lost? No. We learn from our mistakes, we add more
layers. And ultimately, we test until we're reasonably confident, and
then go with it, knowing that failures WILL happen. Your goal as a
programmer isn't to prevent failure altogether - if it were, you would
never be able to achieve anything. Your goal is to catch those
failures before they cause major issues.

1. Catch the failure as you're typing in code. Done, fixed, that's
what the Backspace key is for.
2. Catch the failure as you save. We have a lot of tools that can help
you to spot bugs.
3. Catch the failure before you commit and push. Unit tests are great for this.
4. Catch the failure collaboratively. Other developers can help. Or
you can use automated tests that run on a bot farm, checking your code
on a variety of different systems (see for example Python's
buildbots).
5. Catch the failure in alpha. Release to a small number of willing
users first. They get rewarded with cool new features before everyone
else does, in return for having fewer guarantees.
6. If all else fails, catch the failure before it kills someone.
Design your system so that failures are contained. That's easier for
some than others, but it's part of why I've been saying "system" here
rather than "program".

Eff up like it's your job.
https://thedailywtf.com/articles/eff-up-like-it-s-your-job

ChrisA

Re: Question(s)

<kq1a1fFocrhU1@mid.individual.net>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=24257&group=comp.lang.python#24257

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: greg.ew...@canterbury.ac.nz (Greg Ewing)
Newsgroups: comp.lang.python
Subject: Re: Question(s)
Date: Fri, 27 Oct 2023 21:17:51 +1300
Lines: 17
Message-ID: <kq1a1fFocrhU1@mid.individual.net>
References: <CAPpdf58WXyJs+Rd_GnbS-6dW8bPNt5DsojnVN5_ep+ebNx36Pw@mail.gmail.com>
<58b56dbe-646c-4a94-8102-ac2cf6efe233@tompassin.net>
<CAPpdf5_WVe07YVm-dZVV1mpZSWB6v4Z0itRsfYxYVdt8bWt0Ng@mail.gmail.com>
<da70b32a-28a3-4a7d-a403-53906cade994@tompassin.net>
<CAPTjJmoEfqBYrHh15X3hLqUAAZuTma5FrQyUFjFD8k659ObkEw@mail.gmail.com>
<mailman.47.1698197580.3828.python-list@python.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net aBXEVn13qbwT60bYsYSSqwTtLxNKP3yNlo3NoSsbtpWKMHBnY2
Cancel-Lock: sha1:67ZBVyZeTwE6+HffjihhUE9RBrA= sha256:gxY4Go/+UJFAEtOAp+b0sphZfsVaG3j7YnZNWK7T2aU=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:91.0)
Gecko/20100101 Thunderbird/91.3.2
Content-Language: en-US
In-Reply-To: <mailman.47.1698197580.3828.python-list@python.org>
 by: Greg Ewing - Fri, 27 Oct 2023 08:17 UTC

On 25/10/23 2:32 pm, Chris Angelico wrote:
> Error correcting memory, redundant systems, and human
> monitoring, plus the ability to rewrite the guidance software on the
> fly if they needed to.

Although the latter couldn't actually be done with the AGC,
as the software was in ROM. They could poke values into RAM
to change its behaviour to some extent, and that got them out
of trouble a few times, but they couldn't patch the code.

It might have been possible with the Gemini computer, since
it loaded its code from tape. I don't know if it was ever
done, though.

--
Greg

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor