* Posts by fg_swe

1324 publicly visible posts • joined 20 Nov 2021

TSMC founder says 'globalization is almost dead' as Asian foundry giant expands in US

fg_swe Silver badge

Re: Oh IT Man

Here is a great video on Wild Weasel https://www.youtube.com/watch?v=fHpsaasL5gM

It truly was an epic fight between soviet and american electronics engineers. A fight between Russian missile soldiers and American airmen/flying sailors. Not just the SAMs, also the radar controlled Flak and the ground-radar guided Mig19s, Mig21s.

America lost that one, because they were complacent.

After that, won over Iraq and Lybia almost with ease. They did not have the latest Russian electronics and not the Russian electronic soldiers.

fg_swe Silver badge

Re: Oh IT Man

The modern Wild Weasel is the ECR Tornado and the EF18 GROWLER.

Apparently the USAF and RAF currently dont do this role, but this can change in a blink of an eye.

fg_swe Silver badge

Oh IT Man

You think you know all when you know nothing.

In Viet Nam, russian made and operated SAMs were masterpieces of control and radio electronics then.

They blew something lin the order of 50% of US fighters and bombers out of the sky.

Read up on Wild Weasel if you want to know why they did not shoot 100% of US planes.

Google says Android runs better when covered in Rust

fg_swe Silver badge

Automotive MISRA Experience

I was part of auto software engineering projects up to ASIL-D. I say this:

1.) MISRA C subset is definitely useful and makes sense for other domains, including datacenter, phone, PC.

2.) MISRA C will do little to prevent integer under/overflows or index errors. Static checkers (PC Lint, PolySpace) do help here. They are now mandated in most projects. Static checkers have limited power, though. Sometimes runtime checks are required to be memory safe. C cannot do that. MISRA or not. SPARK Ada, Rust, Sappeur, do dynamic index checks.

3.) Using C in safety-critical domains (auto, rail, aerospace, medical) is a second-rate decision. SPARK Ada is still superior in many ways. Engineers who can write C can be made to write Ada, but C can never be made as safe as Ada, even with static checkers tacked on.

fg_swe Silver badge

Re: Singularity OS

All of the WNT kernel had serious memory error exploits, including the TruType font subsystem they dragged into the kernel. Visit a "bad" website with poisoned fonts, have a kernel exploit !

fg_swe Silver badge

Re: Unisys MCP Algol Heap Memory

Unisys implemented lots of software in Algol, including compilers. I fail to see how they could have done that without heap memory.

And I can imagine that they built heap memory management into the OS. Essentially you declare a pointer, dereference it and MCP will allocate the object/array "on the fly". MCP experts please correct me if I am wrong.

They can then run mark+sweep in the MCP system, just like the JVM does.

https://www.informit.com/articles/article.aspx?p=1671636&seqNum=3

Unisys is not bound to limit themselves to the official Algol standard.

fg_swe Silver badge

Automotive and Aerospace Software Safety

I hasten to add that modern software engineering processes (ASPICE, V-Modell etc) have several lines of defense against software engineering errors. Auto drivers do not have to worry too much, neither do AIRBUS passengers or pilots.

First, there is thorough documentation, secondly thorough design steps. Thirdly, upwards the V, there is a cascade of Unit, Software and HIL Test batteries. Even if we did not use static checkers, these comprehensive test efforts would most likely find dangerous bugs.

AIRBUS likewise has a an almost perfect record in both JÄGER90 and commercial airplanes since A310 and later. Not a single loss of aircraft due to flight control software and hardware !

They have even more measures in place, including the use of SPARK Ada. Much better than C.

fg_swe Silver badge

Re: Android runs better when covered in Rust

As long as the p........ improve practical computer science, we should applaud them ;-)

fg_swe Silver badge

Yeah, Rambling

I currently write code for automotive software, some of which is ASIL-B. I worked on electric/electronic power steerings, which are up to ASIL-D. All in C plus static checkers such as PC Lint and PolySpace. Both tools typically find plenty of issues(index errors, integer under/overflows,...) in the code of experienced engineers. Maybe your car contains this code and your life depends on it.

Apple Swift was inspired by my language

http://sappeur.ddnss.de

Even though Apple made serious shortcuts on efficient Reference Counting (all Swift ARC is MT safe, which is both inefficient and enabling one type of error).

If you want to see some of my source code, please feel free to look here

http://gauss.ddnss.de

fg_swe Silver badge

Re: But

A) In many cases (e.g. for loops), the index checking of a Rust, Java or Sappeur program could be turned into an O(1) operation.

B) I was referring to: obtaining a pointer into the middle of an array, then incrementing or decrementing w/o any sanity check of the runtime system or the compiler.

B2) I have seen plenty of that cr4p, because some people did not know STL and abused an MFC integer array to store pointers. Oh yeah, and void* pointers and lots of other obscenities.

