Mandrake 8.0 Beta Released
Boiling rumors can now be set aside: Linux-Mandrake's 8.0 beta is ready for grabbing. Before you complain about Version
Inflation (Slackware, Red Hat and others should come out with v10 just for fun), read the fine print indicating that by using this beta version, you're surrendering your machine to the winds of time, and French aliens may come kidnap you and your data for sheer sadistic sport. That is, especially if you have a VIA Apollo Pro or KT133 Chipsets and a WD drive greater than 8.4Gb in size. So the real 8.0 isn't ready yet (that will be the time to complain about version inflation proper), but like Red Hat's Fisher, this is a nice way to experience upgrades all around the mulberry bush, including a 2.4 kernel (2.4.2, actually) without building them all yourself.
Actually, I get 10=9 not 9=10. And, by my quick analysis that is in fact the correct answer. Here's why: when the the constant expression is evaluated by the compiler, it can do a couple of tricks to come up with the "correct" answer of 10 (eq. rounding and infinte precision math (like "bc") come to mind). But the variable expression must be evaluated with floating point math, and that's where your difficulty is. 0.3 and 0.7 cannot be accurately represented in the IEEE floating point format. so the equation actually results in 2.99999999... + 6.999999999.... = 9.99999999... . In order to get an answer of 10, the other platforms you tried either (a) use a non-IEEE-standard floating point format. or (b) rounded instead of truncated when casting to an int (which I believe is nat ANSI standard C compliant behaviour).
Civileme has been investigating this for quite some time, and he wrote about it on Mandrakeforum. It looks as if WD has severe QA problems, and this time it got a help from chipset and a bug (or at least lack of workaround) in kernel.
Here are the stories:- Numerical Analysis & the Walrus
- What Now? WINDisks, of course
- Is this Computer Science or Voodoo?
Civileme even claims that WD drives just fake CRC, but it's difficult to say if there is some truth in this or not. One is sure: these beasts cause a lot of trouble.Having a WD drive bit me pretty bad about a year ago. A week or so after a kernel recompile, I wound up with filesystem corruption, even though I was running a stable kernel. I take my computer very seriously, and though I was able to recover my important data, losing the filesystem hurt *bad*.
My faith in Linux took a big hit after that. The only explanations for that error were 1) hardware failure (seemed unlikely) or 2) serious kernel bug. I contemplated migrating to FreeBSD, but was informed that much of the IDE code between Linux and BSD is shared, so any fundamental bug would probably follow me to the new platform. So, I just rebuilt my system and carried on.
A few months later I was reading Kernel Traffic, and someone posted a filesystem corruption problem with the exact same symptoms, using the exact same WD hard drive. One of the hackers identified the source of the problem -- it was Western Digital.
Some models of WD drives are advertised as "UDMA compatible". That is, you can enable UDMA and they will run. However, WD is sidestepping the fact that the drives are *not* UDMA "compliant". Apparently a part of the UDMA spec is the transmission of periodic CRC checks to detect and correct errors. Some WD drives will operate in this mode, but blow off the CRC checks. This is suicidal. If the drive is used in UDMA mode (which it claims compatibility with) you *will* get data corruption...it's just a matter of when and how bad.
Thinking back before the failure, sure enough, I had enabled UDMA in the kernel, looking for a speedup from my UDMA "compatible" drive. WD had mislead me in the features of that drive, and it resulted in data loss. I view this as highly irresponsible on their part, and I will certainly not buy from them again.
--Lenny
Applicability: Linux-Mandrake 8.0 BETA 1 WARNING This BETA has the potential to mis- recognize the drive geometry on systems with VIAApollo Pro or KT133 Chipsets and WD drives greaterthan 8.4Gb in size. This leads to massive andunrecoverable data corruption. Do NOT install or attempt to test with these systems. It relates to recently discovered kernel bug which may be fixed in kernel 2.4.2. We expect to have the fix in place for BETA 2 (Traktopel). Thank you for your patience.
Professional Wild-Eyed Visionary
Minimum system requirements for Mozilla are a Pentium 233, so making 386 would be pointless because its a totally unsupported architecture. You might as well optimize for people who actually _can_ use your product.
Engineering and the Ultimate
I saw the 8.0 Beta out of the corner of a blurred eye and coulda sworn I saw "B 0 B", instead of "8.0 Beta"
RedHat may still say Fisher on their web pages, but Wolverine (Beta 7.0.91) is already out, and has been for a week.
-
This is a silly reason. It's a slight different in how floating point calculations are done on the two platforms. Floating point calculations not involving powers of two are going to have some error in them. For some reason, with gcc under Linux on the x86, the error results in the second calculation giving a result very slightly less than 10. The (int) typecast does not round.
This more proves the lesson that you shouldn't expect exact results out of floating point calculations that it proves whether or not any particular OS is better than another.
Need a Python, C++, Unix, Linux develop
I wish somebody had a current distro for Alpha. The latest I can find is RH7.0 (brokenish) or Mandrake 7.1 (won't reboot after install - can't find libreadline5). Kind of a pain for those of us running Alphas... I'd love to see a distro release with 2.4.x sometime in the near future.
--
"It's tough to be bilingual when you get hit in the head."
# uname -a
SCO_SV hol504 3.2 5.0.5 i386
#
Reading specs from
gcc version 2.95.2 19991024 (release)
#
#
10 = 9
--
--
"I personal[ly] think Unix is "superior" because on LSD it tastes like Blue." -- jbarnett
The value of: (int) (((60/6)*0.3) + (10*0.7)) can be either 9 or 10, depending on when the float values are moved in/out the floating point registers (which are 80 bits instead of 64 bits for a double). Your compiler cannot guaranty the result and you should no assume that the result is 10, unless you round to the nearest integer (instead of casting to an int, which is equivalent to a floor).
Therefor, it's not the compilers fault it this problem happens, it's your fault if you make those kind of assumptions (It's the same reason why you should almost never use == when comparing 2 floating point numbers).
Opus: the Swiss army knife of audio codec
OK, let's go... (with my previous 3 * .333333 example)
.333333 (6 digits in the register) in register and multiply by the 3 that's in memory. The result is .999999. When you store that in memory, it is rounded to 4 digits, giving 1.000, which when converted to int, gives 1.
.3333 (4 digits in memory), you get .999900 in the register. When you store that in memory, you get .9999, which once conterted to int gives you 0.
We'll work in decimal, so transpose this to binary for a real CPU. Let's say your "float" (as stored in memory) has 4 digits and your float registers can hold 6 digits (a double is 64 bits, a register is 80 bits).
If you load
Now, if you have 3 in the register and multiply by
The only thing that changed is what goes to register and what goes to memory. I'm not saying this is exactly what happens in your example, but it's probably something similar.
BTW, if you look at the gcc man page, there's an option called -ffloat-store which deals with registers that are larger than the memory representation of the float number.
Opus: the Swiss army knife of audio codec
its the principal behind it. there was no reason for RH to make a stupid move like that at all.
Of course there are reasons:
On the minus side: C++ isn't binary compatible with other versions of gcc. As we went with glibc 2.2, this wouldn't have been compatible with anything anyway (a combination of gcc and glibc is binary incompatible with any other combination). There has never been C++ binary compatiblity on Linux, and there won't be until gcc 3.0 is released and used.
As you can see above, there is no doubt that on technical merits, this was the choice to do. And we did it. Unfortunately, we could have handled the political situation better. As for the end-user experience, that's irrelevant.
When gcc 3.0 comes out, we intend to switch to that at one point - "when" is dependent on when gcc 3.0 is actually released and how it fits into our cycles, as it will be a binary incompatible change.
PS: Mandrake uses it too.
They're using a whole new kernel version. I think that's enough reason to call it Mandrake 8.0.
I would like to go on record here as saying that debian users are turning into the BSD's of the Linux distro's. They are pompous and annoying and 31337 and probably all descendants of Amiga users.
I am therefore going public with an official statement:
I Bob Abooey, am hereby and do officially proclaim that I will never ever ever, ever, use debian Linux. If debian is the only Linux distro left on earth I will drive to Best Buy and give my last dollar to the wild eyed clerk for a copy of Microsoft Windows. If debian was the only OS left on the planet I will chop down a tree and build an abacas. In fact from this point in time I refuse to even acknowledge the rumor that debian even exists. And lastly, all of you apt-get-morons can kiss my big hairy white arse.
Yours,
All the best,
--Bob
One wonders why the other distro's have so much difficulty equaling Mandrake in this arena? People like Debian and Red Hat are too purist in their respective fields to ever really become popular in the home, however as their users have accepted this it does not matter, I suppose. Still, such lack of ambition in the arena is startling.
The bleeding edge and easy to use nature of Mandrake is why it has 28% of the marketplace. More power to them, I say, and hopefully other distro's will take a leaf out of their book.
You know exactly what to do-
Your kiss, your fingers on my thigh-
You know exactly what to do-
Your kiss, your fingers on my thigh-
I think of little else but you.
Mandrake2001