But IIRC, IBM's S/360 key-controlled storage did not distinguish "read" from "execute." The storage keys were originally used to separate users in a single address space, since S/360 had only one address space.
I don't think you could guard against execution (separately from read, on a S/360 successor) until IBM introduced data spaces. Execution is limited to data space 0, and if you don't let a program write to that space you are OK. But even now, though the architecture *can* separate read/write space from execution space, do mainframe OSes take advantage of that?
I think of engineering as consisting of both analysis and synthesis, and design is "synthesis guided by analysis."
Buxton's use of "design" as an alternative to "engineering" is a bit odd, unless he was mis-quoted or partially quoted But perhaps he meant specifically HCI design, at which engineers are sterotypically weak.
> The real "participants" in this series are the audience
Reminds me of the idiot who was so dumb that, when offered the choice between a nickel and a dime, he would always take the nickel because it was bigger. People came from miles around to offer him nickels and dimes, and he always took the nickels.
> I seriously doubt [an equivalent C++ manual will] be 5x the size of K&R
The C99 standard (excluding libraries, front matter and back matter): 163 pages.
The C++98 standard (excluding libraries, front matter and back matter): 316 pages.
By this measure, C++ is right about 2x. The styles are similar, So C++ is just about twice the size. The C++ library is less than twice the size of the C library: 358 pages vs. 238. You could argue that the C++ library size is reduced because it includes the C library by reference, but note that large sections of the C library (I/O, sorting and searching) have replacements in C++.
SQL 99 can also construct sets, using "common table expressions." (implemented in DB2 and SQL Server). Whether the construction terminates depends on the construction logic and, of course, the input data.
I think Oracle has something similar in CONNECT BY, but their construct didn't happen to get chosen for SQL 99.
I wonder who managed to sneak in the redefinition. I think they did science a favor. I find the redefinition (within Kasnas) preferrable to the fiction that ID is science as defined elsewhere.
> You guys fought a war over taxation without representation.
We fought a war (two, in fact) for cold beer and right-hand driving, and against having to watch the BBC or encountering "Spotted Dick" in the grocery store.
> I can't think of any modern architectures that don't support register indexing
I don't see any register indexing in IA64. No immediate offset, either. If you want to access an address, you'd better have that address - exactly - in a register. At least you get enough registers.:-).
Incidentally, the IBM S/360 was an early machine (perhaps the first) with base+index+offset addressing. I've heard that the three-way adder required was a performance hit. I know that some models had instructions which were faster when the index register field was 0, indicating no indexing.
Where in the Constitution does it say that the purpose of the Supreme Court is to be the official interpreters of the Constitution?... I suppose it could be interpreted to say that, but by whom? The Supreme Court, of course
You guessed it. (Or maybe you already knew that, having remained awake for the first day of your US History class.) The case was Marbury vs. Madison.
> I've often heard tuesday mid-morning was the best time to release a new package
Back when weekly trade papers mattered, Tuesday was early enough to make next week's papers. Monday was too early; the journalists might not yet be recovered from the weekend.
For completeness I'll mention Etudes for Programmers. It has some fun - and useful - projects. But it's dated. I can'r imagine paying the $250 which the sellers on Amazon want.
> Assembly is bad enough. I can't imagine assembly in Kanji.
Get used to it. There are no plans to release an ASCII version of this PowerPC. (ASCII should work, but there's no budget to test or market it.)
Seriously though, I remember when the IBM PC was introduced with an 8088. One of the new "IBM PC" magazines reported that the processer was natively EBCDIC.
Steve Jobs would recommend (by deed, if not by word) that you avoid tying youself to a single platform. Go ahead and develop for Mac, but make sure that your product also runs (to the extent possible) on other platforms.
You may save yourself a lot of grief if something goes wrong with your favorite platform. (Apple might bundle equivalent function with the OS, as happened to Konfabulator). At the very least, you will learn a lot about platform differences.
> [I] know plenty of professional photographers using LCDs
All of uf of a certain age used to get by with negative images and enlargers. If you're making a print, only the print will look like the print. I would only trust an earlier image (be it viewfinder, enlarger, CRT or LCD) for composition.
Isn't hizzoner being a bit hasty? Why not keep the law on the books, for history's sake? Not that anyone would, should or could enforce it. Just as a matter of historic preservation, like brick pavement or steam locomotives or the Electoral College. If the mayor feels that the law is too much of an embarrassment he should at least offer it to Williamsburg, Virginia, a town dedicated to the preservation of Colonial history.
It would be silly to say that the US owns space. That would be like saying that it owns, oh, Iraq. Historically nations have had "ownership" according to how far they can project force. The "three mile limit" for ocean ownership was determined by the range of shore guns. The USSR did not "own" its airspace until it proved that it could shoot down a U2 spy plane.
If the US Air Force succeds in militarizing space, the US may indeed "own" it. That may prove easier than "owning" Iraq.:-)
On a separate topic, it seems to me that a LEO banner would be visible mostly at dusk or dawn. How would it be lit in the middle of the night? Reflection from terrestrial lights maybe, or flourexcent paint?
> 20 years ago IBM would... argue why proprietary systems were better.
I'm sure they would argue that today also, but not in public. "Open source" appears only when it is IBM's clear advantage, and not as part of any doctrinal belief that open source is a good idea.
> PDP-11, late '60s... 8 16-bit general purpose registers.
Seven, of you needed a program counter. Oops, make that six if you needed a stack. A few instructions only worked with R0/R1, and I think "mark stack" made special use of R5. That left R2/3/4 as truly interchangeable. Still a great architecture.
I use C++. I don't literally use "assert" (which is a macro, not a statement in C++), beause in C++ it is throw-away code. It stops working once NDEBUG is undefined. Someone wrote that turning off checks in production code is like unbuckling your seatbelt when you leave the driveway. I read that, and believed it. So much for assert.
I do use "throw", which isn't a statement either (it's an expression). Using throw leads to the question "what does the catch do?" Simple rule: If a catch can't fix an program, or at least make it less severe, don't code the catch. Let the exception propagate.
It helps to establish an exception hierarchy. I don't particuarly like the C++ library version, but at least it is "standard."
Research which demonstrated the superiority of software *not* written by a greedy corporation was tainted today by the revalation that the researchers themselves were not funded by a greedy corporation.
Kevin Brown probably noticed that things had been a bit slow over at Groklaw lately (Obituary notices? Come on). So he tossed PJ and the gang some chum. Nothing wrong with that.
Amateur radio operators have been butchering English for 90 years, and telegraphers before them. The reason is the same: efficient use of bandwidth is more important than elegant style.
But IIRC, IBM's S/360 key-controlled storage did not distinguish "read" from "execute." The storage keys were originally used to separate users in a single address space, since S/360 had only one address space.
I don't think you could guard against execution (separately from read, on a S/360 successor) until IBM introduced data spaces. Execution is limited to data space 0, and if you don't let a program write to that space you are OK. But even now, though the architecture *can* separate read/write space from execution space, do mainframe OSes take advantage of that?
I think of engineering as consisting of both analysis and synthesis, and design is "synthesis guided by analysis."
Buxton's use of "design" as an alternative to "engineering" is a bit odd, unless he was mis-quoted or partially quoted But perhaps he meant specifically HCI design, at which engineers are sterotypically weak.
> The real "participants" in this series are the audience
Reminds me of the idiot who was so dumb that, when offered the choice between a nickel and a dime, he would always take the nickel because it was bigger. People came from miles around to offer him nickels and dimes, and he always took the nickels.
What a shift! EMACS used to be the pig, as in "Eight Megs And Crawling Slowly"? Thanks, Eclipse.
The C99 standard (excluding libraries, front matter and back matter): 163 pages.
The C++98 standard (excluding libraries, front matter and back matter): 316 pages.
By this measure, C++ is right about 2x. The styles are similar, So C++ is just about twice the size. The C++ library is less than twice the size of the C library: 358 pages vs. 238. You could argue that the C++ library size is reduced because it includes the C library by reference, but note that large sections of the C library (I/O, sorting and searching) have replacements in C++.
> It does follow SQL92 when accessing databases though.
DB2 doesn't implement of SQL 92. And it implements some things which are not SQL 92.
So what does the parent mean by "follows"? Perhaps that where DB2's syntax happens to intersect that of SQL 92, its semantics do also.
> SQL can only describe sets
SQL 99 can also construct sets, using "common table expressions." (implemented in DB2 and SQL Server). Whether the construction terminates depends on the construction logic and, of course, the input data.
I think Oracle has something similar in CONNECT BY, but their construct didn't happen to get chosen for SQL 99.
I wonder who managed to sneak in the redefinition. I think they did science a favor. I find the redefinition (within Kasnas) preferrable to the fiction that ID is science as defined elsewhere.
> You guys fought a war over taxation without representation.
We fought a war (two, in fact) for cold beer and right-hand driving, and against having to watch the BBC or encountering "Spotted Dick" in the grocery store.
> I can't think of any modern architectures that don't support register indexing
:-).
I don't see any register indexing in IA64. No immediate offset, either. If you want to access an address, you'd better have that address - exactly - in a register. At least you get enough registers.
Incidentally, the IBM S/360 was an early machine (perhaps the first) with base+index+offset addressing. I've heard that the three-way adder required was a performance hit. I know that some models had instructions which were faster when the index register field was 0, indicating no indexing.
You guessed it. (Or maybe you already knew that, having remained awake for the first day of your US History class.) The case was Marbury vs. Madison.
> I've often heard tuesday mid-morning was the best time to release a new package
Back when weekly trade papers mattered, Tuesday was early enough to make next week's papers. Monday was too early; the journalists might not yet be recovered from the weekend.
For completeness I'll mention Etudes for Programmers. It has some fun - and useful - projects. But it's dated. I can'r imagine paying the $250 which the sellers on Amazon want.
> Assembly is bad enough. I can't imagine assembly in Kanji.
Get used to it. There are no plans to release an ASCII version of this PowerPC. (ASCII should work, but there's no budget to test or market it.)
Seriously though, I remember when the IBM PC was introduced with an 8088. One of the new "IBM PC" magazines reported that the processer was natively EBCDIC.
Steve Jobs would recommend (by deed, if not by word) that you avoid tying youself to a single platform. Go ahead and develop for Mac, but make sure that your product also runs (to the extent possible) on other platforms.
You may save yourself a lot of grief if something goes wrong with your favorite platform. (Apple might bundle equivalent function with the OS, as happened to Konfabulator). At the very least, you will learn a lot about platform differences.
> [I] know plenty of professional photographers using LCDs
All of uf of a certain age used to get by with negative images and enlargers. If you're making a print, only the print will look like the print. I would only trust an earlier image (be it viewfinder, enlarger, CRT or LCD) for composition.
Isn't hizzoner being a bit hasty? Why not keep the law on the books, for history's sake? Not that anyone would, should or could enforce it. Just as a matter of historic preservation, like brick pavement or steam locomotives or the Electoral College. If the mayor feels that the law is too much of an embarrassment he should at least offer it to Williamsburg, Virginia, a town dedicated to the preservation of Colonial history.
> I wasn't aware that the US owned space.
:-)
It would be silly to say that the US owns space. That would be like saying that it owns, oh, Iraq. Historically nations have had "ownership" according to how far they can project force. The "three mile limit" for ocean ownership was determined by the range of shore guns. The USSR did not "own" its airspace until it proved that it could shoot down a U2 spy plane.
If the US Air Force succeds in militarizing space, the US may indeed "own" it. That may prove easier than "owning" Iraq.
On a separate topic, it seems to me that a LEO banner would be visible mostly at dusk or dawn. How would it be lit in the middle of the night? Reflection from terrestrial lights maybe, or flourexcent paint?
> 20 years ago IBM would ... argue why proprietary systems were better.
I'm sure they would argue that today also, but not in public. "Open source" appears only when it is IBM's clear advantage, and not as part of any doctrinal belief that open source is a good idea.
> PDP-11, late '60s... 8 16-bit general purpose registers.
Seven, of you needed a program counter. Oops, make that six if you needed a stack. A few instructions only worked with R0/R1, and I think "mark stack" made special use of R5. That left R2/3/4 as truly interchangeable. Still a great architecture.
I use C++. I don't literally use "assert" (which is a macro, not a statement in C++), beause in C++ it is throw-away code. It stops working once NDEBUG is undefined. Someone wrote that turning off checks in production code is like unbuckling your seatbelt when you leave the driveway. I read that, and believed it. So much for assert.
I do use "throw", which isn't a statement either (it's an expression). Using throw leads to the question "what does the catch do?" Simple rule: If a catch can't fix an program, or at least make it less severe, don't code the catch. Let the exception propagate.
It helps to establish an exception hierarchy. I don't particuarly like the C++ library version, but at least it is "standard."
Research which demonstrated the superiority of software *not* written by a greedy corporation was tainted today by the revalation that the researchers themselves were not funded by a greedy corporation.
Kevin Brown probably noticed that things had been a bit slow over at Groklaw lately (Obituary notices? Come on). So he tossed PJ and the gang some chum. Nothing wrong with that.
Amateur radio operators have been butchering English for 90 years, and telegraphers before them. The reason is the same: efficient use of bandwidth is more important than elegant style.