Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vb922p$3o9qp$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vb922p$3o9qp$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Terje Mathisen <terje.mathisen@tmsw.no>
Newsgroups: comp.arch
Subject: Re: Computer architects leaving Intel...
Date: Wed, 4 Sep 2024 09:26:16 +0200
Organization: A noiseless patient Spider
Lines: 111
Message-ID: <vb922p$3o9qp$1@dont-email.me>
References: <2024Aug30.161204@mips.complang.tuwien.ac.at>
 <memo.20240830164247.19028y@jgd.cix.co.uk> <vasruo$id3b$1@dont-email.me>
 <2024Aug30.195831@mips.complang.tuwien.ac.at> <vat5ap$jthk$2@dont-email.me>
 <vaunhb$vckc$1@dont-email.me> <vautmu$vr5r$1@dont-email.me>
 <2024Aug31.170347@mips.complang.tuwien.ac.at> <vavpnh$13tj0$2@dont-email.me>
 <vb00c2$150ia$1@dont-email.me>
 <505954890d8461c1f4082b1beecd453c@www.novabbs.org>
 <vb0kh2$12ukk$1@dont-email.me> <vb3smg$1ta6s$1@dont-email.me>
 <vb4q5o$12ukk$3@dont-email.me> <vb7b0v$3d1o7$1@dont-email.me>
 <vb8614$12ukk$5@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
Injection-Date: Wed, 04 Sep 2024 09:26:17 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="606cd5cacbb278ca156ab821d74f9569";
	logging-data="3942233"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+mlTFUbodeqjCwzHGiT1XyS51QRHXoslAlZ2TvL8IWUA=="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:5wpAg0MR4d9TtSpdED8LlRAn5FM=
In-Reply-To: <vb8614$12ukk$5@dont-email.me>
Bytes: 5858

Stephen Fuld wrote:
> On 9/3/2024 8:46 AM, Terje Mathisen wrote:
>  > Stephen Fuld wrote:
>  >> On 9/2/2024 1:23 AM, Terje Mathisen wrote:
>  >>> Stephen Fuld wrote:
>  >>>> On 8/31/2024 2:14 PM, MitchAlsup1 wrote:
>  >>>>> On Sat, 31 Aug 2024 21:01:54 +0000, Bernd Linsel wrote:
>  >>>>>> You compare apples and peaches. Technical specifications for yo=
ur
>  >>>>>> pressure vessel result from the physical abilities of the chose=
n
>  >>>>>> material, by keeping requirements as vessel border width, geome=
try
>  >>>>>> etc.,
>  >>>>>> while compiler writers are free in their search for optimizatio=
n
>  >>>>>> tricks
>  >>>>>> that let them shine at SPEC benchmarks.
>  >>>>>
>  >>>>> A pressure vessel may actually be able to contain 2=C3=83=C6=92=C3=
=86=E2=80=99=C3=83=C2=A2=C3=A2=E2=80=9A=C2=AC=C3=A2=E2=82=AC=C2=9D the
>  >>>>> pressure it
>  >>>>> will be able to contain 20 after 20 years of service due to stre=
ss
>  >>>>> and strain acting on the base materials.
>  >>>>>
>  >>>>> Then there are 3 kinds of metals {grey, white, yellow} with=20
> different
>  >>>>> responses to stress and induced strain. There is no analogy in=20
> code--
>  >>>>> If there were perhaps we would have better code today...
>  >>>>
>  >>>> Perhaps an analogy is code written in assembler, versus coed writ=
ten
>  >>>> in C versus code written in something like Ada or Rust.=C3=83=E2=80=
=9A=C2=A0 Backing
>  >>>> away now . . . :-)
>  >>>
>  >>> IMNSHO, code written in asm is generally more safe than code writt=
en
>  >>> in C, because the author knows exactly what each line of code is
>  >>> going to do.
>  >>>
>  >>> The problem is of course that it is harder to get 10x lines of
>  >>> correct asm than to get 1x lines of correct C.
>  >>>
>  >>> BTW, I am also solidly in the grey hair group here, writing C code=

>  >>> that is very low-level, using explicit local variables for any loo=
p
>  >>> invariant, copying other stuff into temp vars in order to make it
>  >>> really obvious that they cannot alias any globals or input/output
>  >>> parameters.
>  >>>
>  >>> Anyway, that is all mostly moot since I'm using Rust for this kind=
 of
>  >>> programming now. :-)
>  >>
>  >> Can you talk about the advantages and disadvantages of Rust versus =
C?
>  >
>  > Q&D programming is still far faster for me in C, but using Rust I do=
n't
>  > have to worry about how well the compiler will be able to optimize m=
y
>  > code, it is pretty much always close to speed of light since the ent=
ire
>  > aliasing issue goes away.
>  >
>  > Rust also gets rid of the horrible external library/configure/cmake =
mess
>  > that kept me from successfully compiling the reference LAStools lida=
r
>  > code for nearly 10 years.
>  >
>  > Using the Rust port I just tell cargo to add it to my project and th=
at's
>  > it.
>=20
> Thank you.=C2=A0 I find it interesting that the main advantage of Rust =
as=20
> touted by its evangelists, memory safety, didn't make your list.

Possibly because, due to the way I've been writing C(++) code for the=20
last 40 years, I have almost never been hit by those problems myself?

OTOH, in retrospect I know I have written a lot of code that would not=20
have survived an experienced attacker, i.e. strcpy()/memcpy()/etc=20
without explicit checks that the target buffer is large enough.

This is of course fine in the classic "everyone is a friend, all code is =

open source, and nobody wants to actively attack us" environment, but=20
not so much for anything exposed to the Internet.

During my NTP Hackers time we never had memory overruns afair, but we=20
did get a lot of abuse when DoS attacks were using our by default open=20
debug/monitoring interface to amplify attacks on other systems. This was =

similar to the classic DNS abuse for the same purpose.

Yes, I do like the Rust memory safety, but it does nothing to prevent=20
attacks of that type: We had to switch from UDP to TCP for all requests=20
that could produce outputs larger than the input size.

Terje

--=20
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"