Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror

Comment Re:Wait (Score 1) 61

My only problem with this is chromosome counts. Humans have 23 pairs (assuming a healthy individual). Most of the great apes have 24 pairs. Some monkeys hare more, but others have less. I don't know about Neanderthal and other Homo species, but I assume they also have 23 pairs. This means that some species jumps are discrete and not gradual. This means that there can be a single date where a new species appeared.

And I've never heard a satisfactory explanation for how this discrete jump happens. Most changes to chromosome count result in sterile offspring. The explanations that I've heard either didn't make sense, or they were so filled with jargon that I couldn't understand them.

Comment Re:Andromeda has A TRILLION STARS (Score 2) 52

The Milky Way is estimated to have 200 to 400 billion stars. However, just counting stars doesn't tell the whole story. The total mass of Andromeda is estimated at 1.5 x 10^12 solar masses, which is roughly double the 8.5 x 10^11 solar masses estimated for the Milky Way. Still pretty big, but not the 10x you are suggesting.

Of course, that is our best information at present. Historically, estimates have varied quite a bit. Back in 2006 there were a bunch of news articles stating that the Milky Way had fewer stars but more mass from dark matter. And then Andromeda was determined to be four times more massive. And now it's only twice as massive. I expect this to be significantly revised as we learn more about both galaxies (especially our own: it's harder to learn size, shape, and mass from inside than it is from outside) and as we learn more about dark matter.

Comment Re:Buggy software is buggy (Score 1) 233

.NET doesn't handle leap seconds because Windows doesn't. Its NTP client will ignore seconds values greater than 59, and then fix the time during the next update. This means that Windows can knowingly be up to a second off from UTC time between the introduction of a leap second and its next NTP update. This is important to know if you attempt a fully synchronous distributed system that relies on NTP for synchronization.

Comment Re:Guys, you're losing it (Score 1) 126

I believe that some of the details in jni.h changed from 1.3 to 1.4. Perhaps a change to how JNIEnv was defined? A quick Google shows that the JNI version did in fact change then, but every page describes launching a JVM from within C/C++ code (which does use the JNI version information).

It is possible that my memory could be faulty (it was a long time ago after all) and that the problem was with launching a JVM from native code. Either way, my point stands. It is possible (however unlikely) to upgrade the JVM and have running JNI code break.

Comment Re:Guys, you're losing it (Score 3, Informative) 126

This is mostly true, but it is worth expanding as there are a lot of misconceptions about this. Java bytecode contains the JVM version it was compiled against, and later JVMs will run it just fine, even if it will no longer compile. I remember when Java added the enum keyword, and all our applications ran fine on the new JVM, even though it wouldn't compile without changes (one of our programmers used enum as the standard variable name for Enumerators). Overall, I've been very impressed with Java's cross platform and version compatibility, but I have found three causes of compatibility problems that are worth knowing about.

First, you cannot rely on non-standard libraries such as the com.sun packages. These aren't guaranteed to exist from one version of Java to the next. They aren't even guaranteed to work the same between minor Java versions. If you limit yourself to the standard libraries, you are safe. Be advised that deprecated methods may be removed in the future, though none have been removed so far.

Second, some programmers explicitly version check the JVM. This is usually for compliance issues, as some organizations feel that code should never run against a JVM that it hasn't been formally verified against. I have also seen this done because code was written to a known bug and some idiot thought it would be better to ensure that the underlying JVM always had the bug rather than work with both bugged and unbugged JVMs. Whatever your reasons, I consider this to be a bad practice, as you won't get security fixes from updated JVMs.

Third, while bytecode should always be forward compatible (barring bugs in the Java library), if you use native code you should be aware that JNI libraries are not guaranteed to work across major JVM versions. JNI libraries must be recompiled to work on newer JVMs.

There may be other sources of compatibility problems, but these are the only that I've run across them in my 15 years maintaining several million lines of Java code.

Comment Re:..."the"? ..."THE"? (Score 1) 469

Only if you are considering desktop PC's. If you consider all computing devices, Linux wins easily. It is run on the largest of supercomputers and the smallest of embedded systems. All Android devices run Linux. Many (most?) home routers run Linux. Even my LG Blu-ray player has some sort of Linux somewhere inside it. Linux is literally everywhere.

Comment Re:Please, BCE/CE, not BC/AD (Score 1) 105

Why stop there? The days of the week are named after the gods associated with the seven celestial bodies (only Saturday wasn't converted from a Roman deity to a German one, as there was no equivalent of Saturn in the Norse pantheon). And the first 6 months of the calendar are all named after Roman gods or religious festivals, so we should rename those as well. Even how we divide time into hours, minutes, and seconds is associated with Babylonian numerology and astrology, which has deep religious significance.

If we are going to start changing names to remove religious connotations, we have a lot of work to do. Or is it just the Christian origin of the name you object to, and not religion in general?

Slashdot Top Deals

Torque is cheap.

Working...