Here's some extracts from the manual's intro section. They should give a better understanding of the question "why?" The new language's tentative name is "STANDARD".
Our goal with STANDARD is simple: to create a compiler which generates safe, fast code for processors which provide hardware memory protection and privilege control. Our starting point was C, arguably the most awesomely efficient language on the planet, but whose unbridled power exposes razor-sharp edges to the unwary. It is impossible for a C compiler to generate universally efficient safe code. In keeping with its first incarnation as the original systems language, C guarantees complete and unfettered access to the computer's hardware, including all memory without limitation. These implicit guarantees that C makes cannot be kept if in application mode, the hardware, for instance, will not permit random bits of data to be grabbed from anywhere in memory, or a chunk of data to be designated as executable code and forced to run. In C, string handling is simple but also incredibly dangerous - it is possible to overflow buffers, overwrite other data, and corrupt entire programs merely by concatenating two strings. Even by accident.
Ideally, a compiler should be able to guarantee all features its designers wish to grant the programmer, and ensure that those features work uniformly and safely; and firmly forbid any other features that cannot be guaranteed. This would create a reliable framework with no unexpected behavior that leads to sudden crashes. But then user-level applications, by necessity, must deny operations that only make sense to operating-system level utilities; they should not permit actions that compromise security, hinder efficiency, or annoy other users. So C is not the answer.
The safest language, historically, was COBOL. The largest repository of business programs, numbering in the millions, is now "legacy" code - because you could trust COBOL. Everybody appreciated decimal numbers that didn't give annoying binary fractions. But its wordiness and glacial pace didn't endear it to all, and the attempt to repair its unstructured jumping-around with the PERFORM verb was a pathetic failure that descended into monstrously sphagettified code - where the same paragraph could be simultaneously fallen-through and remotely PERFORMed.
BASIC was loved by the vast majority. It was a simple language that made no unnecessary promises. Its processes and assumptions were very much in line with the philosophy of secure processors, because it was implemented from the very beginning as a multi-user system where it was important to play nice with others; and a little tweaking was all that was necessary to make a safe, friendly, efficient server applications programming language.
Thus was born the concept of STANDARD: written in lightning-fast C, implementing the safety and reliability of COBOL and the friendliness of BASIC syntax, and incorporating the formidable mathematical toolkit of FORTRAN.
STANDARD is not intended for front-end applications, having no GUI features, and supports only server-side events. It is designed to crunch data and to service requests, and to do these as fast and efficiently as possible. It retains and enhances BASIC's reputation as the best text processing language ever designed; it is also perfectly suited for batch processing, periodic processing and reporting; and obviously for embedded services. FORTRAN's awesome number-crunching power, which was partially given to BASIC, has been implemented in full with double-precision and complex number support. For accuracy in business applications, currency values may be computed entirely in decimal. In fact, STANDARD guarantees that its data types, from 18-digit numbers and petabyte strings to 10-dimensional complex-number arrays, will work efficiently out-of-the-box in every implementation, thereby removing all concerns about portability.
In addition, the availability of certain software libraries is required. STANDARD uses the IBM Informix C-ISAM
I didn't want to make the intro too long, and I didn't want to turn off all the folks who think that BASIC sucks. But I programmed in it for ten years before switching to C, and I kept wishing that there could be a language that combined the speed of C, the friendliness of BASIC, the complex numbers and arrays of FORTRAN, the absolute reliability of COBOL's decimal math, and the stuff engineers always want like double-precision and FFT as built-in functions, and a bunch of connectivity options like hardware support and client/server connection implemented as pseudofiles, and painless implementation of shared-memory records, semaphores and locks.
So I sat down to write it. Then I found myself "improving" things like almost every day, and finally, two years later, the only thing that was current was the reference manual, because I believe that the manual should state how the software should work, and the software should just shut up and do it.
Don't get me wrong, I'm willing to do it; and I'm sure I can code (almost) every part of the design, but I can't do it in a realistic timeframe. My last project, which I did alone, was a set of servers for a banking application which had their own scripting language, and the banks running it have, over the last five years, developed a huge library of applications using that language, so I know that my work is reliable. And I've written terminal emulators, some graphic games for wyse-60/99 terminals that actually download code for the terminal itself, encryption and compression engines - you'll notice that most of this stuff is back-end programming. So I can code 90% of the design myself, and the rest is available as open source.
And I love teaching. I absolutely want to keep doing it as long as I can, because the kids are willing to listen, unlike my colleagues for the past thirty years, and they think I'm funny, which is great for my ego. But I don't want to throw away all the design work that went into my language stuff, so now I'm willing to give away the ownership if somebody out there agrees that it's a cool idea, or wants to take it in a slightly different direction, or anything positive.
Or I could just work on it quietly for the next few years, just like I'm doing now, but not making much progress. This is where I'm really conflicted.
I live in Sri Lanka, and I use an HP Color Laserjet. I got stuck with outdated toner cartridges (genuine HP, but over 4 years old) which just died. So I went to the official HP agent... and the manager tells me, "No, that warranty is invalid... are you kidding, warranties on toner?" So I guess the "worldwide" warranty only works if you're willing to go back to the USA and file a complaint there. Anywhere else, good luck.
Just prepare a 512-byte buffer with all "U" (uppercase letter U) and write a serial number on TOP of it starting with 1.
Then dump that buffer, incrementing the serial number as you go, until the disk is full.
1) Flash disk compression will fail because of the serial number, so all "spare areas" will be filled.
2) The "U" is a series of alternating 0s and 1s - very high hysteresis for magnetic drives.
3) Anybody assuming that "deletion" is only removing directory entries will be unpleasantly surprised.
Very easy with Linux and C.
What you want is a way to get SOMETHING to slow down. You can get that by getting something ELSE to speed up. Find two satellites you want to toss, connect with a tether cable, spin them up, cast one forward in orbit and the other backward. Presto, the backward one de-orbits, the other may attain escape and go elsewhere (lots of choices). Cost? only the cost of rotational energy - a tiny amount compared to anything else, can be got from a solar panel. (No propellent cost at all).
"We are sorry, but your Linux system has crashed. The Microsoft Code
that enables this feature is fully activated, but has not been
updated. Please log on to the Microsoft Update site to get a new
version of this exact same code. Now you may reboot your computer
and come back later to this screen."
In fact, it may, or may not, be useful; or it may be both useful and not-useful, or neither useful nor useless, or even a state between useful and un-useful. It may be useful to consider this further... or maybe not.
You said that the development people were fine with linux, and were pushing it for security reasons. That means they know your product, on linux, with security features turned on. They're the best source to find out which versions of Linux they're recommending and which ones the clients are using. On top of which, they can most easily convene a train-the-trainer session for several of your senior support people, including yourself, and can answer questions not only about Linux but more importantly about your application's behaviour under Linux. That's also the information your customers will most frequently want.
Hal Clement is definitely the most faithful to "real" science that I've ever read, even considering Isaac Asimov and Arthur Clarke. "Mission of Gravity" was superb... I think I read it about a hundred times, and I first read it at 16. Many, many years ago, but it started me on a quest on science that has not yet ended.
Don't be so shellfish. The world's not your oyster, you know.
Not Everybody's Smart In The Same Way
on
The Prodigy Puzzle
·
· Score: 1
I'm posting this to the original parent because I can't find a single post that hasn't taken a partisan viewpoint. Whether everybody here has IQs in the 150s or not is not the point; the point is, do kids with high IQs need different treatment?
I think they do. "Smartness" is not a single thing, it's a collection of abilities in analysis, cognition, synthesis, etc. Some kids are amazingly fast at some things and surprisingly slow at others; the common "math whiz with no social skills" syndrome is just that, one of those combinations.
I was considered a nerd in grade school, an idiot in high school, and a genius in college (where I flunked out). Now I consider myself well-adjusted, and I am careful to avoid judging young people regardless of what they appear/claim/is claimed of them. Some supposedly "brilliant programmers" that I have taught were really, really slow in some areas, such as 3-D visualisation, whereas others got it in one minute. Others were never able to fix their English grammar, and got upset when I told them how important I considered communication skills.
I have two sons who are both very bright, but with marked differences. One is fairly balanced, impatient, quick; the other is moody, extremely quick and intuitive -- and has a learning disability. Very luckily, his teachers alerted us to the problems and we're working on it; but just imagine if it had been left to the teachers to conclude, "A is bright, and B is dumb?"
I guess I feel that children are a resource, our investment in the future. If we fail to develop our investment in every possible way, we're not being good "talent managers". And in order to maximize the potential, we need to know what that potential is, or at the very least get a rough approximation of it. We need better tests. We need more specific tests. We need more sensitive teachers.
And I feel we really need a more educated public. And, no offense intended, I think all SlashDotters should consider themselves an educable public. After all, most of us consider ourselves kids -- don't we?!
Reading between the lines, I get something like this:
"One, or several, agents continued 'surveillance' on female 'suspects' in order to bring inappropriate pressure on them to... any guesses?
"... roughed-up and beat up uncooperative subjects, who were then warned to keep their mouths shut or 'face the consequences', after which the case file was edited..."
Of course, I have the advantage of knowing many bad cops.
So if Apple iw moving to Intel, maybe the time is ripe for Microsoft to push PowerWindows128! How about Windows128 for Power Clusters? And maybe a little one for the old Data Centers?
In short (and long), Apple wants to, iGuess, own all the possible words which, I iMagine, they think they oughta - but iThink they don't have the Power to do it anymore, and maybe not even the iNtel-ligence...
If I read the article correctly, this problem would affect all multiprocessor systems to various degrees. In which case Linus is right; the solution will have to be very, very carefully designed to hit all the possible problems at once, or it won't be worth doing. It may require some hardware assist from the CPU manufacturers if a fool-proof solution is to be found.
I guess one would assume that fsync() is meant to flush all data to the disk. Yes and no. It means, if you have in-memory buffers (like all OSs do) they should be flushed to the storage system. It does NOT guarantee that the storage sub-systems themselves will be flushed. To ensure that, most OSs just force the subsystems to remain idle for a few seconds, which is sufficient for them to write-back their cache contents. That's how it's been for 30 years... so what's new?
We've always wondered at the huge amount of apparently nonsense data in the intron segments, which also seems to contain portions of valid genes. Maybe it's a form of backup?
People don't become doctors because they really want to practice the Scientific Method (observe, predict, experiment). And a large number of them (58%, right?) became doctors because it gave them control over other people. Of about 50 doctors I know, more than half act like absolute assholes; they jerk people around, use unnecessary sarcasm on patients, abuse their privileges, and lie when it suits them. I wish it wasn't so; but I know only five doctors who are really nice people who care about their patients. And presumably, if you are a God-fearing person, you care about people.
On the other hand, if you had used as your example those people who are not physicians but medical researchers only, maybe you'd have a point.
Polyethylene (the high-density, molecule-aligned kind) has very good tensile strength, but is not good as hub-spoke material. Something like a newer variant of ABS (Acrolein-Butadiene-Styrene) is needed for stiffness. How about poylycarbonate + mylar spokes shaped like turbine blades? The curve would give better stiffness without more weight, cut out some vibration.
Here's some extracts from the manual's intro section. They should give a better understanding of the question "why?" The new language's tentative name is "STANDARD".
Our goal with STANDARD is simple: to create a compiler which generates safe, fast code for processors which provide hardware memory protection and privilege control. Our starting point was C, arguably the most awesomely efficient language on the planet, but whose unbridled power exposes razor-sharp edges to the unwary. It is impossible for a C compiler to generate universally efficient safe code. In keeping with its first incarnation as the original systems language, C guarantees complete and unfettered access to the computer's hardware, including all memory without limitation. These implicit guarantees that C makes cannot be kept if in application mode, the hardware, for instance, will not permit random bits of data to be grabbed from anywhere in memory, or a chunk of data to be designated as executable code and forced to run. In C, string handling is simple but also incredibly dangerous - it is possible to overflow buffers, overwrite other data, and corrupt entire programs merely by concatenating two strings. Even by accident.
Ideally, a compiler should be able to guarantee all features its designers wish to grant the programmer, and ensure that those features work uniformly and safely; and firmly forbid any other features that cannot be guaranteed. This would create a reliable framework with no unexpected behavior that leads to sudden crashes. But then user-level applications, by necessity, must deny operations that only make sense to operating-system level utilities; they should not permit actions that compromise security, hinder efficiency, or annoy other users. So C is not the answer.
The safest language, historically, was COBOL. The largest repository of business programs, numbering in the millions, is now "legacy" code - because you could trust COBOL. Everybody appreciated decimal numbers that didn't give annoying binary fractions. But its wordiness and glacial pace didn't endear it to all, and the attempt to repair its unstructured jumping-around with the PERFORM verb was a pathetic failure that descended into monstrously sphagettified code - where the same paragraph could be simultaneously fallen-through and remotely PERFORMed.
BASIC was loved by the vast majority. It was a simple language that made no unnecessary promises. Its processes and assumptions were very much in line with the philosophy of secure processors, because it was implemented from the very beginning as a multi-user system where it was important to play nice with others; and a little tweaking was all that was necessary to make a safe, friendly, efficient server applications programming language.
Thus was born the concept of STANDARD: written in lightning-fast C, implementing the safety and reliability of COBOL and the friendliness of BASIC syntax, and incorporating the formidable mathematical toolkit of FORTRAN.
STANDARD is not intended for front-end applications, having no GUI features, and supports only server-side events. It is designed to crunch data and to service requests, and to do these as fast and efficiently as possible. It retains and enhances BASIC's reputation as the best text processing language ever designed; it is also perfectly suited for batch processing, periodic processing and reporting; and obviously for embedded services. FORTRAN's awesome number-crunching power, which was partially given to BASIC, has been implemented in full with double-precision and complex number support. For accuracy in business applications, currency values may be computed entirely in decimal. In fact, STANDARD guarantees that its data types, from 18-digit numbers and petabyte strings to 10-dimensional complex-number arrays, will work efficiently out-of-the-box in every implementation, thereby removing all concerns about portability.
In addition, the availability of certain software libraries is required. STANDARD uses the IBM Informix C-ISAM
Okay, here's what it is. It's BASIC.
I didn't want to make the intro too long, and I didn't want to turn off all the folks who think that BASIC sucks. But I programmed in it for ten years before switching to C, and I kept wishing that there could be a language that combined the speed of C, the friendliness of BASIC, the complex numbers and arrays of FORTRAN, the absolute reliability of COBOL's decimal math, and the stuff engineers always want like double-precision and FFT as built-in functions, and a bunch of connectivity options like hardware support and client/server connection implemented as pseudofiles, and painless implementation of shared-memory records, semaphores and locks.
So I sat down to write it. Then I found myself "improving" things like almost every day, and finally, two years later, the only thing that was current was the reference manual, because I believe that the manual should state how the software should work, and the software should just shut up and do it.
Don't get me wrong, I'm willing to do it; and I'm sure I can code (almost) every part of the design, but I can't do it in a realistic timeframe. My last project, which I did alone, was a set of servers for a banking application which had their own scripting language, and the banks running it have, over the last five years, developed a huge library of applications using that language, so I know that my work is reliable. And I've written terminal emulators, some graphic games for wyse-60/99 terminals that actually download code for the terminal itself, encryption and compression engines - you'll notice that most of this stuff is back-end programming. So I can code 90% of the design myself, and the rest is available as open source.
And I love teaching. I absolutely want to keep doing it as long as I can, because the kids are willing to listen, unlike my colleagues for the past thirty years, and they think I'm funny, which is great for my ego. But I don't want to throw away all the design work that went into my language stuff, so now I'm willing to give away the ownership if somebody out there agrees that it's a cool idea, or wants to take it in a slightly different direction, or anything positive.
Or I could just work on it quietly for the next few years, just like I'm doing now, but not making much progress. This is where I'm really conflicted.
I live in Sri Lanka, and I use an HP Color Laserjet. I got stuck with outdated toner cartridges (genuine HP, but over 4 years old) which just died. So I went to the official HP agent ... and the manager tells me, "No, that warranty is invalid ... are you kidding, warranties on toner?" So I guess the "worldwide" warranty only works if you're willing to go back to the USA and file a complaint there. Anywhere else, good luck.
Just prepare a 512-byte buffer with all "U" (uppercase letter U) and write a serial number on TOP of it starting with 1. Then dump that buffer, incrementing the serial number as you go, until the disk is full. 1) Flash disk compression will fail because of the serial number, so all "spare areas" will be filled. 2) The "U" is a series of alternating 0s and 1s - very high hysteresis for magnetic drives. 3) Anybody assuming that "deletion" is only removing directory entries will be unpleasantly surprised. Very easy with Linux and C.
What you want is a way to get SOMETHING to slow down. You can get that by getting something ELSE to speed up. Find two satellites you want to toss, connect with a tether cable, spin them up, cast one forward in orbit and the other backward. Presto, the backward one de-orbits, the other may attain escape and go elsewhere (lots of choices). Cost? only the cost of rotational energy - a tiny amount compared to anything else, can be got from a solar panel. (No propellent cost at all).
"We are sorry, but your Linux system has crashed. The Microsoft Code that enables this feature is fully activated, but has not been updated. Please log on to the Microsoft Update site to get a new version of this exact same code. Now you may reboot your computer and come back later to this screen."
In fact, it may, or may not, be useful; or it may be both useful and not-useful, or neither useful nor useless, or even a state between useful and un-useful. It may be useful to consider this further ... or maybe not.
You said that the development people were fine with linux, and were pushing it for security reasons. That means they know your product, on linux, with security features turned on. They're the best source to find out which versions of Linux they're recommending and which ones the clients are using. On top of which, they can most easily convene a train-the-trainer session for several of your senior support people, including yourself, and can answer questions not only about Linux but more importantly about your application's behaviour under Linux. That's also the information your customers will most frequently want.
You missed the most obvious source -- in-house!
Hal Clement is definitely the most faithful to "real" science that I've ever read, even considering Isaac Asimov and Arthur Clarke. "Mission of Gravity" was superb ... I think I read it about a hundred times, and I first read it at 16. Many, many years ago, but it started me on a quest on science that has not yet ended.
Another check for MS? Check.
Actually, I was talking about shellfish.
Don't be so shellfish. The world's not your oyster, you know.
I'm posting this to the original parent because I can't find a single post that hasn't taken a partisan viewpoint. Whether everybody here has IQs in the 150s or not is not the point; the point is, do kids with high IQs need different treatment?
I think they do. "Smartness" is not a single thing, it's a collection of abilities in analysis, cognition, synthesis, etc. Some kids are amazingly fast at some things and surprisingly slow at others; the common "math whiz with no social skills" syndrome is just that, one of those combinations.
I was considered a nerd in grade school, an idiot in high school, and a genius in college (where I flunked out). Now I consider myself well-adjusted, and I am careful to avoid judging young people regardless of what they appear/claim/is claimed of them. Some supposedly "brilliant programmers" that I have taught were really, really slow in some areas, such as 3-D visualisation, whereas others got it in one minute. Others were never able to fix their English grammar, and got upset when I told them how important I considered communication skills.
I have two sons who are both very bright, but with marked differences. One is fairly balanced, impatient, quick; the other is moody, extremely quick and intuitive -- and has a learning disability. Very luckily, his teachers alerted us to the problems and we're working on it; but just imagine if it had been left to the teachers to conclude, "A is bright, and B is dumb?"
I guess I feel that children are a resource, our investment in the future. If we fail to develop our investment in every possible way, we're not being good "talent managers". And in order to maximize the potential, we need to know what that potential is, or at the very least get a rough approximation of it. We need better tests. We need more specific tests. We need more sensitive teachers.
And I feel we really need a more educated public. And, no offense intended, I think all SlashDotters should consider themselves an educable public. After all, most of us consider ourselves kids -- don't we?!
Reading between the lines, I get something like this: "One, or several, agents continued 'surveillance' on female 'suspects' in order to bring inappropriate pressure on them to ... any guesses?
"... roughed-up and beat up uncooperative subjects, who were then warned to keep their mouths shut or 'face the consequences', after which the case file was edited ..."
Of course, I have the advantage of knowing many bad cops.
So if Apple iw moving to Intel, maybe the time is ripe for Microsoft to push PowerWindows128! How about Windows128 for Power Clusters? And maybe a little one for the old Data Centers?
In short (and long), Apple wants to, iGuess, own all the possible words which, I iMagine, they think they oughta - but iThink they don't have the Power to do it anymore, and maybe not even the iNtel-ligence ...
If I read the article correctly, this problem would affect all multiprocessor systems to various degrees. In which case Linus is right; the solution will have to be very, very carefully designed to hit all the possible problems at once, or it won't be worth doing. It may require some hardware assist from the CPU manufacturers if a fool-proof solution is to be found.
I guess one would assume that fsync() is meant to flush all data to the disk. Yes and no. It means, if you have in-memory buffers (like all OSs do) they should be flushed to the storage system. It does NOT guarantee that the storage sub-systems themselves will be flushed. To ensure that, most OSs just force the subsystems to remain idle for a few seconds, which is sufficient for them to write-back their cache contents. That's how it's been for 30 years ... so what's new?
I'm getting just a little confused by all these acronyms.
We've always wondered at the huge amount of apparently nonsense data in the intron segments, which also seems to contain portions of valid genes. Maybe it's a form of backup?
People don't become doctors because they really want to practice the Scientific Method (observe, predict, experiment). And a large number of them (58%, right?) became doctors because it gave them control over other people. Of about 50 doctors I know, more than half act like absolute assholes; they jerk people around, use unnecessary sarcasm on patients, abuse their privileges, and lie when it suits them. I wish it wasn't so; but I know only five doctors who are really nice people who care about their patients. And presumably, if you are a God-fearing person, you care about people. On the other hand, if you had used as your example those people who are not physicians but medical researchers only, maybe you'd have a point.
Polyethylene (the high-density, molecule-aligned kind) has very good tensile strength, but is not good as hub-spoke material. Something like a newer variant of ABS (Acrolein-Butadiene-Styrene) is needed for stiffness. How about poylycarbonate + mylar spokes shaped like turbine blades? The curve would give better stiffness without more weight, cut out some vibration.