Nice troll (as per topic). But the "as anyone who's seen Deep Impact or Armageddon knows" part just completely blew your cover. You didn't even have to defend Reagan's Star Wars at the end, but it was a nice closing touch.
Don't worry, though. I bet that some moderator will still take this seriously and mod you up as "Insightful", not "Funny".
familiar unix services like telnet, sendmail (or postfix, of course), ftp and nfs are installed
Jesus, I hope they won't be running by default! We bitch about this enough regarding Linux, but even Red Hat or SuSE requires a bit of tinkering with the installer, so if you've gotten as far as getting it installed you might as well turn off all those pesky unneeded daemons. Now, ten million or more OSX-using newbies who don't even know enough to run the Process Manager and see ftpd, httpd and whatnot running, let alone know what they do and turn them off... that'll be a script kiddie's paradise.
It's not really interesting to port "Unix apps" - in the sense of command-line sysadmin software - to OSX. (Mac-based servers will probably be running OSX Server, which resembles NeXT even more and, when you get down to it, is a full-fledged *nix in all but the name. Porting to it should be trivial.)
What's really interesting to port is what we more often think of as "Linux apps" - stuff that you usually run under Gnome or KDE. Galeon is a good example, as are Gnumeric and LyX. This is graphical end-user level software. There is really no good reason not to port it to OSX; in fact, I plan to do some porting myself once it's released. The only significant obstacle I can think of is the graphics toolkit; with that in mind, I think it'd be interesting to begin a project to provide compatibility layers for all the common graphics toolkits - GTK, Qt, Tk (as in Tcl/ or Perl/), and so on - under OSX. Having that, porting your average "Linux program" to the new system would be almost trivial. The programmers in charge would have a much-expanded user base; and the users would be able to run just about anything that shows up on Freshmeat.net. Everybody's happy:)
Obviously, RSAs legendary patents are primarily a mathematical construct, they are clearly novel, and I would be hard pressed to label such an advance "discovered" instead of "invented".
The number-theoretical properties on which the RSA patents are based have always existed. R, S and A "just" went to the trouble of discovering, documenting and automating them; in principle, though, it might as well have been Euler or Gauss. Either way, they're purely intellectual constructs. It's absurd to say that they "own" that portion of mathematics; in this case, the discussion shouldn't be about intellectual property per se, it should be about how much it cost R, S and A to do all these things and how long they should be allowed to profit from the fruit of their work exclusively to compensate for those costs.
If that doesn't convince you, think about where we'd be if Joseph Fourier had decided to patent his transform. What about integration by parts? Heck, what about Euclid's algorithm for GCD determination?
I tend to suspect the latter, which makes you a flaming hypocrite.
Me living in a cave makes me a hypocrite? How odd.
As a matter of fact, since I became aware of this issue, I've tried to avoid actually paying for watching movies, thus depriving the MPAA (and its Brazilian representation) of my pecuniary suport. Don't get me wrong, I still like some of the big studio movies, just as I still like some proprietary software.
What the fuck do you expect, idiot?
Wow. Yeah, that's some good debatin' - just insult me, that'll get you somewhere.
Just to set the record straight (as if "What the fuck do you expect, idiot?" entitled you to a rational reply), by "willing to pay", I meant for the player, not for the movies.
It's truly a tribute to the idiocy of Slashdot's moderation system that someone who turns on his flamethrower as easily as you would get a +1 score bonus. I'm very thankful that you keep away from k5, as I suspect that we'd feel a chill on our collective spine as the ambient IQ-meter drops noticeably...
It's hosted in Danny Yee's site site; he proofread it. The rest of the Free Software Advocacy section has other interesting things. He also has a review of the book.
I've been repeatedly trying to submit this to Slashdot, and it got rejected again and again! What was that all about? Jesus.
Finally, considering the above, am I the only one who thinks it's ironic that only one chapter of the book is actually "liberated"?
You're probably right... I've been thinking of getting a better sig. Hrrrm.
Ironically, you got moderated up, "Insightful". OTOH, mine was "Overrated"... this despite the fact that +2 is my default, and thus it hadn't been previously "rated" at all. Ah well.
Computer companies prey on this with mindless technobabble like "internet ready" or "fully RFC compliant", and customers are the ones that end up being swindled.
Some people make this out to be exclusive to the computer industry. It's not. Ever seen Joe Average in a department store, shopping around for a refrigerator? Or a stereo? Or a TV? The salesman will play on his ambitions, desires and sexual neurosis; he'll spit out a few product stats, maybe show some brochures, and before poor Joe knows it, he'll be walking out with a huge refrigerator for his one-bedroom home, or a pathetic "home entertainment center".
And don't get me started on cars. Jesus. Sometimes I go with my drivin' friends to the mechanic and just watch as they are completely played, even the more technically savvy of them.
The point being that not everyone is an engineer - in fact, outside of his area of expertise, everyone is a layman and thus subject to some eventual suckering. The difference with computer hardware is the incredible rate of adoption; everybody's buying it, and most people don't really understand it, so this phenomenon becomes somewhat more evident.
By the way, regarding the part about "we, an enlightened (one would hope) group of tech-heads"... well, there are certainly many exceptions, but I wouldn't say the average Slashdotter is "enlightened", not in the least. The average Slashdotter is no hardware expert, who probably doesn't even understand digital logic. He's a "webmaster", a "Perl scripter" who picked up programming in junior high and to this day writes code which somewhat resembles Matt Wright's. He only comes into contact with hardware in the context of graphics cards, sound cards, overclocking or whatever else that may "enhance the gaming experience".
The Average Slashdotter, in conclusion, is Rob Malda. (Minus the piles of IPO cash.) Sad but true.
P.S.: I'm one of the few people I know who bought an iMac because of the innards.:)
Actually, the Slashdot story showed up at night in my timezone; the following morning, Technocrat already had the story. Funny thing is, a lot of people submitted "SETI accelerator is a hoax" since, yet CmdrTaco continued to refer to it (I remember him talking about it in at least one later story), either out of naiveté or just mere stupidity. And now he gives us "Duh". Riiiiight.
(To moderators: "Offtopic"? No, it's got to do with the subject. "Redundant"? Not at the time I posted it. "Troll"? No, it's a serious discussion. "Flamebait"? Not at all. If you feel the need to moderate something down, do it to AC's "Richard Stallman is a goat fucker", not to this post.)
Well, honestly, out of all the people who were contemplating buying one of these, I doubt that many were actually hoping to find extraterrestrial life quicker with it. It was mainly a bunch of tech-obsessed "geeks" with too much dotcom money in their hands, worrying about getting higher and higher stats. They couldn't care less about whether the data they were processing was real or false: they might as well be "crunching" possible combinations of formulas for Coca-Cola's secret recipe.
Wow. I tell you, these newfangled websites just keep getting better! I've never seen anything quite so technically advanced before! Concise, interesting information at your fingertips!
Well, when you rant, you gotta be prepared for an anti-rant...:)
By that argument, it would be perfectly fine to call someone a nAzI or FAscisT because the difference in case indicates we really are not talking about 19th century dictatorships here.
Evidently, we're not talking about 19th century dictatorships; Nazism and Fascism are 20th century phenomena.
Why would someone choose to promote ambiguity?
Maybe, just maybe, the particular guy at Marketing who was in charge of the product name had never heard of the original DIVX. That's not very unfeasible, considering the nature of Marketing departments in general. (Ever heard of the Chevrolet Nova?) As somebody once said, don't attribute to malice that which can be equally well explained by stupidity.
Because the concept of "what's an object?" can change in as many ways as the applications that generate them can.
Um, IMAO, that's not a feature, that's a bug! One of the biggest flaws of Unix is that the only data type common to all applications at run time is the stream of ASCII text, and applications are left to infer all structure and meaning from that ridiculously low-level representation. CORBA attempts to fix that in the context of a static language environment, and fails miserably; so does Mozilla's xpCOM (sp?), although less so.
I've posted about this before, some time ago. I made basically the same point, but since it was earlier I had some more patience and therefore made my point rather more carefully. Damn, I wish I kept a record of my anti-Unix posts on Slashdot...
Okay, I'll concede: if the desired functionality is solely to allow user-level applications to have access to variable per-file attributes, and there's no desire for database-like features such as automated per-property indexing, "smart" reorganisation of disk space by heuristics, and whatnot, then it really makes no difference whether you implement the attributes on the file system level or on an userland library.
However, note that I'm not advocating a traditional file system which happens to feature variable attribute lists, like BeFS; I'm advocating the replacement of the file system by a transparent persistent object database which happens to be implemented on the kernel level (although that distinction isn't very useful either, since most modern systems abolish protected mode entirely and leave the entire system open at run-time; see our other ongoing thread for more of this), and which also happens to feature variable per-object attribute lists. So it's a moot point, really:)
Can I ask why text files with XML structure are not good enough?
Because it just pushes the burden of structure interpretation up to the application programmer. Ideally, when you're programming in a high-level language, you should be able to handle any objects in the system through a consistent set of primitives; the actual representation of your data on the computer should be implicit and left for the system to decide, unless the programmer himself specifies otherwise.
I see no reason why the Unix security model in particular cannot be extended to support safe, shared control of user applications.
The reason is that the Unix model (like most others today) is based on a "stupid" executive which, essentially, just goes around giving control to any piece of binary data which is tagged as "executable" and has the right headers (a.out or ELF). The web site for ETH Oberon goes into significant detail about an alternative executive model which is much smarter.
I think Sun calls that Java.:-)
Well, all of Java's essential flaws aside (and Ghod knows there are plenty of those:), I dare claim that an OS based on a Java VM would be far superior in all the aspects discussed here to our current crop of C/C++-based ones. (I'm not sure whether the JOS project for a Java-based OS is still going on... they seemed to have the right idea, kind of.)
??? Please elaborate.
You obviously weren't here the last time Slashdot had a "X sucks/X rocks" flamewar:) If you're interested, you can check the archives for the last two weeks or so. (Evidently, I stand on the "X sucks" side:)
After all, you can try all the variations you want, but you always end up with a flat cylinder for the wheel.
But that's already assuming that the software you started out to imitate is comparable to the wheel. Maybe it's not; maybe it's comparable to those squareish rock wheels you see on "The Flintstones":)
And it's why we still use X11 and the WIMP model. They work well.
Well, "works well" is subject to discussion. IMAO, "works just barely well enough and it'd be a damned shame to start all over" is more fitting. And what you call "pragmatic", other people call "worse is better". (Then again, this kind of philosophy, "if it works, however barely, don't fix it", seems oddly fitting for a man who recently claimed that systems research was over. Again IMAO, that's akin to (Lord Kelvin's?) claim in the 1890s (less than two decades before Special Relativity and Bohr's atom) that essentially all of physics had been figured out, or to Hilbert's call in the 1900s (three decades before Gödel's Incompleteness Theorem) for a mechanic universal theorem decider.)
As for your comments regarding UIs (i.e., the part of the discussion which is actually on-topic:), I really think you should take a look at the unorthodox projects I mentioned in some other post. A look at Tunes' User Interfaces Review page should also prove interesting.
When implemented on a traditional file system, that kind of library-based solution will always end up being inefficient and sub-optimal; it'll feel like a dirty hack to the application programmer; you'll reach a point when it's preferrable to just use a full-fledged DBMS and get it over with. (I speak from personal experience: in my few (and, thankfully, now over) years of Web programming, I went from flat files to the Tie::File Perl module to CSV to MySQL to finally giving up and going to write nice little non-Web applications.)
Of course, your assumption that "where, really, they don't need to be" isn't necessarily true either; in a lot of applications, the metadata are just as important (or at least, accessed as often) as the associated data. In this case, it would be a really bad idea to impose an additional layer of abstraction between them.
I found this particularly curious:
One of the design goals of Unix (for better or worse, although it seems to work well) is to keep everything in small parts.
Keeping everything in small parts is a Good Thing, yes. But it should apply at a finer grain: instead of having a thousand statically-compiled (from one single big-assed C procedure) programs of a few dozen K talking to each other through a half-assed character stream system (piping? WTF?), it's better to have a million dynamic modules of a few hundred bytes, with well-defined interfaces in a high-level declarative language. And then it ceases to be the Unix philosophy, and becomes the (much better, IMAO) Lisp Machine philosophy!:) See "abstraction inversion".
This is forcing the lowest common denominator upon all applications. It's not a good idea; it forces applications to take up low-level management duties, instead of just focusing on what they should be doing: data manipulation.
The file system should be more like an object database, which takes care of persistent storage of the objects which applications have to manipulate. That implies that it should be able to understand and retain the structure of each object.
An additional advantage of such a higher-level file system is that, for larger objects with complex internal structure which don't always have to be treated as atomic (e.g., structured text documents), fine-grained persistence management becomes possible; the application can specify which parts of the object it needs to inspect or update, without having to load and represent in memory the entire object.
Even BeOS, which is as bad as most other OSs in the aspects discussed here, implements this concept in a limited fashion: instead of having a fixed, global, immutable set of file attributes, the Be File System associates each file type with a set of attributes. So, for example, MP3 files can have attributes "Artist", "Year", "Bit Rate", "Length", etc.; source code files can have attributes "Project", "Language", and so on.
Eek! Ghod rid us of CORBA! CORBA combines the bad features of low-level languages with the bad features of component systems! CORBA is eeeeevil!
inherited and extended from a say [a file like api plus extensions].
Instead of a file API, how about just persistent orthogonality - accessing persistent objects, devices and whatnot just like you'd access a native object which is already in memory, and having the system manage the annoying low-level details like what should be loaded from disk or dumped back? Of course, you can't do that in a static environment like the one C/C++/Unix gives ya...
How you handle this graphically is an exercise left to the reader.:)
You should check the URLs I mentioned here. Both Squeak and ETH Oberon handle very well the problem of user interaction with the object system.
Sure thing. Here's Squeak; it's an all-in-one high-level OS, virtual machine and user interface based on a Smalltalk variant. Also interesting is ETH Oberon, another high-level OS based on the Son-of-Modula of the same name. Both sites have screenshots; both systems can run as applications on top of most popular OSs.
I thought I could see the seeds of the Anti-Mac in systems developed as free software today
there are tendencies towards these design principles in a lot of modern free software
From that part on to the end of the article, the author is, indeed, essentially claiming that Free Software is mostly going the Anti-Mac way, yes. And, of course, a lot of free software development today is GNU/Linux-centered.
Skinning is the future of UI design? Ghod help us!
Seriously, this goes much farther than mere skinning. Why limit yourself to cosmetic changes in your program?
Saying that instead of going towards the Anti-Mac interface, we're going towards skinnable apps, is like saying that instead of voice-recognition, the future of PDA interaction is in being able to change the colour of the case!
I've done some research in UIs for expert systems before; I read the original Anti-Mac article in 1996, and have been pointing to it whenever there's a discussion on user interfaces here at Slashdot. And while all in all this is a very good article, I don't believe that the Unix/X way currently embraced by most Free Software projects is the way to an Anti-Mac system, especially not as it is today. Why?
Well, first of all there's the issue of files. While Unix is almost entirely based on the notion of files, unstructured blobs of data, this paradigm is wholly inappropriate in the network-centric Anti-Mac world. What we want are high-level objects with implicit structure. Text files with XML structure are not good enough.
You also have to consider the issue of multiple agents. This requires a clear-cut, high-level model of interaction between systems, which, of course, doesn't exist (nor could exist) on Unix. A capabilities model would be more appropriate, but even capabilities by themselves aren't enough; the system should be developed in a high-level language itself, which could be used for remote scripting and automation as well.
Then there's the issue of the existing Unix UI systems - by that, I mean X. (Yes, I know about Berlin. I hope it'll be good, but I'm not holding my breath.) Although there's native support to network graphics, it's much too low-level and just generally broken.
Finally, as a lot of people often point out, most of the work in Free Software is still driven by imitation. This is true even (especially?) in GNOME, which is admittedly modelled after Windows' model of low-level, unsafe components with an accordingly brain-damaged user interface. I don't believe that a lot of people working on Free Software have done a lot of UI R&D (with some notable exceptions in the Eazel and Helix teams), so the general tendency for GNU/Linux UIs is (and will be, apparently) that of imitation.
In conclusion: unlike the author, I don't see that the GNU/Linux world is going the Anti-Mac way, quite the contrary. Perhaps some other, entirely new Free Software project might spring up which would be a better match to Nielsen and Gentner's vision; the Morphic UI system of Squeak is a very good start.
(Note: I'm not feeling too well, and I'm writing this kind of in a hurry, so I probably left a lot unclear and unexplained. I'll be glad to clarify.)
Why? Because I refuse to accept the lowest common denominator of pop music, forget everything I've learned about good music in the course of the past few decades and just go listen to crappy boy bands like a good zombie? If that makes me an elitist, then that's what I am.
Um, I don't know what it's like where you live, but over here, the big record corps spend a lot of money making sure that their big "stars" like N'Suck, Blowstreet Boys, Britney Sphincter and the Sperm Girls are basically all there's to hear in the mainstream radio stations. Same for MTV. The idea is that the hit singles will be very popular with the brain-damaged pre-teen listeners, who will then proceed to buy all the CDs, made up of said hit single plus ten or so tracks of pure filler. And they will love it still, because they've been indoctrinated, and when the next hit single + CD comes out they'll do it again. For those who have been brainwashed, sampling is not the issue - they know damned well what they're buying, and they love it.
The problem is that, when the record companies' oh-so-precious music starts being distributed through alternative channels that they can't control just by throwing money at them, it's only a matter of time before independent artists start - *argh* - getting as much air time as the "official" ones. Then pretty soon they'll start selling well too. And, of course, the independent artists get a lot more money off each CD sale than does an "official" one, so the signed-up people will decide that it's just not worth it anymore to be "official". And then the record companies' whole business is ruined.
They're desperately trying to maintain the illusion that they're still as necessary as always. Well, Lincoln once said something about fooling all the people all the time, and I think that applies here.
Nice troll (as per topic). But the "as anyone who's seen Deep Impact or Armageddon knows" part just completely blew your cover. You didn't even have to defend Reagan's Star Wars at the end, but it was a nice closing touch.
Don't worry, though. I bet that some moderator will still take this seriously and mod you up as "Insightful", not "Funny".
familiar unix services like telnet, sendmail (or postfix, of course), ftp and nfs are installed
Jesus, I hope they won't be running by default! We bitch about this enough regarding Linux, but even Red Hat or SuSE requires a bit of tinkering with the installer, so if you've gotten as far as getting it installed you might as well turn off all those pesky unneeded daemons. Now, ten million or more OSX-using newbies who don't even know enough to run the Process Manager and see ftpd, httpd and whatnot running, let alone know what they do and turn them off... that'll be a script kiddie's paradise.
It's not really interesting to port "Unix apps" - in the sense of command-line sysadmin software - to OSX. (Mac-based servers will probably be running OSX Server, which resembles NeXT even more and, when you get down to it, is a full-fledged *nix in all but the name. Porting to it should be trivial.)
:)
What's really interesting to port is what we more often think of as "Linux apps" - stuff that you usually run under Gnome or KDE. Galeon is a good example, as are Gnumeric and LyX. This is graphical end-user level software. There is really no good reason not to port it to OSX; in fact, I plan to do some porting myself once it's released. The only significant obstacle I can think of is the graphics toolkit; with that in mind, I think it'd be interesting to begin a project to provide compatibility layers for all the common graphics toolkits - GTK, Qt, Tk (as in Tcl/ or Perl/), and so on - under OSX. Having that, porting your average "Linux program" to the new system would be almost trivial. The programmers in charge would have a much-expanded user base; and the users would be able to run just about anything that shows up on Freshmeat.net. Everybody's happy
Obviously, RSAs legendary patents are primarily a mathematical construct, they are clearly novel, and I would be hard pressed to label such an advance "discovered" instead of "invented".
The number-theoretical properties on which the RSA patents are based have always existed. R, S and A "just" went to the trouble of discovering, documenting and automating them; in principle, though, it might as well have been Euler or Gauss. Either way, they're purely intellectual constructs. It's absurd to say that they "own" that portion of mathematics; in this case, the discussion shouldn't be about intellectual property per se, it should be about how much it cost R, S and A to do all these things and how long they should be allowed to profit from the fruit of their work exclusively to compensate for those costs.
If that doesn't convince you, think about where we'd be if Joseph Fourier had decided to patent his transform. What about integration by parts? Heck, what about Euclid's algorithm for GCD determination?
I tend to suspect the latter, which makes you a flaming hypocrite.
Me living in a cave makes me a hypocrite? How odd.
As a matter of fact, since I became aware of this issue, I've tried to avoid actually paying for watching movies, thus depriving the MPAA (and its Brazilian representation) of my pecuniary suport. Don't get me wrong, I still like some of the big studio movies, just as I still like some proprietary software.
What the fuck do you expect, idiot?
Wow. Yeah, that's some good debatin' - just insult me, that'll get you somewhere.
Just to set the record straight (as if "What the fuck do you expect, idiot?" entitled you to a rational reply), by "willing to pay", I meant for the player, not for the movies.
It's truly a tribute to the idiocy of Slashdot's moderation system that someone who turns on his flamethrower as easily as you would get a +1 score bonus. I'm very thankful that you keep away from k5, as I suspect that we'd feel a chill on our collective spine as the ambient IQ-meter drops noticeably...
You're probably right... I've been thinking of getting a better sig. Hrrrm.
Ironically, you got moderated up, "Insightful". OTOH, mine was "Overrated"... this despite the fact that +2 is my default, and thus it hadn't been previously "rated" at all. Ah well.
Computer companies prey on this with mindless technobabble like "internet ready" or "fully RFC compliant", and customers are the ones that end up being swindled.
:)
Some people make this out to be exclusive to the computer industry. It's not. Ever seen Joe Average in a department store, shopping around for a refrigerator? Or a stereo? Or a TV? The salesman will play on his ambitions, desires and sexual neurosis; he'll spit out a few product stats, maybe show some brochures, and before poor Joe knows it, he'll be walking out with a huge refrigerator for his one-bedroom home, or a pathetic "home entertainment center".
And don't get me started on cars. Jesus. Sometimes I go with my drivin' friends to the mechanic and just watch as they are completely played, even the more technically savvy of them.
The point being that not everyone is an engineer - in fact, outside of his area of expertise, everyone is a layman and thus subject to some eventual suckering. The difference with computer hardware is the incredible rate of adoption; everybody's buying it, and most people don't really understand it, so this phenomenon becomes somewhat more evident.
By the way, regarding the part about "we, an enlightened (one would hope) group of tech-heads"... well, there are certainly many exceptions, but I wouldn't say the average Slashdotter is "enlightened", not in the least. The average Slashdotter is no hardware expert, who probably doesn't even understand digital logic. He's a "webmaster", a "Perl scripter" who picked up programming in junior high and to this day writes code which somewhat resembles Matt Wright's. He only comes into contact with hardware in the context of graphics cards, sound cards, overclocking or whatever else that may "enhance the gaming experience".
The Average Slashdotter, in conclusion, is Rob Malda. (Minus the piles of IPO cash.) Sad but true.
P.S.: I'm one of the few people I know who bought an iMac because of the innards.
Actually, the Slashdot story showed up at night in my timezone; the following morning, Technocrat already had the story. Funny thing is, a lot of people submitted "SETI accelerator is a hoax" since, yet CmdrTaco continued to refer to it (I remember him talking about it in at least one later story), either out of naiveté or just mere stupidity. And now he gives us "Duh". Riiiiight.
(To moderators: "Offtopic"? No, it's got to do with the subject. "Redundant"? Not at the time I posted it. "Troll"? No, it's a serious discussion. "Flamebait"? Not at all. If you feel the need to moderate something down, do it to AC's "Richard Stallman is a goat fucker", not to this post.)
Well, honestly, out of all the people who were contemplating buying one of these, I doubt that many were actually hoping to find extraterrestrial life quicker with it. It was mainly a bunch of tech-obsessed "geeks" with too much dotcom money in their hands, worrying about getting higher and higher stats. They couldn't care less about whether the data they were processing was real or false: they might as well be "crunching" possible combinations of formulas for Coca-Cola's secret recipe.
Not Found
The requested URL / was not found on this server.
Wow. I tell you, these newfangled websites just keep getting better! I've never seen anything quite so technically advanced before! Concise, interesting information at your fingertips!
More power to the geeks at geekflavor! Hurray!
Well, when you rant, you gotta be prepared for an anti-rant... :)
By that argument, it would be perfectly fine to call someone a nAzI or FAscisT because the difference in case indicates we really are not talking about 19th century dictatorships here.
Evidently, we're not talking about 19th century dictatorships; Nazism and Fascism are 20th century phenomena.
Why would someone choose to promote ambiguity?
Maybe, just maybe, the particular guy at Marketing who was in charge of the product name had never heard of the original DIVX. That's not very unfeasible, considering the nature of Marketing departments in general. (Ever heard of the Chevrolet Nova?) As somebody once said, don't attribute to malice that which can be equally well explained by stupidity.
Because the concept of "what's an object?" can change in as many ways as the applications that generate them can.
Um, IMAO, that's not a feature, that's a bug! One of the biggest flaws of Unix is that the only data type common to all applications at run time is the stream of ASCII text, and applications are left to infer all structure and meaning from that ridiculously low-level representation. CORBA attempts to fix that in the context of a static language environment, and fails miserably; so does Mozilla's xpCOM (sp?), although less so.
I've posted about this before, some time ago. I made basically the same point, but since it was earlier I had some more patience and therefore made my point rather more carefully. Damn, I wish I kept a record of my anti-Unix posts on Slashdot...
Okay, I'll concede: if the desired functionality is solely to allow user-level applications to have access to variable per-file attributes, and there's no desire for database-like features such as automated per-property indexing, "smart" reorganisation of disk space by heuristics, and whatnot, then it really makes no difference whether you implement the attributes on the file system level or on an userland library.
:)
However, note that I'm not advocating a traditional file system which happens to feature variable attribute lists, like BeFS; I'm advocating the replacement of the file system by a transparent persistent object database which happens to be implemented on the kernel level (although that distinction isn't very useful either, since most modern systems abolish protected mode entirely and leave the entire system open at run-time; see our other ongoing thread for more of this), and which also happens to feature variable per-object attribute lists. So it's a moot point, really
Can I ask why text files with XML structure are not good enough?
:-)
:), I dare claim that an OS based on a Java VM would be far superior in all the aspects discussed here to our current crop of C/C++-based ones. (I'm not sure whether the JOS project for a Java-based OS is still going on... they seemed to have the right idea, kind of.)
:) If you're interested, you can check the archives for the last two weeks or so. (Evidently, I stand on the "X sucks" side :)
:)
:), I really think you should take a look at the unorthodox projects I mentioned in some other post. A look at Tunes' User Interfaces Review page should also prove interesting.
Because it just pushes the burden of structure interpretation up to the application programmer. Ideally, when you're programming in a high-level language, you should be able to handle any objects in the system through a consistent set of primitives; the actual representation of your data on the computer should be implicit and left for the system to decide, unless the programmer himself specifies otherwise.
I see no reason why the Unix security model in particular cannot be extended to support safe, shared control of user applications.
The reason is that the Unix model (like most others today) is based on a "stupid" executive which, essentially, just goes around giving control to any piece of binary data which is tagged as "executable" and has the right headers (a.out or ELF). The web site for ETH Oberon goes into significant detail about an alternative executive model which is much smarter.
I think Sun calls that Java.
Well, all of Java's essential flaws aside (and Ghod knows there are plenty of those
??? Please elaborate.
You obviously weren't here the last time Slashdot had a "X sucks/X rocks" flamewar
After all, you can try all the variations you want, but you always end up with a flat cylinder for the wheel.
But that's already assuming that the software you started out to imitate is comparable to the wheel. Maybe it's not; maybe it's comparable to those squareish rock wheels you see on "The Flintstones"
And it's why we still use X11 and the WIMP model. They work well.
Well, "works well" is subject to discussion. IMAO, "works just barely well enough and it'd be a damned shame to start all over" is more fitting. And what you call "pragmatic", other people call "worse is better". (Then again, this kind of philosophy, "if it works, however barely, don't fix it", seems oddly fitting for a man who recently claimed that systems research was over. Again IMAO, that's akin to (Lord Kelvin's?) claim in the 1890s (less than two decades before Special Relativity and Bohr's atom) that essentially all of physics had been figured out, or to Hilbert's call in the 1900s (three decades before Gödel's Incompleteness Theorem) for a mechanic universal theorem decider.)
As for your comments regarding UIs (i.e., the part of the discussion which is actually on-topic
(Note that my +1 bonus remains turned off :)
:P
Except when I, in my infinite idiocy, forget to actually turn it off
When implemented on a traditional file system, that kind of library-based solution will always end up being inefficient and sub-optimal; it'll feel like a dirty hack to the application programmer; you'll reach a point when it's preferrable to just use a full-fledged DBMS and get it over with. (I speak from personal experience: in my few (and, thankfully, now over) years of Web programming, I went from flat files to the Tie::File Perl module to CSV to MySQL to finally giving up and going to write nice little non-Web applications.)
:) See "abstraction inversion".
:)
Of course, your assumption that "where, really, they don't need to be" isn't necessarily true either; in a lot of applications, the metadata are just as important (or at least, accessed as often) as the associated data. In this case, it would be a really bad idea to impose an additional layer of abstraction between them.
I found this particularly curious:
One of the design goals of Unix (for better or worse, although it seems to work well) is to keep everything in small parts.
Keeping everything in small parts is a Good Thing, yes. But it should apply at a finer grain: instead of having a thousand statically-compiled (from one single big-assed C procedure) programs of a few dozen K talking to each other through a half-assed character stream system (piping? WTF?), it's better to have a million dynamic modules of a few hundred bytes, with well-defined interfaces in a high-level declarative language. And then it ceases to be the Unix philosophy, and becomes the (much better, IMAO) Lisp Machine philosophy!
(Note that my +1 bonus remains turned off
This is forcing the lowest common denominator upon all applications. It's not a good idea; it forces applications to take up low-level management duties, instead of just focusing on what they should be doing: data manipulation.
The file system should be more like an object database, which takes care of persistent storage of the objects which applications have to manipulate. That implies that it should be able to understand and retain the structure of each object.
An additional advantage of such a higher-level file system is that, for larger objects with complex internal structure which don't always have to be treated as atomic (e.g., structured text documents), fine-grained persistence management becomes possible; the application can specify which parts of the object it needs to inspect or update, without having to load and represent in memory the entire object.
Even BeOS, which is as bad as most other OSs in the aspects discussed here, implements this concept in a limited fashion: instead of having a fixed, global, immutable set of file attributes, the Be File System associates each file type with a set of attributes. So, for example, MP3 files can have attributes "Artist", "Year", "Bit Rate", "Length", etc.; source code files can have attributes "Project", "Language", and so on.
everything is accessed by a corba interface,
:)
Eek! Ghod rid us of CORBA! CORBA combines the bad features of low-level languages with the bad features of component systems! CORBA is eeeeevil!
inherited and extended from a say [a file like api plus extensions].
Instead of a file API, how about just persistent orthogonality - accessing persistent objects, devices and whatnot just like you'd access a native object which is already in memory, and having the system manage the annoying low-level details like what should be loaded from disk or dumped back? Of course, you can't do that in a static environment like the one C/C++/Unix gives ya...
How you handle this graphically is an exercise left to the reader.
You should check the URLs I mentioned here. Both Squeak and ETH Oberon handle very well the problem of user interaction with the object system.
Sure thing. Here's Squeak; it's an all-in-one high-level OS, virtual machine and user interface based on a Smalltalk variant. Also interesting is ETH Oberon, another high-level OS based on the Son-of-Modula of the same name. Both sites have screenshots; both systems can run as applications on top of most popular OSs.
I'm also referring to:
I thought I could see the seeds of the Anti-Mac in systems developed as free software today
there are tendencies towards these design principles in a lot of modern free software
From that part on to the end of the article, the author is, indeed, essentially claiming that Free Software is mostly going the Anti-Mac way, yes. And, of course, a lot of free software development today is GNU/Linux-centered.
Skinning is the future of UI design? Ghod help us!
Seriously, this goes much farther than mere skinning. Why limit yourself to cosmetic changes in your program?
Saying that instead of going towards the Anti-Mac interface, we're going towards skinnable apps, is like saying that instead of voice-recognition, the future of PDA interaction is in being able to change the colour of the case!
I've done some research in UIs for expert systems before; I read the original Anti-Mac article in 1996, and have been pointing to it whenever there's a discussion on user interfaces here at Slashdot. And while all in all this is a very good article, I don't believe that the Unix/X way currently embraced by most Free Software projects is the way to an Anti-Mac system, especially not as it is today. Why?
Well, first of all there's the issue of files. While Unix is almost entirely based on the notion of files, unstructured blobs of data, this paradigm is wholly inappropriate in the network-centric Anti-Mac world. What we want are high-level objects with implicit structure. Text files with XML structure are not good enough.
You also have to consider the issue of multiple agents. This requires a clear-cut, high-level model of interaction between systems, which, of course, doesn't exist (nor could exist) on Unix. A capabilities model would be more appropriate, but even capabilities by themselves aren't enough; the system should be developed in a high-level language itself, which could be used for remote scripting and automation as well.
Then there's the issue of the existing Unix UI systems - by that, I mean X. (Yes, I know about Berlin. I hope it'll be good, but I'm not holding my breath.) Although there's native support to network graphics, it's much too low-level and just generally broken.
Finally, as a lot of people often point out, most of the work in Free Software is still driven by imitation. This is true even (especially?) in GNOME, which is admittedly modelled after Windows' model of low-level, unsafe components with an accordingly brain-damaged user interface. I don't believe that a lot of people working on Free Software have done a lot of UI R&D (with some notable exceptions in the Eazel and Helix teams), so the general tendency for GNU/Linux UIs is (and will be, apparently) that of imitation.
In conclusion: unlike the author, I don't see that the GNU/Linux world is going the Anti-Mac way, quite the contrary. Perhaps some other, entirely new Free Software project might spring up which would be a better match to Nielsen and Gentner's vision; the Morphic UI system of Squeak is a very good start.
(Note: I'm not feeling too well, and I'm writing this kind of in a hurry, so I probably left a lot unclear and unexplained. I'll be glad to clarify.)
Why? Because I refuse to accept the lowest common denominator of pop music, forget everything I've learned about good music in the course of the past few decades and just go listen to crappy boy bands like a good zombie? If that makes me an elitist, then that's what I am.
Um, I don't know what it's like where you live, but over here, the big record corps spend a lot of money making sure that their big "stars" like N'Suck, Blowstreet Boys, Britney Sphincter and the Sperm Girls are basically all there's to hear in the mainstream radio stations. Same for MTV. The idea is that the hit singles will be very popular with the brain-damaged pre-teen listeners, who will then proceed to buy all the CDs, made up of said hit single plus ten or so tracks of pure filler. And they will love it still, because they've been indoctrinated, and when the next hit single + CD comes out they'll do it again. For those who have been brainwashed, sampling is not the issue - they know damned well what they're buying, and they love it.
The problem is that, when the record companies' oh-so-precious music starts being distributed through alternative channels that they can't control just by throwing money at them, it's only a matter of time before independent artists start - *argh* - getting as much air time as the "official" ones. Then pretty soon they'll start selling well too. And, of course, the independent artists get a lot more money off each CD sale than does an "official" one, so the signed-up people will decide that it's just not worth it anymore to be "official". And then the record companies' whole business is ruined.
They're desperately trying to maintain the illusion that they're still as necessary as always. Well, Lincoln once said something about fooling all the people all the time, and I think that applies here.