How many people have died on US soil since 9/11 in terrorist attacks?
AFAIK zero. But watch out, now someone might claim that this is due to the PATRIOT act and various government activities, such as warrantless wiretapping, Echelon, etc, etc.
It's a classic case of culture shock, and Windows users entering the Linux world will have to overcome it or return back to Windows. It's not that Windows users are stupid, or that Linux users are snobs; it's just that they don't see eye to eye and mistake differences for definancies.
It is a pity I don't have any mod points. This is the best I have read on the subject for a long time. The comparison with moving to a different country is really great.
On a clean machine, Ubuntu is probably easier to install than Windows. I don't think that that is the issue at all.
The problem is that almost no "ordinary user" has to install Windows, since it's already there when they buy it. The only "installation" of the operating system that they do is reloading it from a rescue disc when they are overwhelmed by disk fragmentation, viruses or such problems.
More bugs, yes, but more importantly a helplessness against the bugs.
This very much reminds me about what happened to me a few years ago. I had a computer (running Windows XP) with a Geforce 2 GTS graphics card, and it was running fine. One day my brother bought a new Geforce 4 TI 4600, and I borrowed it to find out if such a card would make my computer faster, or if it would require a more modern system.
Anyway, I replaced my card with the new card and rebooted. The computer came up in fallback non-accelerated mode, even after a few reboots. The error message in the device manager was simply "This device cannot start", nothing more, nothing less. I figured that this card did not work in my computer, and swapped back to my old card. Surprisingly, this card now refused to work, with exactly the same error message.
The funny thing is that both cards worked flawlessly in Linux, both using the open source driver shipped with XFree86, and with the nVidia proprietary driver. This made it possible to keep using the computer for serious work, which I only do in Linux. But the problem in Windows made it impossible to run any type of game, which I enjoy playing every now and then.
Even scouring the 'Net for information about the error message did not bring up any useful information at all. At that point I felt very powerless. I finally "fixed" the problem by buying a new computer (or rather parts, since I prefer building them myself).
Yes, it's always a possibility, but the chance of the OSS community not figuring out quickly and putting a stop to it is pretty small.
How do you expect anyone to figure it out when the driver is closed-source? Drivers have complete access to the kernel address space (i.e. no memory protection), and can do whatever the driver developer wants. Good luck finding out that a specific problem is caused by a binary driver except by disabling it and checking if the bug goes away.
I'm always amused at the 'is linux ready for the desktop' crap that keeps getting recycled every 6 months.
Every six months? I read claims that 'Linux is not ready for the desktop' at least once a week. Granted, it might not all be articles, but (e.g. Slashdot) comments. Having used Linux on the desktop since 1999, I find those claims quite a bit funny.:)
Well, uhm, when put like this it becomes obvious - you aren't allowed to do that because so many people would abuse it.
Here in Sweden, one of the large food store chains have been using what they call "Shop 'n Go" for a few years, without any obvious problems. This system gives every customer a hand scanner at the entrance, the customer scans the bar code of every item they put in their cart, and instead of a counter where you pay, they have a check-out point. At this place, the customer places the hand scanner into a docking bay that transfers the registered purchases to the paying system. Then the customer pays using his/her credit card, without any human intervention.
To avoid people "forgetting" to register items with the hand scanner, the store picks a random sample of their customers for detailed inspection by a security guard. This seems to be enough to keep "forgotten" items in the carts at a minimum, otherwise you would guess that they had ditched the system by now.
wondered why the fuck the "much faster" GNOME 2.14 was running so slowly
Did you run with SELinux enabled? Rumor is that SELinux almost entirely cancels out the speed increase by Gnome 2.14. I run with SELinux disabled and I'd say that FC5 is much faster than FC4.
FC4 could at least use its own distro CDs to resolve dependencies when adding RPMs post-install. FC5 can't do anything without contacting the mothership.
This is because FC5 uses a brand-new graphical package management tool, Pirut, for this purpose. They are working to add this functionality to Pirut, and my guess is that it will be ready in time for FC6.
As a workaround, you can create a local repository with the contents of the CDs/DVD, and add it to the yum configuration.
Have they taken care of the 'updatability' deal with their network based install yet?
They are working on it. In Fedora Core 5, much infrastructure work is in place since the installer now uses yum to install packages. What you ask for is planned for inclusion in FC6.
The Java programming language was based off of C/C++ so it would be familiar for programmers and easier for them to switch from C/C++ to Java. So it's very possible that it would treat this bit of code the same way. Maybe, maybe not - I haven't tried it.
I'm quite sure that such a bug is impossible. Remember that Java replaces the whole concept of pointers with references, and I don't think that Java allows references to functions. I assume that using the name of a function as a variable would produce a compile error.
Perhaps you could make your point by comparing Windows and Linux versions that aren't 11 years apart.
Some people do it the other way around. This is a comparison between Windows (Server?) 2003 and Red Hat Linux 3.0.
Be warned though, you're up for some truly hilarious reading, including that Microsoft invented the modern computer, the Internet and the World Wide Web.:)
The bug ocurred in X11, yes, but the problem itself is only related to the C/C++ programming languages.
I just didn't know what the geteuid variable was - maybe it was an int, maybe a boolean, maybe a String. . . to know that I'd have to know about X11's development stuff - read their source or something.
Actually you wouldn't have to. You would only need to know that geteuid() is a common system call on Unix and compatible systems. Knowing this, and the intricacies of the C programming language, is all that is required to understand the bug. geteuid is not an ordinary variable, it's a function. In the C programming language this means that the name of the function is a variable containing the address of the start of the function code.
I haven't run into this yet, but I'm assuming the same thing could happen with ANY programming language (I know Java, for anyone who hasn't checked my site out).
This could not happen in any programming language, only languages with function call semantics similar to C/C++. This bug can not happen in e.g. Java, since the compiler would report it as an error.
Apparently you are unfamiliar with the nature of corporate NewSpeak.
There may be several explanations for this. Although I consider myself fluent in the English language, it isn't my native one (which is Swedish). This means that certain terms that, like the ones you mentioned, mean the opposite of what they seem to mean, might be unfamiliar to me. The second reason is that I (currently) do not work in the coporate world, but in academia. And as a Swedish government institution we have a legal obligation to keep much of our documents archived for ever, so I do not come into contact with such document retention policies, rather the opposite.
Sorry, I don't know that much about X11's development stuff.
The problem isn't related to X11 at all, except for the fact that the bug ocurred in the X Window System. Such a bug could have ocurred in any C program.
Whoa...can I get a reference for this one? I've never seen this one before.
I remember I read about it some time ago, but I cannot remember where. A quick Google for "Bill Gates" and "dumpster" turned up an interview with Bill Gates where this was mentioned.
There's an entire industry, dubbed "document retention" [kahnconsultinginc.com] that is actually focused on destroying anything that might be used as evidence in a legal proceeding as soon as it is no longer needed
I doubt that you are correct, since document retention means retaining (i.e. saving) documents. Maybe document expiration was the term you were looking for?
I also get the impression that binary formats are harder to compress than text formats (e.g. XML). Case in point: Microsoft DOC format vs. OpenDocument Text (ODT) format.
So you can have both a variable geteuid and a function geteuid().
Actually, geteuid is a variable containing the address of the function geteuid. Appending () to geteuid simply calls the function at that address. The way you wrote it could be interpreted as geteuid and geteuid() being two separate entities.
calling the variable instead of the function
You don't really call variables, you refer to variables.:)
The definition of getuid in Linux's/usr/include/unistd.h says that it is a function (and not a function pointer).
All functions are function pointers, it's just that they are implicitly declared as constants. Refering to a function name without appending parentheses gives the function address, appending the parentheses calls the function (at the address contained in the function name).
I apologize for my ignroance, but could you go into a little more detail here? If you're not getting the value the function returns, what are you asking it for? Is this a way of getting to a function faster than simply calling it?
No, function pointers have a different purpose. They allow you to send functions (or rather function pointers) as arguments to other functions. An example of this is the C function qsort(), which (among others) takes a pointer to a comparison function, which allows you to use qsort() to sort any type of array, not just e.g. integers.
Another use for function pointers is when dynamically loading libraries at runtime. In this case you need to ask the dynamic linker to provide pointers to the library functions to be able to call its functions.
So the code in question compares the value of the function pointer geteuid to 0, instead of calling geteuid() and comparing the return value to 0. And you don't want that, since statically declared functions are always non-zero (AFAIK) and the comparison would be moot.
How many people have died on US soil since 9/11 in terrorist attacks?
AFAIK zero. But watch out, now someone might claim that this is due to the PATRIOT act and various government activities, such as warrantless wiretapping, Echelon, etc, etc.
It's a classic case of culture shock, and Windows users entering the Linux world will have to overcome it or return back to Windows. It's not that Windows users are stupid, or that Linux users are snobs; it's just that they don't see eye to eye and mistake differences for definancies.
It is a pity I don't have any mod points. This is the best I have read on the subject for a long time. The comparison with moving to a different country is really great.
On a clean machine, Ubuntu is probably easier to install than Windows. I don't think that that is the issue at all.
The problem is that almost no "ordinary user" has to install Windows, since it's already there when they buy it. The only "installation" of the operating system that they do is reloading it from a rescue disc when they are overwhelmed by disk fragmentation, viruses or such problems.
More bugs, yes, but more importantly a helplessness against the bugs.
This very much reminds me about what happened to me a few years ago. I had a computer (running Windows XP) with a Geforce 2 GTS graphics card, and it was running fine. One day my brother bought a new Geforce 4 TI 4600, and I borrowed it to find out if such a card would make my computer faster, or if it would require a more modern system.
Anyway, I replaced my card with the new card and rebooted. The computer came up in fallback non-accelerated mode, even after a few reboots. The error message in the device manager was simply "This device cannot start", nothing more, nothing less. I figured that this card did not work in my computer, and swapped back to my old card. Surprisingly, this card now refused to work, with exactly the same error message.
The funny thing is that both cards worked flawlessly in Linux, both using the open source driver shipped with XFree86, and with the nVidia proprietary driver. This made it possible to keep using the computer for serious work, which I only do in Linux. But the problem in Windows made it impossible to run any type of game, which I enjoy playing every now and then.
Even scouring the 'Net for information about the error message did not bring up any useful information at all. At that point I felt very powerless. I finally "fixed" the problem by buying a new computer (or rather parts, since I prefer building them myself).
Yes, it's always a possibility, but the chance of the OSS community not figuring out quickly and putting a stop to it is pretty small.
How do you expect anyone to figure it out when the driver is closed-source? Drivers have complete access to the kernel address space (i.e. no memory protection), and can do whatever the driver developer wants. Good luck finding out that a specific problem is caused by a binary driver except by disabling it and checking if the bug goes away.
I'm always amused at the 'is linux ready for the desktop' crap that keeps getting recycled every 6 months.
Every six months? I read claims that 'Linux is not ready for the desktop' at least once a week. Granted, it might not all be articles, but (e.g. Slashdot) comments. Having used Linux on the desktop since 1999, I find those claims quite a bit funny. :)
Well, uhm, when put like this it becomes obvious - you aren't allowed to do that because so many people would abuse it.
Here in Sweden, one of the large food store chains have been using what they call "Shop 'n Go" for a few years, without any obvious problems. This system gives every customer a hand scanner at the entrance, the customer scans the bar code of every item they put in their cart, and instead of a counter where you pay, they have a check-out point. At this place, the customer places the hand scanner into a docking bay that transfers the registered purchases to the paying system. Then the customer pays using his/her credit card, without any human intervention.
To avoid people "forgetting" to register items with the hand scanner, the store picks a random sample of their customers for detailed inspection by a security guard. This seems to be enough to keep "forgotten" items in the carts at a minimum, otherwise you would guess that they had ditched the system by now.
wondered why the fuck the "much faster" GNOME 2.14 was running so slowly
Did you run with SELinux enabled? Rumor is that SELinux almost entirely cancels out the speed increase by Gnome 2.14. I run with SELinux disabled and I'd say that FC5 is much faster than FC4.
FC4 could at least use its own distro CDs to resolve dependencies when adding RPMs post-install. FC5 can't do anything without contacting the mothership.
This is because FC5 uses a brand-new graphical package management tool, Pirut, for this purpose. They are working to add this functionality to Pirut, and my guess is that it will be ready in time for FC6.
As a workaround, you can create a local repository with the contents of the CDs/DVD, and add it to the yum configuration.
Have they taken care of the 'updatability' deal with their network based install yet?
They are working on it. In Fedora Core 5, much infrastructure work is in place since the installer now uses yum to install packages. What you ask for is planned for inclusion in FC6.
The Java programming language was based off of C/C++ so it would be familiar for programmers and easier for them to switch from C/C++ to Java. So it's very possible that it would treat this bit of code the same way. Maybe, maybe not - I haven't tried it.
I'm quite sure that such a bug is impossible. Remember that Java replaces the whole concept of pointers with references, and I don't think that Java allows references to functions. I assume that using the name of a function as a variable would produce a compile error.
Perhaps you could make your point by comparing Windows and Linux versions that aren't 11 years apart.
Some people do it the other way around. This is a comparison between Windows (Server?) 2003 and Red Hat Linux 3.0.
Be warned though, you're up for some truly hilarious reading, including that Microsoft invented the modern computer, the Internet and the World Wide Web. :)
Yes it is, according to GP
The bug ocurred in X11, yes, but the problem itself is only related to the C/C++ programming languages.
I just didn't know what the geteuid variable was - maybe it was an int, maybe a boolean, maybe a String. . . to know that I'd have to know about X11's development stuff - read their source or something.
Actually you wouldn't have to. You would only need to know that geteuid() is a common system call on Unix and compatible systems. Knowing this, and the intricacies of the C programming language, is all that is required to understand the bug. geteuid is not an ordinary variable, it's a function. In the C programming language this means that the name of the function is a variable containing the address of the start of the function code.
I haven't run into this yet, but I'm assuming the same thing could happen with ANY programming language (I know Java, for anyone who hasn't checked my site out).
This could not happen in any programming language, only languages with function call semantics similar to C/C++. This bug can not happen in e.g. Java, since the compiler would report it as an error.
Apparently you are unfamiliar with the nature of corporate NewSpeak.
There may be several explanations for this. Although I consider myself fluent in the English language, it isn't my native one (which is Swedish). This means that certain terms that, like the ones you mentioned, mean the opposite of what they seem to mean, might be unfamiliar to me. The second reason is that I (currently) do not work in the coporate world, but in academia. And as a Swedish government institution we have a legal obligation to keep much of our documents archived for ever, so I do not come into contact with such document retention policies, rather the opposite.
But thanks for the heads up.
Sorry, I don't know that much about X11's development stuff.
The problem isn't related to X11 at all, except for the fact that the bug ocurred in the X Window System. Such a bug could have ocurred in any C program.
Whoa...can I get a reference for this one? I've never seen this one before.
I remember I read about it some time ago, but I cannot remember where. A quick Google for "Bill Gates" and "dumpster" turned up an interview with Bill Gates where this was mentioned.
I guess I learn something new every day. Thanks!
The ONLY way a case could be made is if every other browser on the market made you pick a default search engine up install.
This is incorrect, since a monopoly does not play by the same rules as its competitors.
There's an entire industry, dubbed "document retention" [kahnconsultinginc.com] that is actually focused on destroying anything that might be used as evidence in a legal proceeding as soon as it is no longer needed
I doubt that you are correct, since document retention means retaining (i.e. saving) documents. Maybe document expiration was the term you were looking for?
I also get the impression that binary formats are harder to compress than text formats (e.g. XML). Case in point: Microsoft DOC format vs. OpenDocument Text (ODT) format.
Can you explain how you consider the Mozilla Corporation a "random stranger"?
I would want to know if he also consider Microsoft Corporation a "random stranger". :)
So you can have both a variable geteuid and a function geteuid().
Actually, geteuid is a variable containing the address of the function geteuid. Appending () to geteuid simply calls the function at that address. The way you wrote it could be interpreted as geteuid and geteuid() being two separate entities.
calling the variable instead of the function
You don't really call variables, you refer to variables. :)
The definition of getuid in Linux's /usr/include/unistd.h says that it is a function (and not a function pointer).
All functions are function pointers, it's just that they are implicitly declared as constants. Refering to a function name without appending parentheses gives the function address, appending the parentheses calls the function (at the address contained in the function name).
I apologize for my ignroance, but could you go into a little more detail here? If you're not getting the value the function returns, what are you asking it for? Is this a way of getting to a function faster than simply calling it?
No, function pointers have a different purpose. They allow you to send functions (or rather function pointers) as arguments to other functions. An example of this is the C function qsort(), which (among others) takes a pointer to a comparison function, which allows you to use qsort() to sort any type of array, not just e.g. integers.
Another use for function pointers is when dynamically loading libraries at runtime. In this case you need to ask the dynamic linker to provide pointers to the library functions to be able to call its functions.
So the code in question compares the value of the function pointer geteuid to 0, instead of calling geteuid() and comparing the return value to 0. And you don't want that, since statically declared functions are always non-zero (AFAIK) and the comparison would be moot.
Package installation is not one of Fedora's strengths, and never has been.
Could you elaborate on what specific issues you have with the Fedora Core packaging system?