It has been known for a long time (over a year), that Java programs compiled for 1.5 will not run on a 1.4 VM. However, you can use tools like Retroweaver to get 1.4 compatibility. It rewrites the bytecode of your version 1.5 class files into the 1.4 VM format.
> However, if you look at a typical Linux system booting up it actually spends most of its time serially running init scripts, many of which are I/O bound in some way.
OMFG, yes. That's the entire point. Move the I/O off the hard disk, including both the tasks that are running and the I/O they are performing.
> They had ROM mapped into the address space of the CPU. You turn on any TRS-80 Model 100, Color Computer, Commodore 64, etc. and your computer is ready to work because it's code is mapped into RAM much like a PC BIOS chip.
Absolutely - terminals work this same way - but you're not going to place your operating systems or programs into ROM, while you can place them into flash - and it should require almost zero change in any software at all, because the flash memory is going to look like any other storage device.
> Keep in mind though that when folks hook up a flash drive to their computer that they are not mapping it directly into RAM, rather they are layering on top a file system
That's exactly why it would require very little change to existing software.
> so it's not going to be instantaneous
It's effectively instantaneous compared to reading data off disk at a rate 1x10^6 x slower.
> If you want instantaneous on a modern PC, you need to go for something like LinuxBIOS project, and replace the PC BIOS with a kernel.
I'm talking about placing the entire operating system and most program files on the flash. Putting just a kernel on a memory-mapped chip won't achieve anything near the same effect.
I'm beginning to think I'd like to see machines where we have dual storage setups - use the hard disk for write-many-read-many data (general data files), and use the flash memory for write-limited-read-many data. For example, imagine installing your OS and programs to flash memory - booting times and program loading times would be nearly instantaneous. (/me drools) You'd just have the flash memory mounted like any other storage device, and maybe some "wlrm" flag available to applications so they could automatically prefer that storage for installations and steer away from it for write-many data files.
This is what personal devices like ipods, etc... usually do. The operating system is stored in flash ram (so it can be upgraded in case something goes wrong), and data (i.e. your music) is stored on the hard drive.
Fair enough. Replace the word "fetus" with the word "embryonic" and you have my original intent, as should have been obvious from my two other uses of the term. The points are that a) a large percentage of the US population feels that ethical issues remain about embryonic stem cell research, b) non-embryonic stem cell research (which by the way, is the only research that has made any real headway to this point) is still being funded, c) Bush hasn't outlawed embryonic stem cell research, and d) no one is being forced to pay for embryonic stem cell research. As I've said before, if you think that embryonic stem cell research is important, put your money where your mouth is - you have that choice.
wheter your statement about being a scientist is truthful.
You can't spell simple words, so why should I believe anything you say is truthful?
In any case, I don't hide behind anonymity so it should have been enough for you to learn anything you wanted to about me, rather than taking the easy way out and libeling me.
Let me point out some fallacies I see being repeated over and over again throughout the threads on this topic:
Fallacy - The set of people who are scientists does not intersect the set of people who are Christians. Fact - Many scientists are also Christians, including myself.
Fallacy - Bush does not allow stem cell research. Fact - Bush does not support fetal stem cell research with my personal tax dollars. Dollars for stem cell research are still being spent by our government, and private institutions can perform their own embryonic stem cell research if they so choose. You can even donate your own personal money to support embryonic stem cell research.
Imaginine executing that on an emulator that didn't pay any attention to timing?
Any half-decent emulator will pay attention to cycle counts. It's one of the few things that distinguishes an emulator from a virtual machine. Take MAME for example - all the CPU emulation in there tracks cycles.
I've been spending some of my recent spare time writing the dynamic recompilation core of a Z80 emulator. I'll probably shoot for the 68000 next. http://cottage.consolemul.com/
The project before that, I wrote a bytecode weaving tool that transforms Java 1.5 bytecode to Java 1.4 bytecode http://retroweaver.sf.net/
Java has an overwhelming share of mediocre developers, but that doesn't mean Java developers can't be "hackers".
It is not a library of ready to use objects like CPAN is.
How is a library not a collection of "ready to use" objects?
Also java has no way to automatically download and install jakarta projects and resolve any
dependencies.
Yes there is - it's called Maven. Though, many people just bundle their dependencies with their libraries. Sorry, there's nothing special about Perl in this regard.
Where is big searchable repository of java beans I can download and deploy in under a minute?
Check out jakarta.apache.org. Then check out SourceForge. There are literally thousands of free, open-source class libraries(not just single "beans") for Java. They range across bytecode manipulation, aspecting systems, plugabble servlet and ejb containers, distributed computing, transparent persistence engines, GIS processing and mapping, physics libraries, gaming libraries, etc... Just about everything you could possibly imagine.
I wouldn't be surprised if Java has the largest base of reusable code compared to any other language, and it's only been around for 10 years or so.
Actually, two Strings references must be identical if they are interned. References to two identical String constants in the same class file must also be identical.
But you're probably right, that the majority of Java programmers don't know that.
Let's see, I don't run MacOSX, so I don't have iMovie 3. Solution 2 is out.
Solution 1 isn't good, because I don't want to burn a freaking CD. I'd like to just get an "un-DRMd" format of my preference. If I can just rip straight to memory/filesystem, it will be much faster and simpler then burning a CD and performing a rip.
Does anybody know of a virtual CD driver (for MacOSX or Windows) that could be used to "psych-out" Apple's iTune product (or anything really) into writing to the file system instead of a CD?
Then you could do all sorts of cool things like hook it up to a codec and have iTunes burn straight to a set of FLAC/Ogg/MP3 files instead of a CD.
Players will continue to have imperfect analog out. For anything that has an output for a "perfect" digital stream, the DRM information will also be sent out with that stream.
That means that you can make your "imperfect" recording, but unless you can somehow manage to put together a machine that doesn't respect DRM, you won't get a perfect copy.
In the same sense, as long as there are sound waves which physically enter your ears, you'll be able to make a recording. It's just that the recording is no longer perfect.
I guess it depends upon your point of view. I'm just saying he won't have any external player that will have an accessible audio-out, because they will all be DRM'd.
In any case, the whole point of DRM is that it would disable the audio-out port on your sound card if you don't have the appropriate "rights" to copy the media. Some manufacturers may be "kind" enough to always allow you use of an "imperfect" analog out regardless of the "rights" you have to the media.
All I know is that I'm getting sick and tired of manufacturers cloaking and restricting their hardware. It should be the other freaking way around like it used to be - for example, my old NEC PC-VCR has a well-documented serial-port programmable interface. When will manufacturers grow up and realize that they're supposed to be providing value to their customers?
Well, I bought my copy of Windows XP for a bluetooth stack about a year ago. Apparently there are no plans for releasing one for Windows 2000. I expect something similar will happen to XP when Longhorn comes out.
It has been known for a long time (over a year), that Java programs compiled for 1.5 will not run on a 1.4 VM. However, you can use tools like Retroweaver to get 1.4 compatibility. It rewrites the bytecode of your version 1.5 class files into the 1.4 VM format.
> However, if you look at a typical Linux system booting up it actually spends most of its time serially running init scripts, many of which are I/O bound in some way.
OMFG, yes. That's the entire point. Move the I/O off the hard disk, including both the tasks that are running and the I/O they are performing.
> They had ROM mapped into the address space of the CPU. You turn on any TRS-80 Model 100, Color Computer, Commodore 64, etc. and your computer is ready to work because it's code is mapped into RAM much like a PC BIOS chip.
Absolutely - terminals work this same way - but you're not going to place your operating systems or programs into ROM, while you can place them into flash - and it should require almost zero change in any software at all, because the flash memory is going to look like any other storage device.
> Keep in mind though that when folks hook up a flash drive to their computer that they are not mapping it directly into RAM, rather they are layering on top a file system
That's exactly why it would require very little change to existing software.
> so it's not going to be instantaneous
It's effectively instantaneous compared to reading data off disk at a rate 1x10^6 x slower.
> If you want instantaneous on a modern PC, you need to go for something like LinuxBIOS project, and replace the PC BIOS with a kernel.
I'm talking about placing the entire operating system and most program files on the flash. Putting just a kernel on a memory-mapped chip won't achieve anything near the same effect.
I'm beginning to think I'd like to see machines where we have dual storage setups - use the hard disk for write-many-read-many data (general data files), and use the flash memory for write-limited-read-many data. For example, imagine installing your OS and programs to flash memory - booting times and program loading times would be nearly instantaneous. (/me drools) You'd just have the flash memory mounted like any other storage device, and maybe some "wlrm" flag available to applications so they could automatically prefer that storage for installations and steer away from it for write-many data files.
This is what personal devices like ipods, etc... usually do. The operating system is stored in flash ram (so it can be upgraded in case something goes wrong), and data (i.e. your music) is stored on the hard drive.
Let me point out some fallacies I see being repeated over and over again throughout the threads on this topic:
Fallacy - The set of people who are scientists does not intersect the set of people who are Christians.
Fact - Many scientists are also Christians, including myself.
Fallacy - Bush does not allow stem cell research.
Fact - Bush does not support fetal stem cell research with my personal tax dollars. Dollars for stem cell research are still being spent by our government, and private institutions can perform their own embryonic stem cell research if they so choose. You can even donate your own personal money to support embryonic stem cell research.
That is all for now, thank you.
Actually, you can use the JDK 1.5 compiler right now, and run the compiled bytecode on JDK 1.4. Check out Retroweaver. Sun compiler team approved.
Did anybody else read that headline as
PIGS IN SPAAAACE
?
Any half-decent emulator will pay attention to cycle counts. It's one of the few things that distinguishes an emulator from a virtual machine. Take MAME for example - all the CPU emulation in there tracks cycles.
What does it take to be a hacker?
I've been spending some of my recent spare time writing the dynamic recompilation core of a Z80 emulator. I'll probably shoot for the 68000 next. http://cottage.consolemul.com/
The project before that, I wrote a bytecode weaving tool that transforms Java 1.5 bytecode to Java 1.4 bytecode http://retroweaver.sf.net/
Java has an overwhelming share of mediocre developers, but that doesn't mean Java developers can't be "hackers".
How is a library not a collection of "ready to use" objects?
Yes there is - it's called Maven. Though, many people just bundle their dependencies with their libraries. Sorry, there's nothing special about Perl in this regard.
I wouldn't be surprised if Java has the largest base of reusable code compared to any other language, and it's only been around for 10 years or so.
I'd just like to point out that you can still target pre-1.5 JVMs (i.e. 1.2, 1.3, and 1.4) while still developing using the new 1.5 Java language.
You can use my free, open-source, tool, Retroweaver (which has "blessings" from Sun's compiler team), or you can pay money for CodeGuide.
Actually, two Strings references must be identical if they are interned. References to two identical String constants in the same class file must also be identical.
But you're probably right, that the majority of Java programmers don't know that.
Actually, in the 1.5 language, that would return true, according to the autoboxing specification.
I don't understand your point. You are writing statically unsafe code. You could do the same thing in Java years ago:
but that doesn't mean you'd want to. Variance gives you static type guarantees about parametrically polymorphic objects.Let's see, I don't run MacOSX, so I don't have iMovie 3. Solution 2 is out.
Solution 1 isn't good, because I don't want to burn a freaking CD. I'd like to just get an "un-DRMd" format of my preference. If I can just rip straight to memory/filesystem, it will be much faster and simpler then burning a CD and performing a rip.
Does anybody know of a virtual CD driver (for MacOSX or Windows) that could be used to "psych-out" Apple's iTune product (or anything really) into writing to the file system instead of a CD?
Then you could do all sorts of cool things like hook it up to a codec and have iTunes burn straight to a set of FLAC/Ogg/MP3 files instead of a CD.
Do you have speakers that operate on a digital music stream?
Players will continue to have imperfect analog out. For anything that has an output for a "perfect" digital stream, the DRM information will also be sent out with that stream. That means that you can make your "imperfect" recording, but unless you can somehow manage to put together a machine that doesn't respect DRM, you won't get a perfect copy. In the same sense, as long as there are sound waves which physically enter your ears, you'll be able to make a recording. It's just that the recording is no longer perfect.
I guess it depends upon your point of view. I'm just saying he won't have any external player that will have an accessible audio-out, because they will all be DRM'd.
I think you meant "audio-out", not "audio-in".
In any case, the whole point of DRM is that it would disable the audio-out port on your sound card if you don't have the appropriate "rights" to copy the media. Some manufacturers may be "kind" enough to always allow you use of an "imperfect" analog out regardless of the "rights" you have to the media.
All I know is that I'm getting sick and tired of manufacturers cloaking and restricting their hardware. It should be the other freaking way around like it used to be - for example, my old NEC PC-VCR has a well-documented serial-port programmable interface. When will manufacturers grow up and realize that they're supposed to be providing value to their customers?
Well, I bought my copy of Windows XP for a bluetooth stack about a year ago. Apparently there are no plans for releasing one for Windows 2000. I expect something similar will happen to XP when Longhorn comes out.