C) Multicore CPUs are now standard, even in laptops of the $1000 range. In the datacenter, we have multithreading since 1998 or so. Even the world of auto now uses multicore MCUs for demanding things like video processing.

fg_swe Silver badge

Unisys MCP Algol Heap Memory

From

https://en.wikipedia.org/wiki/Burroughs_large_systems_descriptors

"Also, low-level memory allocation system calls such as the malloc class of calls of C and Unix are not needed – arrays are automatically allocated as used. This saves the programmer the great burden of filling programs with the error-prone activity of memory management, which is crucial in mainframe applications."

They do not need "new" or "malloc", as the CPU+OS will handle dynamic memory allocation and freeing !

In other words, the whole idea of explicit memory allocation is not the only viable one.

fg_swe Silver badge

Yeah

When you don't write totally memory-error free C++ code, you do Perfect Braking, correct ?

Also when two wheels are on ice and the other two on concrete, you operate each wheel's brake independently using four finger switches ?

fg_swe Silver badge

Re: Static C++ Checkers

There are very few languages which model multithreading in the type system. Sappeur is one of the first to do so.

fg_swe Silver badge

Re: Real World

The quick+dirty Huawei stuff is especially dangerous, because it is coded in C and C++.

I was responding to your claim that telephone software would be somehow more robust. Maybe that was a feature of the past.

fg_swe Silver badge

From the Trenches

https://groups.google.com/g/comp.sys.unisys/c/5apvpaA2fZs

fg_swe Silver badge

Burroughs Algol Mainframes

https://www.digm.com/UNITE/2019/2019-Origins-Burroughs-Algol.pdf

Definitely a much better concept than C+Unix and the IBM/360 world of untyped memory. But alas, cheaper often wins over better. At least initially.

fg_swe Silver badge

Really ?

Please have a look at the Algol mainframes. They definitely have very interesting memory safety features.

https://www.theregister.com/2020/05/15/algol_60_at_60/

https://en.wikipedia.org/wiki/Burroughs_large_systems_descriptors

fg_swe Silver badge

Real World

In the real world, engineering managers are in most cases not the best+brightest engineers. Rather, they know how to "herd cats". Social skills.

If "all other engineering managers" use C, they will do that too. Regardless of the consequences.

In other words, improvements of software security and safety will come from engineers+scientists, not managers.

Modern day telephone software apparently is quick+dirty stuff, which is why the phone network now has one-day-crashes per three years or so. A long time ago, they aimed for "5 minutes in 30 years". The days of ISDN.

https://www.softwaretestingnews.co.uk/21345-2-gchq-director-huaweis-engineering-very-shoddy/

fg_swe Silver badge

But

Both have very similar memory safety issues:

A) unchecked array access

B) funny raw pointer stuff

B2) super funny pointer casting (e.g. int to pointer)

C) lots of problems from a lack of proper multithreading safety model in the type system

fg_swe Silver badge

Algol "heap" keyword

Look it up. It is comparable to Java's new. Implementations would use a mark+sweep collector to reclaim the memory after use.

fg_swe Silver badge

Dornier 31

I never said it was cheap. But it still has the best performance of all planes in its class. And also the best safety record. Only slavery is cheap.

fg_swe Silver badge

FALSE

You bring up the "good software engineers don't produce memory errors" argument once more. In reality, even the most seasoned engineers then and now have Covid 3333(a.k.a. "flu"), a fight with their wife, trouble with a teenage kid or the like. Bang, memory error.

It has happened in ALL major systems from HP/UX kernel to VxWorks TCP/IP stack. In between, WNT, Linux kernel, Unix user land, Solaris make, g++, YOU NAME IT.

fg_swe Silver badge

Singularity OS

Microsoft already had it running in the labs, but decided not to offer it as a product. It could have threatened their millions-of-lines-of-C++-code hairball WNT.

https://www.microsoft.com/en-us/research/project/singularity/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fprojects%2Fsingularity

fg_swe Silver badge

Unsafe Sections

Obviously, unsafe code sections should be

A) Minimized

B) Ideally only in low-level libraries (e.g. file access, sockets, specialized I/O such as reading an A/D converter)

C) Thoroughly reviewed by senior engineers

Engineering is never about 100% risk avoidance, but about minimizing and controlling risk. Those who want religious perfection should go into a monastery and better shut up for the rest of their (sorry) life.

fg_swe Silver badge

Memory Safety and Crashing

Note that a deterministic crash, which stops the program and yields a debuggable core file is much more useful than the "undefined behavior" stuff you can get from the equivalent C++ program:

A) silent compromise by a cybernetic attacker. Reconnaissance of secret data, commandeering of the program and the attached system.

B) a "mysterious" crash much later, in a totally unrelated code module, because a bug in module A affected the memory of module F.

