1. CDs are overpriced in the States, and they're cheaper here than most other places. Most of what I've bought recently has been on significant sale over the Internet, or they've been Naxos, good music for a lot lower price. (I buy mostly classical.) Furthermore, since CDs (unlike tape/vinyl) last longer, I don't have the imperative I used to have to replace things. Frankly, I don't want to have to pay "big Media" for a lot of crappy marketing, payola to radio stations, etc.
2. Canadians are definitely getting ripped off by pre-marked prices on books, CDs, etc. I was in Montreal last year and bought a couple of books that aren't available in the States, either because they're Canadian press (e.g. some Canadian military history) or they're British imports where either they're not brought into the States at all or they arrive well after they get to Canada. It was a lot more fun to do this 3-4 years ago (the last time I was in Vancouver on vacation...)
3. Canadians are welcome to come to the States and buy stuff with their highly appreciated Loonies. We need the help with our trade deficit.:-)
Well... I believe that the BSD subsystem provides shell, utilities and library calls that are not part of the basic Darwin kernel.
The default mode (the one that Open Group tested) in Leopard is to install the BSD subsystem -and- to install the Developer tools (which provides some utilities like make that aren't present by default but that are required by the POSIX Shell & Utilities standard.)
But underneath the covers, there's a BSD interface to the Mach kernel, and I don't think there's much debate that a Mach kernel is a legitimate Unix kernel. All this is explained in Singh's "Mac OS X Kernel", which sits on my bookshelf next to the Daemon book ("Design of the 4.3BSD Unix Operating System" by Leffler et. al) and Bach's "Design of the Unix Operating System" (focuses on ATT/Sys V). (Singh's book is thicker than those other two books put together... About the only book on Unix/Linux I've seen that is thicker is the annotated Linux kernel that was published some years ago, a very cool idea IMHO.)
Earlier I discussed the formal standard and certification program. It's possible to get a POSIX cert for a system that is not 'really Unix under the covers', it's been done for VAX/VMS, MVS and WinNT...
To my mind, what makes up a 'real Unix' system is (a) native support for fork() as distinct from exec(); (b) a truly hierarchal file system where the entries '.' and '..' are actually entries in the directory structure, and not afterthoughts; (c) efficient implementation of pipes for interprocess communication; (d) support for user/group/world read/write/execute permissions in the file space (e) support for sh, one of csh or bash, and EMACS (well, OK, EMACS isn't part of the POSIX/Single Unix Spec, but it's essential to my mind for doing real programming, YEMV Your Editor May Vary:-) Now I'm sure 99% of the people out there would add (f) a solid C compiler, but I've done most of my Unix system programming in Ada (occasionally with some C to glue the Ada to the kernel or libraries.)
dave
p.s. I don't mind informally calling Linux 'Unix" or even 'Unix' Linux, but it might be a bit of a stretch to call 'Mac OS X ' 'Linux'. Just as long as underneath we understand what the formal definition is, for most people the distinctions aren't very important. It's a blast to take source from Linux and bring it up on Mac OS X.
p.p.s. My favorite 'Unix' was SunOS 4.0.3. I think Solaris was a step backwards when it moved to System V features over BSD features.
About 20-25 years ago, there were massive debates about what was and was not "Unix". The means chosen to settle this (since it wasn't quite clear who to invite to the duel:-) was to develop a set of standards that would capture 'Unix' -to ensure application portability-. To avoid the trademark wars of that generation, the name chosen was POSIX (Portable Operating System Interface based on uniX) After much work, a bunch of standards were produced, including one covering the API, another covering common shell and utilities, RT unix, PThreads, etc, etc. (In this era of success for the Open Source movement, it's worth nothing that the concentration back then was on source code portability. It's hard for me to imagine the growth of the OSS movement without having this standard source code API to build much of that work on...)
The other thing that came out of this effort is a means to verify conformance. Note that word, "conformance". This is the term used in the standard, and if you want to talk about whether some operating system meets the standard, it's the word you should use, too. When you hear someone say 'compliant', you should ask them if they mean "conformance, as defined in the standard, or just some term made up by the marketing staff to confuse the buyer/user." An informed technical person will know the difference.
Conformance is rigorously defined in the standards, but I can informally summarize it this way: -- Conforming Application uses only facilities within the standard. -- A Conforming Implementation implements the whole standard (no subsets, unless allowed by the standard!).
From the POSIX effort and X/Open merged activities, there's a "Single Unix Specification", which is a proper superset of the POSIX standards and includes facilities not formally standardized by ISO. The Open Group (http://www.opengroup.org) both maintains the SUS and conducts a certification program against the specification.
It is good to see Apple go through this and pass (apparently Apple tried earlier and hit a roadblock/inconsistency.)
So when someone -now- says "Unix" they should mean a conforming implementation of the Open Group's Single Unix Standard. That includes POSIX conformance. And it should mean that the vendor has the certificate to prove it.
Now what about Linux? Last I heard, there were still inconsistencies between Linux and the SUS, so LINUX won't pass the POSIX part of SUS, and therefore isn't legally "Unix", nor is it a POSIX Conforming Implementation. My understanding these differences aren't trivial, but are in corners that the average user won't bump into. But the differences in the API specifications does have a significant impact on the implementation (kernel), and that's why the Linux community has stuck to its incompatibility with the POSIX standard.
dave (worked on POSIX standards from 88-94, primarily the Ada binding...)
VIM is useful...
on
Hacking VIM
·
· Score: 4, Funny
Violates 'Search & Seizure' clause requiring due process before seizing private property. I can't see how this would ever survive a constitutional law challenge.
Note that the government doesn't grant licenses to operate computers (like they do cars), so that argument is bogus.
In the beginning, URLs generally had some logic to them, you could get some understanding of the site from the URL, and by doing so, you could remember the URL.
Then we got into things like Active Server Pages and generated content, moving on to today's web where most content on most sites is managed by this massive complex back-end system. As a result, URLs are these butt-ugly sequences of random characters that are hard to use, hard to type, hard to remember.
If TinyURLs weaken Net architecture, then I'd say it's time to let -that- net architecture collapse. We're getting the web we deserve:-)
The very first line in the MacFixIt article is: Leopard: Incompatible third-party software and hardware
Both Leopard and Vista suffer from 3rd party problems. But I'd submit that there was a significant list of problems within Vista without adding any 3rd party software, particularly in some of the security-related stuff (including that annoying security prompter, which triggered so many times as to result in a 'social engineering failure' to be useful...)
That's been the very successful (and arguably appropriate) strategy all along. Empower administrators who have to manage/control/procure all these devices. Lock them into the Microsoft Way. Have them invest $$$ into Tech Support, servers, back office software, etc. To Microsoft's credit, they do provide this stuff to schools at reduced price, and to Microsoft's credit, they do provide solutions to problems that large scale system administrators/CIOs have to face.
But that marketing model still feels like a pusher hooking new addicts to me at times, particularly when I see schools investing $$ into replacing an existing Apple infrastructure with a Microsoft infrastructure, "because that's what the IT people are familiar with." That's a case of the flea wagging the dog.
35 years ago (ugh, I had to say that...) I was lucky in the early days of 'student access' to play with a variety of machines, from a TOPS 10 terminal to programmable desktop calculators (this is pre-PC) It's had a major positive impact, exposure to 'more than one way to do it' is a key aspect of education, I think.
A registry would itself have to register with the root registry, which I guess is Network Solutions, right? Doesn't ICANN have to bless anyone who wants to be a registry?
The domain name for my-bogus-registry.com would have to be registered first -with someone else-, before you could set up www.my-bogus-registry.com. So the specific bootstrap problem you mention should not occur.
That would clean up this problem, right? Sure, it's an impact on other lines of business, but domain registries have a 'special role' to play in the internet. One question, though, is whether ICANN could legally enforce this rule in various jurisdictions. Probably so, since ICANN could revoke the registry for not playing by the rules, but IANAL...
Right now on my Mac I have Mac Office and NeoOffice (derived from Open Office). By default, I use MS Office (with great regret). However, every so often I get stuff that doesn't work in Mac Office, or I get frustrated by some aspect of Mac Office, and that's when I open NeoOffice. If I'm preparing a document with any requirement for anyone else to use, I follow what is actually DoD/govt policy and save in the native MS format, usually associated with Office 97/2k/XP.
What I hope is that the Government moves to a standards-based format, and that would leave them with ODF as the current choice. But that's not policy yet.
Recently I've had significant problems with documents that come from the latest flavor of Windows Office, either not opening, crashing the app (Microsoft Word.app) or in the case of PowerPoint, images that don't render (they display as black blobs.) Since the background illustration for the program's title slide is one of those, that has made things hard. In almost all cases, though, documents that don't work on MS Office for the Mac work just fine in NeoOffice, the one exception being printing.PPT presentations.
dave
(p.s. I just got a govt spec, ".doc" that when I opened it generated a Visual Basic error. Now last time I checked, VB was not authorized for use in govt documents, precisely because of the interoperability problems. But unfortunately, these standards are hard to enforce...)
Comment's subject line is self-referential, I believe.
Open Group testing is expensive, but I hardly count it as 'extortion'. What's the impact if you don't get their certification? You can't call yourself "Unix". BFD. OpenGroup does require you to pay to implement truth in advertising. (On the other hand, if you think OpenGroup Unix conformance testing is expensive, go check out medical device/drug costs, or even the cost to a University for accreditation...)
Back to the questions raised by the previous post: > Is Linux on PowerPC (e.g. YellowDog) binary compatible with Linux on x86? I don't think so.....
The goal for the POSIX standards was -source code- compatability. A "strictly conforming application" compiled and executing on one conforming POSIX system is guaranteed to work the same way as the same application on all other conforming POSIX systems (functionally, performance is another matter, of course.) So the answer to "Are systems branded UNIX source compatible?" should be YES, for strictly conforming applications in source code.
What a certificate of conformance means from The Open Group is that the API has been rather thoroughly tested to ensure that it does properly implement the standard. If you get that conformance, then OpenGroup grants you the license to the name Unix(tm). I'm much less thrilled about the Unix branding, than I am about the investment to open standards and standards conformance checking.
I believe that the Unix brand includes more than just the API tests, it also includes shell and utilities. So you can move a shellscript (in sh) from one system to another, and if that shellscript uses only the standard utilities (and their standardized options), and/or compiled conforming applications, it'll do the same thing on POSIX systems ranging from MacOS X to Solaris to HP/UX to AIX. For some of us who have ported software across multiple vendor platforms over the last 10-20 years, that IS A Big Deal.
I've used the term "strictly conforming application" a couple of times. If you're interested in the formal definition (and this term is formally defined in the POSIX standards), you should go read how the standard defines this. Informally, a "strictly conforming application" uses only APIs defined in the standard and depends only on behaviors in the standard (e.g. doesn't depend on some funny return value from a function call.) Or, to be even less formal, strictly conforming applications "color within the lines". A "strictly conforming implementation" is also defined by the standard, and that's what OS X Leopard was tested against. Informally, a strictly conforming application implements the whole standard, including all error return situations, etc. You can NOT implement less than the full standard and be "conforming".
Important Marketing Hype warning: The term 'compliance' has no meaning with respect to POSIX. Normally when a marketing guy says "Our Frobizz 2000 and its BlotzWare OS are POSIX compliant." that usually means "We've implemented some arbitrary subset of the POSIX standards. We are too lazy to implement the whole standard, and if you happen to use some function call that we don't implement, you're shit-outta-luck."
But the "entry barrier" for most of the projects I've worked on is EAL4. It is A Very Good thing Apple has invested in EAL3, but that's not quite enough to make the people who accredit the systems I've worked on happy.
But there are inconsistencies between the Linux common specification and the POSIX specifications. So until the technical issues get worked out (I think they concern threads and signal handling, but I'm not sure), there's no way a Linux distribution vendor could take his/her Linux product through POSIX conformance testing.
1. For at least some contracting contexts, a POSIX conformance certificate is necessary to bid.
And it's part of the argument that there are viable -standards-based- alternatives to Windows. As a long-time open systems advocate (and someone who worked on POSIX standard), I think this is A Very Good Thing for the industry as a whole, and I'd hope Linux advocates would also see this as progress. Note that Linux does have some known inconsistencies with the POSIX standard, so this is something OS X did that Linux has not achieved.
2. I know (private communications) that there were problems between Apple and Open Group on this for a long time. Some of these were technical problems, areas where apparently Apple didn't conform to the standard. Now those problems have been fixed.
The Linux community needs to work with Open Group and IEEE and ISO to get Linux into conformance (and I think changes to the POSIX standards could well be appropriate here. Presumably we've learned some things over the last 15 years in specifying and implementing the Unix interface.)
3. Open Group testing does have some value, it has been known to find bugs in vendor implementations.
So the fact that OS X provides a complete Unix implementation is hardly earth-shattering. But at least it's a commitment by Apple to pay for the certification, and a recognition that Apple has jumped through both technical and managerial/business hoops.
Now Apple needs to work through the FIPS/Common Criteria certifications for IA.
Judging by both some of the software I have to use, and the comments on/., apparently not.
A friend once defined hacker as someone who types "main(){}" and then invokes the debugger:-)
Sure there are aspects of software/systems development where mathematics, as the underlying 'physics of software' are not so necessary. But saying that we don't need mathematics for developing software is like saying we don't need physics for constructing buildings. Yeah, it can be done, but the chance of the structure (physical or logical) falling down, particularly under conditions outside the nominal, is unfortunately pretty good.
You do not have to be a mathematician to construct correct programs, but in my experience, it helps A LOT.
Years ago I remember reading about a study that predicted, with surprising accuracy (>2/3, if I remember) that the side with the better uniforms loses the war. Anecdotally, this does seem to be true!
I always think about that when I see someone in our ugly Army uniforms, particularly standing next to someone in an USMC dress uniform.
Of Tux defeating the 4 playfigures of the apocalypse? :-)
dave
1. CDs are overpriced in the States, and they're cheaper here than most other places. Most of what I've bought recently has been on significant sale over the Internet, or they've been Naxos, good music for a lot lower price. (I buy mostly classical.) Furthermore, since CDs (unlike tape/vinyl) last longer, I don't have the imperative I used to have to replace things. Frankly, I don't want to have to pay "big Media" for a lot of crappy marketing, payola to radio stations, etc.
:-)
2. Canadians are definitely getting ripped off by pre-marked prices on books, CDs, etc. I was in Montreal last year and bought a couple of books that aren't available in the States, either because they're Canadian press (e.g. some Canadian military history) or they're British imports where either they're not brought into the States at all or they arrive well after they get to Canada. It was a lot more fun to do this 3-4 years ago (the last time I was in Vancouver on vacation...)
3. Canadians are welcome to come to the States and buy stuff with their highly appreciated Loonies. We need the help with our trade deficit.
dave (lived in Vancouver, BC for 2 1/2 years...)
Mod parent up, please. (I've contributed to this discussion or I would have...)
dave
Well... I believe that the BSD subsystem provides shell, utilities and library calls that are not part of the basic Darwin kernel.
:-) Now I'm sure 99% of the people out there would add (f) a solid C compiler, but I've done most of my Unix system programming in Ada (occasionally with some C to glue the Ada to the kernel or libraries.)
The default mode (the one that Open Group tested) in Leopard is to install the BSD subsystem -and- to install the Developer tools (which provides some utilities like make that aren't present by default but that are required by the POSIX Shell & Utilities standard.)
But underneath the covers, there's a BSD interface to the Mach kernel, and I don't think there's much debate that a Mach kernel is a legitimate Unix kernel. All this is explained in Singh's "Mac OS X Kernel", which sits on my bookshelf next to the Daemon book ("Design of the 4.3BSD Unix Operating System" by Leffler et. al) and Bach's "Design of the Unix Operating System" (focuses on ATT/Sys V). (Singh's book is thicker than those other two books put together... About the only book on Unix/Linux I've seen that is thicker is the annotated Linux kernel that was published some years ago, a very cool idea IMHO.)
Earlier I discussed the formal standard and certification program. It's possible to get a POSIX cert for a system that is not 'really Unix under the covers', it's been done for VAX/VMS, MVS and WinNT...
To my mind, what makes up a 'real Unix' system is (a) native support for fork() as distinct from exec(); (b) a truly hierarchal file system where the entries '.' and '..' are actually entries in the directory structure, and not afterthoughts; (c) efficient implementation of pipes for interprocess communication; (d) support for user/group/world read/write/execute permissions in the file space (e) support for sh, one of csh or bash, and EMACS (well, OK, EMACS isn't part of the POSIX/Single Unix Spec, but it's essential to my mind for doing real programming, YEMV Your Editor May Vary
dave
p.s. I don't mind informally calling Linux 'Unix" or even 'Unix' Linux, but it might be a bit of a stretch to call 'Mac OS X ' 'Linux'. Just as long as underneath we understand what the formal definition is, for most people the distinctions aren't very important. It's a blast to take source from Linux and bring it up on Mac OS X.
p.p.s. My favorite 'Unix' was SunOS 4.0.3. I think Solaris was a step backwards when it moved to System V features over BSD features.
About 20-25 years ago, there were massive debates about what was and was not "Unix". The means chosen to settle this (since it wasn't quite clear who to invite to the duel :-) was to develop a set of standards that would capture 'Unix' -to ensure application portability-. To avoid the trademark wars of that generation, the name chosen was POSIX (Portable Operating System Interface based on uniX) After much work, a bunch of standards were produced, including one covering the API, another covering common shell and utilities, RT unix, PThreads, etc, etc. (In this era of success for the Open Source movement, it's worth nothing that the concentration back then was on source code portability. It's hard for me to imagine the growth of the OSS movement without having this standard source code API to build much of that work on...)
The other thing that came out of this effort is a means to verify conformance. Note that word, "conformance". This is the term used in the standard, and if you want to talk about whether some operating system meets the standard, it's the word you should use, too. When you hear someone say 'compliant', you should ask them if they mean "conformance, as defined in the standard, or just some term made up by the marketing staff to confuse the buyer/user." An informed technical person will know the difference.
Conformance is rigorously defined in the standards, but I can informally summarize it this way:
-- Conforming Application uses only facilities within the standard.
-- A Conforming Implementation implements the whole standard (no subsets, unless allowed by the standard!).
From the POSIX effort and X/Open merged activities, there's a "Single Unix Specification", which is a proper superset of the POSIX standards and includes facilities not formally standardized by ISO. The Open Group (http://www.opengroup.org) both maintains the SUS and conducts a certification program against the specification.
It is good to see Apple go through this and pass (apparently Apple tried earlier and hit a roadblock/inconsistency.)
So when someone -now- says "Unix" they should mean a conforming implementation of the Open Group's Single Unix Standard. That includes POSIX conformance. And it should mean that the vendor has the certificate to prove it.
Now what about Linux? Last I heard, there were still inconsistencies between Linux and the SUS, so LINUX won't pass the POSIX part of SUS, and therefore isn't legally "Unix", nor is it a POSIX Conforming Implementation. My understanding these differences aren't trivial, but are in corners that the average user won't bump into. But the differences in the API specifications does have a significant impact on the implementation (kernel), and that's why the Linux community has stuck to its incompatibility with the POSIX standard.
dave (worked on POSIX standards from 88-94, primarily the Ada binding...)
If you need to edit the makefile for EMACS... :-)
dave
Violates 'Search & Seizure' clause requiring due process before seizing private property. I can't see how this would ever survive a constitutional law challenge.
Note that the government doesn't grant licenses to operate computers (like they do cars), so that argument is bogus.
dave
In the beginning, URLs generally had some logic to them, you could get some understanding of the site from the URL, and by doing so, you could remember the URL.
:-)
Then we got into things like Active Server Pages and generated content, moving on to today's web where most content on most sites is managed by this massive complex back-end system. As a result, URLs are these butt-ugly sequences of random characters that are hard to use, hard to type, hard to remember.
If TinyURLs weaken Net architecture, then I'd say it's time to let -that- net architecture collapse. We're getting the web we deserve
dave
Mod parent up. I thought I had some moderator points myself, but they've apparently expired. That's a very interesting idea.
dave
The very first line in the MacFixIt article is:
Leopard: Incompatible third-party software and hardware
Both Leopard and Vista suffer from 3rd party problems. But I'd submit that there was a significant list of problems within Vista without adding any 3rd party software, particularly in some of the security-related stuff (including that annoying security prompter, which triggered so many times as to result in a 'social engineering failure' to be useful...)
dave
and if this happens, you contact the credit card company. Best to take photos of the box, too.
Also contact the city/county/state consumer affairs folks and the local newspaper...
dave
That's been the very successful (and arguably appropriate) strategy all along. Empower administrators who have to manage/control/procure all these devices. Lock them into the Microsoft Way. Have them invest $$$ into Tech Support, servers, back office software, etc. To Microsoft's credit, they do provide this stuff to schools at reduced price, and to Microsoft's credit, they do provide solutions to problems that large scale system administrators/CIOs have to face.
But that marketing model still feels like a pusher hooking new addicts to me at times, particularly when I see schools investing $$ into replacing an existing Apple infrastructure with a Microsoft infrastructure, "because that's what the IT people are familiar with." That's a case of the flea wagging the dog.
35 years ago (ugh, I had to say that...) I was lucky in the early days of 'student access' to play with a variety of machines, from a TOPS 10 terminal to programmable desktop calculators (this is pre-PC) It's had a major positive impact, exposure to 'more than one way to do it' is a key aspect of education, I think.
dave
A registry would itself have to register with the root registry, which I guess is Network Solutions, right? Doesn't ICANN have to bless anyone who wants to be a registry?
The domain name for my-bogus-registry.com would have to be registered first -with someone else-, before you could set up www.my-bogus-registry.com. So the specific bootstrap problem you mention should not occur.
dave
That would clean up this problem, right? Sure, it's an impact on other lines of business, but domain registries have a 'special role' to play in the internet. One question, though, is whether ICANN could legally enforce this rule in various jurisdictions. Probably so, since ICANN could revoke the registry for not playing by the rules, but IANAL...
dave
Right now on my Mac I have Mac Office and NeoOffice (derived from Open Office). By default, I use MS Office (with great regret). However, every so often I get stuff that doesn't work in Mac Office, or I get frustrated by some aspect of Mac Office, and that's when I open NeoOffice. If I'm preparing a document with any requirement for anyone else to use, I follow what is actually DoD/govt policy and save in the native MS format, usually associated with Office 97/2k/XP.
.PPT presentations.
What I hope is that the Government moves to a standards-based format, and that would leave them with ODF as the current choice. But that's not policy yet.
Recently I've had significant problems with documents that come from the latest flavor of Windows Office, either not opening, crashing the app (Microsoft Word.app) or in the case of PowerPoint, images that don't render (they display as black blobs.) Since the background illustration for the program's title slide is one of those, that has made things hard. In almost all cases, though, documents that don't work on MS Office for the Mac work just fine in NeoOffice, the one exception being printing
dave
(p.s. I just got a govt spec, ".doc" that when I opened it generated a Visual Basic error. Now last time I checked, VB was not authorized for use in govt documents, precisely because of the interoperability problems. But unfortunately, these standards are hard to enforce...)
I -knew- I was being productive! :-)
dave
Comment's subject line is self-referential, I believe.
Open Group testing is expensive, but I hardly count it as 'extortion'. What's the impact if you don't get their certification? You can't call yourself "Unix". BFD. OpenGroup does require you to pay to implement truth in advertising. (On the other hand, if you think OpenGroup Unix conformance testing is expensive, go check out medical device/drug costs, or even the cost to a University for accreditation...)
Back to the questions raised by the previous post:
> Is Linux on PowerPC (e.g. YellowDog) binary compatible with Linux on x86? I don't think so.....
The goal for the POSIX standards was -source code- compatability. A "strictly conforming application" compiled and executing on one conforming POSIX system is guaranteed to work the same way as the same application on all other conforming POSIX systems (functionally, performance is another matter, of course.) So the answer to "Are systems branded UNIX source compatible?" should be YES, for strictly conforming applications in source code.
What a certificate of conformance means from The Open Group is that the API has been rather thoroughly tested to ensure that it does properly implement the standard. If you get that conformance, then OpenGroup grants you the license to the name Unix(tm). I'm much less thrilled about the Unix branding, than I am about the investment to open standards and standards conformance checking.
I believe that the Unix brand includes more than just the API tests, it also includes shell and utilities. So you can move a shellscript (in sh) from one system to another, and if that shellscript uses only the standard utilities (and their standardized options), and/or compiled conforming applications, it'll do the same thing on POSIX systems ranging from MacOS X to Solaris to HP/UX to AIX. For some of us who have ported software across multiple vendor platforms over the last 10-20 years, that IS A Big Deal.
I've used the term "strictly conforming application" a couple of times. If you're interested in the formal definition (and this term is formally defined in the POSIX standards), you should go read how the standard defines this. Informally, a "strictly conforming application" uses only APIs defined in the standard and depends only on behaviors in the standard (e.g. doesn't depend on some funny return value from a function call.) Or, to be even less formal, strictly conforming applications "color within the lines". A "strictly conforming implementation" is also defined by the standard, and that's what OS X Leopard was tested against. Informally, a strictly conforming application implements the whole standard, including all error return situations, etc. You can NOT implement less than the full standard and be "conforming".
Important Marketing Hype warning: The term 'compliance' has no meaning with respect to POSIX. Normally when a marketing guy says "Our Frobizz 2000 and its BlotzWare OS are POSIX compliant." that usually means "We've implemented some arbitrary subset of the POSIX standards. We are too lazy to implement the whole standard, and if you happen to use some function call that we don't implement, you're shit-outta-luck."
dave
But the "entry barrier" for most of the projects I've worked on is EAL4. It is A Very Good thing Apple has invested in EAL3, but that's not quite enough to make the people who accredit the systems I've worked on happy.
Thanks for the pointer.
dave
I think the more accurate statement is that Leopard is the first one that -passed- certification.
dave
But there are inconsistencies between the Linux common specification and the POSIX specifications. So until the technical issues get worked out (I think they concern threads and signal handling, but I'm not sure), there's no way a Linux distribution vendor could take his/her Linux product through POSIX conformance testing.
dave
1. For at least some contracting contexts, a POSIX conformance certificate is necessary to bid.
And it's part of the argument that there are viable -standards-based- alternatives to Windows. As a long-time open systems advocate (and someone who worked on POSIX standard), I think this is A Very Good Thing for the industry as a whole, and I'd hope Linux advocates would also see this as progress. Note that Linux does have some known inconsistencies with the POSIX standard, so this is something OS X did that Linux has not achieved.
2. I know (private communications) that there were problems between Apple and Open Group on this for a long time. Some of these were technical problems, areas where apparently Apple didn't conform to the standard. Now those problems have been fixed.
The Linux community needs to work with Open Group and IEEE and ISO to get Linux into conformance (and I think changes to the POSIX standards could well be appropriate here. Presumably we've learned some things over the last 15 years in specifying and implementing the Unix interface.)
3. Open Group testing does have some value, it has been known to find bugs in vendor implementations.
So the fact that OS X provides a complete Unix implementation is hardly earth-shattering. But at least it's a commitment by Apple to pay for the certification, and a recognition that Apple has jumped through both technical and managerial/business hoops.
Now Apple needs to work through the FIPS/Common Criteria certifications for IA.
dave
Judging by both some of the software I have to use, and the comments on /., apparently not.
:-)
A friend once defined hacker as someone who types "main(){}" and then invokes the debugger
Sure there are aspects of software/systems development where mathematics, as the underlying 'physics of software' are not so necessary. But saying that we don't need mathematics for developing software is like saying we don't need physics for constructing buildings. Yeah, it can be done, but the chance of the structure (physical or logical) falling down, particularly under conditions outside the nominal, is unfortunately pretty good.
You do not have to be a mathematician to construct correct programs, but in my experience, it helps A LOT.
dave
Well, two of the more famous examples of 'well dressed losers' are:
WWII German Wehrmacht
Vietnam US
Certainly the US Army was known for profligate equipment and investments, and the Germans were pretty well equipped, too.
dave
The correlation is the -opposite- of what's expected by your reasoning. Better uniforms lose.
:-)
(And part of the reason for my posting this was to draw out the difference between correlation and causality
dave
Years ago I remember reading about a study that predicted, with surprising accuracy (>2/3, if I remember) that the side with the better uniforms loses the war. Anecdotally, this does seem to be true!
I always think about that when I see someone in our ugly Army uniforms, particularly standing next to someone in an USMC dress uniform.
dave (MAJ, USAR, retired)