On Tue, Aug 30, 2011 at 2:19 PM, Phil Hagelberg <p...@hagelb.org> wrote: > On Tue, Aug 30, 2011 at 10:10 AM, Ken Wesson <kwess...@gmail.com> wrote: >>> VirtualBox is free: http://www.virtualbox.org/ >> >> Emulators? I hadn't considered those [...] >> >> I'd think it especially likely that if there's a free one, there're a >> lot of software that won't quite work the same as on a separate PC, >> and will be outright broken in some cases. > > Virtualbox is not an emulator; it's a virtualization tool.
Same difference. Just because the processor hardware doesn't need to be emulated doesn't make it not an emulator. > On modern hardware (core 2+) it's capable of running at full CPU > speed with a minor I/O perf penalty. On our team we develop almost > exclusively in it; there are no emulation quirks. There will be filesystem emulation quirks, though probably not as bad as the Cygwin/Windows impedance mismatch another thread here recently discussed. This might extend into other hardware-I/O-intensive areas of program operation too. Have you ever tried to run a complex Windows program, especially a recent game, in Wine? Well, Cygwin is like doing that with the Linux/Windows roles reversed. VirtualBox will make the interface point closer to the metal than Cygwin, with some big volume image file in the host FS emulating a hard drive rather than just using the host FS as the Linux FS. Anything that depends on low-level behavior of a real disk drive will have problems, and that likely includes fsck, which may run at bootup under some circumstances (such as if the hosted Linux "thinks" it wasn't shut down normally last session -- and if VirtualBox crashes, which, being Windows software, eventually it will, that's likely to happen; also if there's a garden variety power outage). Database software (for heavyweight enough DBs) also tends to play with disk drives at a low level, for instance by implementing a B-tree right on the platters in a separate partition in lieu of using a file or files in the operating system's FS. The latter could be worked around, by hosting the database from Windows or by using a spare external disk drive (which might not have been a viable boot device, preventing simply installing Linux to it and obviating the need for VirtualBox). MacOS, of course, probably has DRM that examines the hardware to make sure it's running on a genuine Mac. If the emulator doesn't fool it successfully it won't run, and if it does it could be treated in the US as a DMCA violation (stupidly enough this is true even if there's no actual copyright infringement, i.e. the copy of MacOS is not pirated). I wouldn't be surprised if Apple does funny, proprietary things to the boot drives in its hardware that the DRM will check for and that VirtualBox's emulation of a hard drive probably won't pass this test. > If you are stuck on Windows without the option of adding an OS to your > machine, Virtualbox is a great way to get a nice isolated development > environment going. It also has the benefits of being easier to > automate, snapshot, and not avoid interfering with the operation of > your host. As long as whatever differences do exist, and there will be some, don't trip you up in some manner. A better use might be to install Windows, a web browser, and little else to it, take a snapshot, and use it for surfing, backing up downloaded files and your bookmarks now and again; if you get infected, or want to be really sure of clearing all history, including Flash cookies and any other stuff plugins might squirrel away outside the HTTP cookie mechanism for privacy reasons, restoring a backed up image over top will reset it. Another use would be to run Linux, a server, and ancillary tools, snapshot it, and turn it on; it's a bit more work to get the server back up after any shutdown, but on the other hand if you get hacked the attackers probably can't find their way out of the virtual box and may not even realize they're in one. The stuff in the host is probably safe. Antivirus companies use them now, with old unpatched Windows versions running in them, to test suspicious files people send them. They probably also surf pr0n sites unprotected from wide-open Win98 boxes to see what's out there. Then halt the emulator and dissect the drive image file to see exactly what the infection(s) did, without the infection(s) interfering even if they have rootkit-like qualities. But for development, I'd be worried that the differences (even in performance characteristics) from a normal box could interfere in unforeseen ways. In the worst case, you could end up developing software that works only in VirtualBox-hosted systems. :) -- Protege: What is this seething mass of parentheses?! Master: Your father's Lisp REPL. This is the language of a true hacker. Not as clumsy or random as C++; a language for a more civilized age. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en