C) "mysterious" crashes in dozens of unrelated pieces of code due to one multithreading error destroying the heap basically at random

Memory Safety is NOT about perfection, but about Containing Bugs Where They Occur.

fg_swe Silver badge

Static C++ Checkers

Are you sure these static checkers are as complete as the Rust or the Sappeur compiler ? For example, will they detect unsafe multithreading under all conditions ?

Most of these checkers are heuristic tools with lots of value, but definitely not as complete and strict as the compiler of a memory safe language.

Mr Stroustrup makes similar claims, but I still miss a description of how he intends to achieve similar safety with a C++ compiler and some static checker bandaids.

fg_swe Silver badge

Male Cow Stuff

You claim that seasoned software engineers using C++ never had trouble with memory errors. Which could only mean that rookies worked on WNT, Linux Kernel, Unix kernels, Solaris make, Unix Userland tools, yacc and lots of other widely used programs. Because ALL of them had serious memory errors, which were often discovered decades after their creation.

Remember the HP/UX Ping of Death ?

Remember the exploitable memory errors in the TCP/IP stack of VxWorks ?

Remember how lots of memory errors were found in "well aged" Unix user land tools the first time they were executed under valgrind ?

Then you claim that "SoftICE" would be of help to detect memory errors. I cannot see how.

Conclusion: you have a nice life off C and C++ development and you don't want to learn anything new. So you blasted out some lies and half-truths.

fg_swe Silver badge

Re: Lying Cheating

I assume this is good old F.U.D. propaganda, completely devoid of substance.

fg_swe Silver badge

"50 Year Old"

We Swabians have a 50 year old aircraft in the museum, which is still better than anything else in this class:

https://www.youtube.com/watch?v=x3YueCf1JeI

Higher payload, higher speed, better range than the V22. Killed no-one, while the V22 killed more than 40 airmen(not due to enemy fire !).

fg_swe Silver badge

Re: Algol Mainframes ?

Also See

https://retrocomputing.stackexchange.com/questions/7953/first-language-with-c-like-memory-management

https://news.ycombinator.com/item?id=5349354

https://rosettacode.org/wiki/Memory_allocation#ALGOL_68

https://twitter.com/enf/status/1049453387492679682

https://www.dcs.gla.ac.uk/~wpc/hi/heaps.pdf

It looks like the Algol standard never specified how to collect garbage, though.

A comment from an Algol mainframe programmer would definitely be useful in this discussion.

fg_swe Silver badge

Algol Mainframes ?

If that would be true, how could the Algol Mainframes of ICL, Burroughs and IPMCE be useful computers at all ?

How did they manage without heap memory ?

I must concede I do not have first-hand knowledge of Algol, but from what I can read they did have several memory safety features such as index checking and hardware memory typing.

fg_swe Silver badge

ABS Brake

"ABS Brakes make driving much more safe, but you can still kill yourself by reckless driving"

fg_swe Silver badge

Good To Hear !

After working since 2006 to promote Memory Safe Languages as the last and most mighty line of defence against cybernetic threats, I applaud Google's efforts to use Rust in Android.

The idea of memory safety is not exactly new, the Algol Mainframes did have some memory safety features in the 1970s. It was AT&T, who considered it a luxury and promoted Unix and C instead. One hit into the Linux or Windows MegaKernels, and the ship is sunk.

If Microkernels are like frigates with 10 or more compartments, memory safe operating systems are comparable to ships build from metallic foam. Such a ship can take many hits without going under.

Twitter is suffering from mad bro disease. Open thinking can build it back better

fg_swe Silver badge

Calm Down

1.) Calling other people "rats" should be reserved for extreme circumstances.

2.) Musk defintely has done some great things. Rockets which can land in one piece, practical electric cars, mass produced,...

3.) Communist rage never produced anything economically useful, quite the opposite. A good CEO does add immense value: Jobs and Packard come to mind. Can you imagine a ship without a strong captain ?

fg_swe Silver badge

The Spirit of the WWW

The greatness of the WWW comes from the idea that we do not have centrally controlled systems, with central censorship. Rather, everybody can run his or her own little WWW server. No censorship, except if you start to utter death threats. A DSL Modem, an RPI, free software plus free DynDNS is all you need. The local Linux user group can assist you to set this up.

Of course the journalists of the big media companies will not like this, as they lose some of their power. FB and Google will not like it, because they lose the power to simply delete or hide your writings. The financiers behind these corporations will not like it, because they lose power, too.

Still, We The People, should run our own little servers. Power concentration (also in media) was a key feature of communism and nazism. Not good.

When you have your ideas written on the WWW, you can always use the URLs in a Twitter, Telegram, WhatsApp, DeltaChat, FB discussion. They might kill the discussion, but your WWW pages survives and you can always send the URL again.

While doing so, never lose your spiritual compass. Aim to be as friendly as possible.

