That article is from the Unix-haters handbook. Sorry, but taking the advice of people who hate Unix on a fundamental level on how to improve it seems kind of stupid to me. Especially when you consider that many of the contributors aren't even Mac or Windows people but former users of antique proprietary systems that Unix killed, like TOPS-20 or Lisp Machines (forgive me, jwz, but the LispM interface makes X look intuitive and pretty by comparison).
There are certainly things about X that suck but I have yet to see a design that fixes all the mistakes but still provides the same benefits.
I did not grow up in Russia, but I did spend my earliest years in Poland, back when it was a Communist puppet state subservient to Russia. I can attest to the fact that there was little or no advertising. However, people had to wait in long lines for hours to get even the basic necessities of life, and anything there was an especially large shortage of was strictly rationed. The American system may be "less efficient", but no one in my family ever had to wait in line for food here, even before my parents knew the language or had jobs.
I have been back to Poland since the fall of Communism, and even though living conditions are still poor compared to America, no one has to wait in line for food any more and the qaulity of life for the average person is rapidly improving. From this I can only assume that the disintegration of post-communist Russia is due to the much deeper systemic damage to the nation and the culture, and the fact that Russia has previously always been a totalitarian nation, whether under the czars or under the communists, and the people do not know how to be free.
In fact, I have a hard time believing you ever really lived in Russia. I have never met a Russian emigrant who believed Russia was ever "a society without crime, poverty, unemployment or homelessness". Russia was a society of universal poverty, and so were the nations it enslaved. Russians I have met tend more towards statements like "we lived for a long time in a country where no one was happy."
The only explanation I can think of is that maybe your parents were part of the nomenklatura.
Although RH, not the largest Linux vendor BTW, market capitalization is higher than SCO's the latter ones revenues are higher than RH's.
RHAT's valuation is based on mindshare and installed base, not revenue, and they are definitely winning there. SCO may have more revenue, and for that matter so may SuSE, but they can't touch the installed base or mindshare.
Remember how last LinuxWorld suits were going around asking the ticker symbol for Linux? Well, as far as they're concerned RHAT is now the ticker symbol for Linux.
Stereotypes, especially ones that are not strictly derogatory, often arise because many members of the stereotyped group act that way. It is probably true that most geeks are somewhere in the liberal/libertarian range and more likely to be atheists or members of some non-standard religion than the norm. The problem with stereotpes comes about when you apply them to every individual in a group, rather than examining their individual charactericts.
Basically, no stereotype of geeks or nerds will ever be 100% right, heck, there's probably not even a definition of `geek' or `nerd' everyone could agree on. But every culture has trends running through it - that's what creates a distinct culture in the first place. And we shouldn't deny the various trends of our culture just because none of them fits all of us.
Evolution has been seen to happen in action. Animal populations change from generation to generation, both through natural selection and artificial selection. Look at dogs. Look at those moths which changed from black to white during the industrial revolution. Look at bacteria developing resistance to antibiotics.
What most people _mean_ when they say "evolution is a theory" is that it is only a hypothesis that all of the species that are around today arose through evolution from common ancestors. That is true - no one has personally observed this happening. However, it is the theory that bests fits the observed evidence. It is also a theory that makes some predictions that continue to be validated regularly. In the scientific world, theories are never declared absolutely finally true or false - they are declared to be the best fit for the currenlty known evidence.
So yes, evolution is a theory, much like the theories that the earth is an oblate sheroid, that strange quarks exist, that the stars are much like our sun but further away, and many other things that no one human can directly perceive at one shot, but that best explain the evidence at hand.
Note that evolution is not even incompatible with certain varieties of creationism. You could claim that god put a few single cells in the water and then let things go. But there are other explanations for how life may have begun which are more convincing from a scientific standpoint.
"Believing" in evolution thus requires _no_ faith, because the belief is scientific - those who hold it are ready to reject or revise it if contrary evidence is found. On the other hand "believing" in creationism _does_ require faith, because it is a belief held without, and often in direct contradiction to the evidence. This is the key difference between a scientific theory and a religious belief.
Build enlightenment/wmaker/fvwm/etc.. as a library. Allow the wm to be linked into the X server(I know, but but it's a good thing). This would lower the context switches a good bit. because you'd get rid of the X/WM/CLIENT clusterfsck that can often happen when you have an app running and you MOVE THE MOUSE (Ohh My God). Besides, if you want to switch WM's - we use the libdl.so to kill the hooks, blow out the old wm lib, and relink the new lib.
Your other suggestions sound good, but this is a stupid idea. Right now if your window manager crashes, or hangs, or even worse hangs with the X server grabbed, you can kill and restart it and the X server keeps chugging. If it were dyn-loaded, a WM failure would mean your whole X server is toast. Plus WM memory corruption would mean scribbling all over server memory: bad!
But the real reason it sucks is that it is totally optimizing the wrong thing. Show me _any_ app where the performance bottleneck is manipulation of top-level windows (this being the only time the window manager gets involved) and I will show you a really poorly designed app. Most times the WM is doing anything it is user interaction with window decorations, or a new app coming up, and the context switches are not the bottleneck there.
The debate was whether getting any shell was practically equivalent to getting a root shell. I claim the abundance of Linux rootkits means it is, and so giving out the root password is fairly meaningless. However, a valid point was raised that many of the exploits would be x86-specific. Porting these would require both x86 and PPC asm skills. This would make getting a root shell from a user shell decidedly less trivial, i.e. something that could not be done by Joe Script Kiddie.
Nowhere was this meant to imply that non-script-kiddies wouldn't try to crack the box.
Not all the exploits in a root kit are buffer overflows. Filesystem races are fully portable ways to get an suid root shell executable:-)
You are right though that the buffer overflows would take some thought to modify for PPC - thought that the average script kiddie almost certainly is not capable of.
On most stock Linux installs you can't log in directly as root remotely. You'd still need to get at least a non-root shell somehow.
Basically he is just lowering the barrier of entry from "get a root shell" to "get a shell", but given the number of rootkits out for Linux, these are already pretty equivalent (penetrating a Linux box remotely is a lot harder than getting root once you are in).
Even the free BSD operating systems owe Stallman. In anticipation of the expected rant that it would not be that hard to replace the GNU toolchain with a BSD-licensed one, well, I'll believe it when I see it.
Would BSD be nearly as widely ported as it is if it weren't for the fact that GCC has been ported to nearly every CPU in existence, and is well-designed enough to be easy to port to others?
Heck, I am sure they will all be happy to take credit for the performance improvements when the NEW_IA32 code gets merged into mainline gcc, resulting in just about the best x86 code generation the state of the art can buy, too.
That's not good engineering, to write buggy code and expect other people to fix the tools to work around your buggy code.
Especially given that there's a flag to turn off the code that exposes the bug already. Linus was still pissed because he wanted the performance benefits of strict aliasing without having to clean up the kernel code to not violate the aliasing rules.
> And it's totally alien to Win32, unlike Cygnus > (it has pretty much equal status as far as the > Kernel is concerned).
That's exactly why cygwin32 is so much better than products like Interix - you can mix and match your Unix code with win32 code to do GUI stuff, COM, etc.
NT actually already ships with a Posix subsystem, though the current one sucks beyond belief.
But basically, why would you want to deploy on Windows at all if you can't do COM or GUI stuff? Those are supposed to be their two big selling points.
> Well I was a college student once myself so feel > qualified to say this...:) > > The reason is, because college students don't > have real work to get done, and as such Linux is > cool.
Hmm, I knew a lot more people at school who ran servers or did serious software development with Linux (or other free Unix) than with any form of Windows.
Now granted, we are talking small-scale web and ftp sites in most cases, but the fact is it seemed like it was a lot easier to get a web server up with a Linux or *BSD box and then essentially forget about it and have it Just Work than with a Windows machine.
How can anyone say that with a straight face when SuSE's business is primarily redistributing software written by others? They seem perfectly happy to "steal" Linus's stuff, "steal" the FSF's stuff, hell, even "steal" Red Hat's stuff in the form of RPM, but now suddenly other people "stealing" their stuff would be so terrible?
I think many people accept the word 'hacker' has two "separate and distinct" meanings.
Hackers in the old-school "clever coder" sense used to not care that people who broke system security also called themselves "hackers". In fact, many of these people _were_ hackers in the old school sense - they actually applied cleverness in unusual ways to break security, instead of just downloading "Back Orfice" or a rootkit.
But now if you say one of your friends is "a good hacker" people will wonder what systems he is breaking into. People or not pissed that there is this new additional meaning, but that it is destroying the ability to use the term with the original meaning. Personally I think using the term "hacker" correctly whenever appropriate is the best way to fix this.
Anyway, I don't really care what system crackers want to call themselves. If burglars wanted to call themselves locksmiths why should anyone take them seriously?
They used to break into buildings and pull off amazing 'hacks'. Mostly by college kids. This was way before anything was codable. The term hacker then moved on to people also breaking into computers. Bite me!
This usage of the term originates at MIT. The other sense of "hacker" as in a clever coder does as well. They have common origins. I think if you ask most roof & tunnel hackers still active at MIT, they will agree that the "clever coder" sense is more correct than the "person who breaks system security" one.
> the non-techy would design something that > doesn't work but looks like it would work well > for everybody.
I don't think it would necessarily even be that good. I don't think most people are consciously self-aware of what kind of interface is good for them, let alone anyone else, and would not think about things like consitency and feedback at all.
> The HCI-expert would combine the two and make > something that works well for everybody.
Well if that article is typical of HCI experts they wouldn't design something that works well for _me_.
If Linux stops being fun for people to hack on, then people will stop doing so and it will die. Thus, being useful and entertaining to the geek crowd is extremely important, because that's how developers and qualified testers get recruited.
Thus, the advice to ignore the input of programmers when doing UI design should be ignored. Of course, considering the input of the average user _as well_ may be a good plan.
Also, just because someone is an average user, that does not make them more likely to be a good HCI designer! If you had a programmer, an HCI expert and a completely non-technical person all design an interface, I bet the programmer would design something that was easier to use for the avergae non-techie than what the non-technical person would design.
Also, it is pretty annoying in general when a random person who has not made a significant contribution to free software gets on his high-horse and says "Linux _must_ do X"! It is especially annoying when X involves removing features that hackers like.
BTW I have four virtual desktops with 6-7 windows open each right now, and I am using each one to do something useful. This is a pretty light load compared to the usual. Not that a window manager that can manage many windows is somehow _worse_ at managing a few...
Hmm, back in the heyday of Wired, the nerds I knew only read it to make fun of the self-styled "digerati" who thought they were cool and hip because they fanboyed about technology, even though they didn't really understand it. The sort of people who didn't grasp that the Internet was more than just port 80. The sort of people who thought things like intelligent toilets or cuff-links with built-in cell-phones were the most exciting implications of our ongoing technological revolution.
Wired was certainly interesting to look at while tripping for the entertainment value of the layout alone, but please, let's not assume their blandly yuppietopian vision of the future has any real relevance to net culture.
I was obliquely trying to point out that the mbuf subsystem is poorly desgned.
Your post doesn't convince me otherwise - Linux doesn't need explicit tuning for this sort of thing, since it avoids kludgy single-purpose memory management subsystems.
I do think many other aspects of *BSD are much better designed than the Linux equivalent, but networking is not one of them, IMO.
It makes sense if you think about it. Start with a working base system and let the user build on it from there.
It makes sense if the user has the time and inclination to do that. Certainly certain types of people do. Personally I think I know enough about Unix now that I don't need to hand-assemble each box I install.
I'll grant you that in providing an appropriate program to install gnu tools FreeBSD is way ahead of Solaris or HP-UX.
That article is from the Unix-haters handbook. Sorry, but taking the advice of people who hate Unix on a fundamental level on how to improve it seems kind of stupid to me. Especially when you consider that many of the contributors aren't even Mac or Windows people but former users of antique proprietary systems that Unix killed, like TOPS-20 or Lisp Machines (forgive me, jwz, but the LispM interface makes X look intuitive and pretty by comparison).
There are certainly things about X that suck but I have yet to see a design that fixes all the mistakes but still provides the same benefits.
I did not grow up in Russia, but I did spend my earliest years in Poland, back when it was a Communist puppet state subservient to Russia. I can attest to the fact that there was little or no advertising. However, people had to wait in long lines for hours to get even the basic necessities of life, and anything there was an especially large shortage of was strictly rationed. The American system may be "less efficient", but no one in my family ever had to wait in line for food here, even before my parents knew the language or had jobs.
I have been back to Poland since the fall of Communism, and even though living conditions are still poor compared to America, no one has to wait in line for food any more and the qaulity of life for the average person is rapidly improving. From this I can only assume that the disintegration of post-communist Russia is due to the much deeper systemic damage to the nation and the culture, and the fact that Russia has previously always been a totalitarian nation, whether under the czars or under the communists, and the people do not know how to be free.
In fact, I have a hard time believing you ever really lived in Russia. I have never met a Russian emigrant who believed Russia was ever "a society without crime, poverty, unemployment or homelessness". Russia was a society of universal poverty, and so were the nations it enslaved. Russians I have met tend more towards statements like "we lived for a long time in a country where no one was happy."
The only explanation I can think of is that maybe your parents were part of the nomenklatura.
Although RH, not the largest Linux vendor BTW, market capitalization is higher than SCO's the latter ones revenues are higher than RH's.
RHAT's valuation is based on mindshare and installed base, not revenue, and they are definitely winning there. SCO may have more revenue, and for that matter so may SuSE, but
they can't touch the installed base or mindshare.
Remember how last LinuxWorld suits were going around asking the ticker symbol for Linux? Well, as far as they're concerned RHAT is now the ticker symbol for Linux.
Stereotypes, especially ones that are not strictly derogatory, often arise because many members of the stereotyped group act that way. It is probably true that most geeks are somewhere in the liberal/libertarian range and more likely to be atheists or members of some non-standard religion than the norm. The problem with stereotpes comes about when you apply them to every individual in a group, rather than examining their individual charactericts.
Basically, no stereotype of geeks or nerds will ever be 100% right, heck, there's probably not even a definition of `geek' or `nerd' everyone could agree on. But every culture has trends running through it - that's what creates a distinct culture in the first place. And we shouldn't deny the various trends of our culture just because none of them fits all of us.
Evolution has been seen to happen in action. Animal populations change from generation to generation, both through natural selection and artificial selection. Look at dogs. Look at those moths which changed from black to white during the industrial revolution. Look at bacteria developing resistance to antibiotics.
What most people _mean_ when they say "evolution is a theory" is that it is only a hypothesis that all of the species that are around today arose through evolution from common ancestors. That is true - no one has personally observed this happening. However, it is the theory that bests fits the observed evidence. It is also a theory that makes some predictions that continue to be validated regularly. In the scientific world, theories are never declared absolutely finally true or false - they are declared to be the best fit for the currenlty known evidence.
So yes, evolution is a theory, much like the theories that the earth is an oblate sheroid, that strange quarks exist, that the stars are much like our sun but further away, and many other things that no one human can directly perceive at one shot, but that best explain the evidence at hand.
Note that evolution is not even incompatible with certain varieties of creationism. You could claim that god put a few single cells in the water and then let things go. But there are other explanations for how life may have begun which are more convincing from a scientific standpoint.
"Believing" in evolution thus requires _no_ faith, because the belief is scientific - those who hold it are ready to reject or revise it if contrary evidence is found. On the other hand "believing" in creationism _does_ require faith, because it is a belief held without, and often in direct contradiction to the evidence. This is the key difference between a scientific theory and a religious belief.
me too
Did anyone in the affinity program get shares?
Seems like a lot of people got the reject notice
at one.
I was pissed enough that I had to decrease my number of shares ordered because of the last minute price increase...
Build enlightenment/wmaker/fvwm/etc.. as a library. Allow the wm to be linked into the X server(I know, but but it's a good thing). This
would lower the context switches a good bit. because you'd get rid of the X/WM/CLIENT clusterfsck that can often happen when you have
an app running and you MOVE THE MOUSE (Ohh My God). Besides, if you want to switch WM's - we use the libdl.so to kill the hooks, blow out the old wm lib, and relink the new lib.
Your other suggestions sound good, but this is a stupid idea. Right now if your window manager crashes, or hangs, or even worse hangs with the X server grabbed, you can kill and restart it and the X server keeps chugging. If it were dyn-loaded, a WM failure would mean your whole
X server is toast. Plus WM memory corruption
would mean scribbling all over server memory: bad!
But the real reason it sucks is that it is totally optimizing the wrong thing. Show me _any_ app where the performance bottleneck is manipulation of top-level windows (this being the only time the window manager gets involved) and I will show you a really poorly designed app. Most times the WM is doing anything it is user interaction with window decorations, or a new app coming up, and the context switches are not the bottleneck there.
Time to short MS stock yet? Maybe that E*Trade
account will be good for something after all.
The debate was whether getting any shell was practically equivalent to getting a root shell. I claim the abundance of Linux rootkits means it is, and so giving out the root password is fairly meaningless. However, a valid point was raised that many of the exploits would be x86-specific. Porting these would require both x86 and PPC asm skills. This would make getting a root shell from a user shell decidedly less trivial, i.e. something that could not be done by Joe Script Kiddie.
Nowhere was this meant to imply that non-script-kiddies wouldn't try to crack the box.
Not all the exploits in a root kit are buffer overflows. Filesystem races are fully portable :-)
ways to get an suid root shell executable
You are right though that the buffer overflows would take some thought to modify for PPC - thought that the average script kiddie almost
certainly is not capable of.
On most stock Linux installs you can't log
in directly as root remotely. You'd still
need to get at least a non-root shell somehow.
Basically he is just lowering the barrier of entry from "get a root shell" to "get a shell", but given the number of rootkits out for Linux, these are already pretty equivalent (penetrating a Linux box remotely is a lot harder than getting root once you are in).
Even the free BSD operating systems owe Stallman.
In anticipation of the expected rant that it would not be that hard to replace the GNU toolchain with a BSD-licensed one, well, I'll believe it when I see it.
Would BSD be nearly as widely ported as it is if it weren't for the fact that GCC has been ported to nearly every CPU in existence, and is well-designed enough to be easy to port to others?
Heck, I am sure they will all be happy to take credit for the performance improvements when the NEW_IA32 code gets merged into mainline gcc, resulting in just about the best x86 code generation the state of the art can buy, too.
That's not good engineering, to write buggy code and expect other people to fix the tools to work around your buggy code.
Especially given that there's a flag to turn off the code that exposes the bug already. Linus was still pissed because he wanted the performance benefits of strict aliasing without having to clean up the kernel code to not violate the aliasing rules.
> And it's totally alien to Win32, unlike Cygnus
> (it has pretty much equal status as far as the
> Kernel is concerned).
That's exactly why cygwin32 is so much better than products like Interix - you can mix and match your Unix code with win32 code to do GUI stuff, COM, etc.
NT actually already ships with a Posix subsystem,
though the current one sucks beyond belief.
But basically, why would you want to deploy on Windows at all if you can't do COM or GUI stuff? Those are supposed to be their two big selling points.
> Well I was a college student once myself so feel :)
> qualified to say this...
>
> The reason is, because college students don't
> have real work to get done, and as such Linux is
> cool.
Hmm, I knew a lot more people at school who ran servers or did serious software development with
Linux (or other free Unix) than with any form of
Windows.
Now granted, we are talking small-scale web and
ftp sites in most cases, but the fact is it seemed like it was a lot easier to get a web server up with a Linux or *BSD box and then essentially forget about it and have it Just Work than with a Windows machine.
> you just don't get to steal their stuff.
How can anyone say that with a straight face when SuSE's business is primarily redistributing software written by others? They seem perfectly happy to "steal" Linus's stuff, "steal" the FSF's stuff, hell, even "steal" Red Hat's stuff in the form of RPM, but now suddenly other people "stealing" their stuff would be so terrible?
I think many people accept the word 'hacker' has two "separate and distinct" meanings.
Hackers in the old-school "clever coder" sense used to not care that people who broke system security also called themselves "hackers". In fact, many of these people _were_ hackers in the old school sense - they actually applied cleverness in unusual ways to break security, instead of just downloading "Back Orfice" or a rootkit.
But now if you say one of your friends is "a good hacker" people will wonder what systems he is breaking into. People or not pissed that there is this new additional meaning, but that it is destroying the ability to use the term with the original meaning. Personally I think using the term "hacker" correctly whenever appropriate is
the best way to fix this.
Anyway, I don't really care what system crackers want to call themselves. If burglars wanted to call themselves locksmiths why should anyone take them seriously?
They used to break into buildings and pull off
amazing 'hacks'. Mostly by college kids. This was
way before anything was codable. The term hacker then moved on to people also breaking into computers. Bite me!
This usage of the term originates at MIT. The other sense of "hacker" as in a clever coder does as well. They have common origins. I think if you ask most roof & tunnel hackers still active at MIT, they will agree that the "clever coder" sense is more correct than the "person who breaks system security" one.
> the non-techy would design something that
> doesn't work but looks like it would work well
> for everybody.
I don't think it would necessarily even be
that good. I don't think most people are
consciously self-aware of what kind of interface
is good for them, let alone anyone else, and
would not think about things like consitency and
feedback at all.
> The HCI-expert would combine the two and make
> something that works well for everybody.
Well if that article is typical of HCI experts they wouldn't design something that works well
for _me_.
If Linux stops being fun for people to hack
on, then people will stop doing so and it will
die. Thus, being useful and entertaining to the
geek crowd is extremely important, because that's
how developers and qualified testers get recruited.
Thus, the advice to ignore the input of programmers when doing UI design should be ignored. Of course, considering the input of the average user _as well_ may be a good plan.
Also, just because someone is an average user, that does not make them more likely to be a good HCI designer! If you had a programmer, an HCI expert and a completely non-technical person all design an interface, I bet the programmer would design something that was easier to use for the avergae non-techie than what the non-technical person would design.
Also, it is pretty annoying in general when a random person who has not made a significant contribution to free software gets on his high-horse and says "Linux _must_ do X"! It is especially annoying when X involves removing features that hackers like.
BTW I have four virtual desktops with 6-7 windows
open each right now, and I am using each one to
do something useful. This is a pretty light load
compared to the usual. Not that a window manager
that can manage many windows is somehow _worse_
at managing a few...
It would be nice if Tom Christiansen would post with his real name. Or is this just a brilliant parody?
The GPL is not legislation, it's a license agreement. A voluntary agreement is by definition not coercive.
Hmm, back in the heyday of Wired, the nerds I knew only read it to make fun of the self-styled "digerati" who thought they were cool and hip because they fanboyed about technology, even though they didn't really understand it. The sort of people who didn't grasp that the Internet was more than just port 80. The sort of people who thought things like intelligent toilets or cuff-links with built-in cell-phones were the most exciting implications of our ongoing technological revolution.
Wired was certainly interesting to look at while tripping for the entertainment value of the layout alone, but please, let's not assume their blandly yuppietopian vision of the future has any real relevance to net culture.
I was obliquely trying to point out that the mbuf subsystem is poorly desgned.
Your post doesn't convince me otherwise - Linux doesn't need explicit tuning for this sort of thing, since it avoids kludgy single-purpose memory management subsystems.
I do think many other aspects of *BSD are much better designed than the Linux equivalent, but networking is not one of them, IMO.
It makes sense if you think about it. Start with a working base system and let the user build on it from there.
It makes sense if the user has the time and inclination to do that. Certainly certain types of people do. Personally I think I know enough about Unix now that I don't need to hand-assemble each box I install.
I'll grant you that in providing an appropriate program to install gnu tools FreeBSD is way ahead
of Solaris or HP-UX.