Elon Musk issues ultimatum to Twitter staff: Go hardcore or go home

fg_swe Silver badge

Remember how he inserted himself in the cave rescue affair?

Its all about Being In The News. Keep investors buying TSLA etc.

fg_swe Silver badge

Elon Genius

He must be in the news to keep investors interested in the stock of his companies.

So he abuses Twitter to stay in the news. Obviously he plans to burn the 40 billions of Twitter worthiness and at the same time pump TESLA to new highs.

Not illiegal, but unconventional to say the least.

Swiss bankers warn: Three quarters of retail Bitcoin investors are in the red

fg_swe Silver badge

Re: ANSWER

Having said that, we are still all scraping along and nobody should dare to attack us. NATO as a whole is the greatest empire the earth has ever seen, both in geography, number and quality of weapons. Our servicemen are trained to qualities never been seen or matched.

fg_swe Silver badge

Re: ANSWER

Acoording to his Wiki page, he also sold a 14000000 mansion for 100 to his wife. Typical.behaviour of a criminal who fears being hit with a compensation claim.

Thats the NATO problem: the bankers were allowed to morph into bankrobbers.

fg_swe Silver badge

ANSWER

Many people no longer trust the Fiat money system, because of crazy zero percent interest policies.

Bitcoin is finite, which makes it an attractive Wealth Store. Similar to Gold, Silver, Platinum,

If the central banks find a way back to Deutsche Mark, people will again invest in cash. In the 80s, DM was as good as gold!

I can still.remember being told how an interest rate of 3% was dangerously low. Now we have seen 10 years of zero, consequentially massive inflation. As predicted.

State oversight of banks has been craptastic and no criminal banker was ever thrown into jail. Not even the bookcooker FULD.

We now reap the fruits of lax oversight.

Eggheads show how network flaw could lead to NASA crew pod loss. Key word: Could

fg_swe Silver badge

Vetting?

Every single worker should be vetted by security agenciies.

Saboteurs can do plenty of bad things.

Country that still uses fax machines wants to lead the world on data standards at G7

fg_swe Silver badge

EuroCloud

+Raspberry PI Private Server instead of Data Socialism in a US corporation

+https://delta.chat/de/ True Privacy Chat

+LibreOffice out of Hamburg

+seL4 high security OS

+NextCloud private cloud

+https://www.onlyoffice.com/de/ private cloud office

+Qt open source GUI toolkit

+tCC high performance C compiler

+INRIA CompCert proven correct compiler

+GPG cipher

+ARM CPU

+Hetzner

+OVHCloud

+1und1

fg_swe Silver badge

Don't Wake Up This Dragon

https://www.youtube.com/watch?v=111IfEfuOrA

fg_swe Silver badge

Re: "Telefax"

Arguably, Japan is more powerful than the EU, if they only add nuclear weapons to their arsenal. In computing, they are ahead !

fg_swe Silver badge

"Telefax"

Japan is a leading nation in computing, if you consider Fujitsu, NEC and Hitachi companies. They are one of the few nations which can develop and produce CPUs which can compete with Intel and AMD. E.g. the SPARC and ARM CPUs of Fujitsu.

A nation of hard working and polite people, who also had nobel prize winners decades ago.

Their JSDF is also something to reckon with, having the ability to develop and produce all of their weapons themselves !

https://en.wikipedia.org/wiki/Mitsubishi_F-2

https://en.wikipedia.org/wiki/Mitsubishi_F-X#

https://en.wikipedia.org/wiki/ShinMaywa_US-2

https://en.wikipedia.org/wiki/Type_90_tank

https://de.wikipedia.org/wiki/Kawasaki_P-1

https://en.wikipedia.org/wiki/Japanese_space_program#HOPE_project

No, Japan is a Superpower In Waiting.

If only they could find a way to have more babies, Japan would have a glorious future.

NSA urges orgs to use memory-safe programming languages

fg_swe Silver badge

Well

There are plenty of smart people on the C++ standards committee. Maybe they will add a Memory Safety System to C++25 or so. The MSS would of course disable plenty of dangerous things and it would require additional syntax in order to delineate ST from MT datastructures.

One could envision that MSS-enabled compilation units would even integrate with NonMSS compilation units. This would allow for incremental transformation of a code base towards memory safety. As I wrote many times, this is about incremental improvements, not Purity.

fg_swe Silver badge

Referring to C++ Compiler

I was asking how a C++ Compiler would do this. I think it cannot, because C++ does not have a memory safety system bolted-on.

Something like a

g++ --memorysafe

switch. That switch would more or less turn the g++ into a SAPPEUR compiler. No more raw pointers, no more handing over arbirtrary pointers to thread functions, no more MT unsafe global data structures etc.

fg_swe Silver badge

Re: Well

Thanks. That is what I am saying for years now.