VMWare has interesting software, for several reasons. It has one of the best emulation technologies available to the consumer virtualization OS market, but more interesting than that is the way VMWare provides it. They have three main products: VMWare Player, VMWare Workstation, and VMWare Server.
They're meant as their names sound: VMWare Player is simply for playing virtual machines (not creating them), VMWare Workstation is for a full-featured virtualization environment on a single workstation, and finally VMWare Server is for a multiuser environment.
VMWare Player
Using logic, you can probably figure out that VMWare Player is free or nearly free. Well, it is. You can download premade "appliances" (preinstalled free operating systems on virtual disks, such as Linux) which you can use like you would use a normal operating system.
It's possible to get around this limitation by using a third party application to create virtual disks (in most cases qemu
is usually used), and a .vmdk file is written up in a word processor, which become the settings of your virtual machine. Nice, although most people can see why VMWare Workstation would be more convenient in this respect.
VMWare Workstation
VMWare Workstation is the full-featured virutalization program for the end-user. You can create and edit virutal disks, settings, and a host of other features. And as you might expect, it costs money.
VMWare Server
VMWare Server, is naturally, the most full-featured of the three. Setup the server, and clients can connect, create and edit virtual machines, run them, etc. And the added benefit of it is that the server is handling all the processing for your virtual machine, which means that the speed at which you run your workstation is completely unaffected. "But how much does this cost?" you might ask. Nothing... both the server daemon and the client that connects to it are absolutely free.
It's rather interesting, when you think about it... the basic version is free, the super-full version is free, but the one smack-dab in the middle isn't. Which begs the question, why use VMWare Workstation? If you simply want a basic version and like using premade appliances, go right ahead and use VMWare Player. On the other hand, if you want a full-featured emulation environment, go ahead and install VMWare Server on your workstation. Then simply install the client, and connect to your localhost. Everything is where you would expect it to be.
Labels: emulators, virtualization, vmware
Labels: hfs, home folder, linux, mac
There's no denying the fact that eye candy is increasing in the commercial operating system's user interface. My guess would be that if the OS looks good, it's going to sell well, although it's also interesting to note that many people go even further with their user interfaces and pimp it out until it's barely recognizable. Does this eye candy make the operating system more enjoyable? Or does it just wear off and get in the way, sort of like that "in style" wallpaper you put on your walls?
I say this as I'm going through a minimalistic phase in my life (well, at least my computer life). At the moment I'm using wmii as my primary window manager, and I'm using more and more command line applications as replacements for previously GUI-based ones.
As already stated, the average user seems to enjoy the eye candy (enough to buy an operating system almost solely based on it, in some cases), so I decided to take my question to the tech forums to see what computer geeks thought of it. Sadly, the thread didn't receive much response, but the majority of the users seemed to dislike extra eye candy and preferred a minimal interface. Some of the reasons were:
- Affects system performance
- UI is more difficult to use
- Just don't need it
There weren't any reasons stating why they liked eye candy, although I did find another thread that had drifted onto this topic, and one user argued that he/she was a computer graphics person, and needed color and eye candy to spark the imagination. It would be interesting to find out whether people who are more creative-minded tend to like their operating systems more colorful, and if practical people (e.g. programmers) like a more minimalistic interface. Unfortunately I don't have the resources to conduct such research, but it was interesting to find out what I did.
Labels: eye candy, simplicity, user interface
I've been participating in the forums at DaniWeb for the past couple of years now. Helping people fix their computers, giving tips to programming students claiming their assignments are urgent and due within the next two or three hours. I've seen it all, from members flaming until they must have smoke pouring out of their ears, and members who are almost in tears because they can't get something to work.
What I find interesting about forums is how they work. Numerous individuals will contribute to forums, posting for the sole purpose of helping other people. I'm one of those people. I don't know what it is. So many people ask their questions rudely, ignore rules and readmes posted liberally around the forums, yet I take pleasure in helping them out. And somehow, tons of other members do, too.
When I was recently offered a moderator position at DaniWeb, I expected this enjoyment to dissolve. Despite what the younger, inexperienced members think, becoming a moderator isn't exactly a promotion. Some see it as gaining power; I see it as being given the keys to a building and being told, "Here, clean up all the crap that people leave behind in there." And that's pretty darn nearly what I'm doing now that I'm a moderator. Cleaning up after members.
And yet, I enjoy it. Just one of life's smaller mysteries, I suppose.
Labels: daniweb, forum, moderators
Usability and design is an often-discussed topic when it comes to operating systems. Zealots of a particular operating system will argue that theirs is the best, the easiest to use, the best design. Fools! If only you knew that usability can't be measured that way; that there are so many factors affecting these two "qualities" that it's difficult to know even where to begin.
First of all, what is usability? This is obviously a very subjective term, and the root cause of why there is so much dissent among even experienced users of various operating systems. For the time being, let's say that usability is inversely proportional to two things: firstly, the degree of the learning curve required to use a particular software interface, and secondly, the average amount of work required to complete a task using said software interface. These two things are also very subjective, but it will help to break things down a bit when examining operating systems.
In this article, we will examine two main roots of operating systems: Unix and Microsoft Windows. They are both extremely different, have different philosophies of how interfaces should be, and have almost created cults following them.
Unix is, and always has been designed for use in the command line. Even the directory structure is designed around command-line use, keeping short folder names to save typing. It's been designed so that all its system configuration is stored in a number of easily-editable text files distributed around the hard drive. All a user needs is a root shell and a text editor, and they can configure almost any area of a Unix system. Not to mention that these shells have been designed for remote access, allowing a user halfway around the world to do at a command prompt exactly what a user sitting a foot away from that same Unix server can do. The design of it is superb, having networking built into its core, and being able to be fully operational from a simple command prompt.
Microsoft Windows, on the other hand, has a completely different approach. While it too started with a command line known famously as MS-DOS, it was nowhere near as powerful as Unix. Doesn't anyone remember that horrid 8.3 filesystem naming scheme? Naturally, Microsoft was soon trying to get rid of it in favor of their even-more famous GUI operating system, Windows. Windows has the philosophy that the user is incapable of configuring a system through the use of text files, and that they need a nice pretty GUI to do everything for them. Instead of text files holding configuration options, Microsoft instead opted for a database containing configuration for the entire system, even third-party applications. This configuration database is known as the Windows registry. If the user wanted to configure anything, they were supposed to use the GUI tool that Microsoft provided. Forcing the user to manually edit the registry was unheard of, and only leet hackers who wanted to risk messing up their system did it. As for MS-DOS, it was still there, but Microsoft had sort of pushed it under the carpet. By Windows XP, many DOS applications refused to work anymore under the provided command prompt, and developers were expected to write GUI applications if they wanted any chance at all of getting people to use their software.
Now, before we go any further, which is the technologically superior operating system? Which seems to be more powerful? I'd say Unix is. However, here is where people go wrong: they assume that good design means that an operating system will have good usability. Not necessarily! In fact, the reason Windows is so easy to use despite its bad design is because of its bad design. By having a crappy base system like DOS beneath Windows, by having a database that the entire system depends upon, Microsoft has essentially forced software developers to create nice pretty GUIs for every piece of software they want to have a chance at selling in the market. In fact, it is safe to assume that the average Windows user has never even used a command prompt before! GUIs are clearly easier to learn than a command line interface, as people tend to learn better through the use of pictures and diagrams than through text. The goal of Unix was never really to be easy to use in the first place. Power and flexibility was the central goal, and continues to be.
In fact, it really isn't fair to compare Windows and Unix, as they're two very separate beasts, with entirely different mindsets. People just have to choose whichever operating system suits their needs the best, or in the case of me, both. Suit yourself.
Labels: mac, operating systems, unix, usability, windows
I found this file kicking around on my hard drive, and thought I should at least put it out there.
This guide outlines the steps an individual must take to get FreeDOS installed and running on an Intel-based Macintosh. An interesting thing about this process is that it seems that some people believe this isn't possible;
http://os.newsforge.com/os/06/09/12/1628227.shtml?tid=16
Mac users will need to run FreeDOS inside an emulator "for the foreseeable future" due to the lack of support for the Extensible Firmware Interface, which Intel-based Macs use to boot, and which Hall says is not on the list of future features right now.
So now we're out to prove them wrong!
Before you start
Before starting, make sure that you have at least a few gigabytes of free space on your hard drive. While FreeDOS is perfectly happy with less than half a gigabyte, you'll have a much lower chance of ruining your data if you have lots of free space.
You'll need to download FreeDOS, so point your browser to http://www.freedos.org/freedos/files/, pick an iso image and a mirror, and start downloading. To burn the resulting iso image, follow these steps:
- Locate Disk Utility, which resides in /Applications/Utilities. Start it up.
- Insert a blank CD into the drive. If a window pops up asking what program you would like to open it, choose "Disk Utility" and hit OK. A blank CD should show up in Disk Utility's left pane.
- Choose File->Open Disk Image... from Disk Utility, and choose the iso file that you downloaded.
- The iso image should also appear in the left pane as well. Select it, and hit the "Burn" button from the toolbar. Hit the "Burn" button to start the burn process.
Setting up the partitions
Now you need to shrink your existing OS X partition to make room for FreeDOS. Open up Terminal (/Applications/Utilities
). First, you will want to find out your disk partition scheme, so enter the following:
diskutil list
This is what should get printed out:
/dev/disk0
#: type name size identifier
0: GUID_partition_scheme *55.9 GB disk0
1: EFI 200.0 MB disk0s1
2: Apple_HFS 55.0 GB disk0s2
There's two important things here. The first is the size of Apple_HFS
, in this case it's 55 gigabytes. You need to decide how much room you want to allot to FreeDOS. 1 gigabyte is more than enough, so you want to shrink the Apple_HFS
partition to 54 gigabytes. Get it? The other important thing is what is to the far right of Apple_HFS
, in this case disk0s2
. This is the device name of your OS X partition, and you will need this in your next command. But first, quit any open applications. You don't want to risk trashing your partition, so the only application that should be open is the Terminal. If you absolutely need your web browser open to read this, it's recommended to copy+paste the command into the Terminal, but don't hit enter until you've quit your web browser. Now that you're ready, type this:diskutil resizeVolume disk0s2 54G "MS-DOS FAT32" freedos 1G
disk0s2
refers to the device name of your OS X partition; if yours is different, replace it with the correct one. 54
is the new size of the OS X partition, G
refers to gigabytes (other units include M
for megabytes and B
for bytes). Finally, "MS-DOS FAT32"
means that you want a Windows partition, freedos
is the name that you want to give the volume, and 1G
means you want to use the space left over from resizing the OS X partition for the FAT32 partition (1 gigabyte). The output of the previous command should look something like the following:
Started resizing on disk disk0s2 Untitled
Verifying
Resizing Volume
Adjusting Partitions
Finished resizing on disk disk0s2 Untitled
You will need to manually reformat your new partitions.
WARNING: You must now reboot!
Naturally, you will want to reboot, so do that right now. Boot back into OS X to make sure everything is alright, then proceed with installing FreeDOS.
Installing FreeDOS
Insert the FreeDOS installation CD you made earlier into your CD drive. Reboot, holding down the 'C' key until you see the FreeDOS startup screen. For some reason the keyboard would lock up when using the arrow keys at certain points, fortunately the defaults were alright for everything. It should at a certain point ask you if you want to format the C:
drive. Choose yes. If it says you need to run XFDISK
first, do not continue! XFDISK
only works with MBR-based partition tables, and you are currently working with a GPT/MBR hybrid partition table. You've probably done something wrong along the way.
Once FreeDOS is finished installing, the rest is easy. Reboot holding down the option key, and you should be given a choice between OS X and Windows. Choose Windows, and you'll be sent to the friendly DOS prompt.
Since I'm more of a command line person, the first thing I did after I installed Linux was setting about to installing the bittorrent client. It actually worked quite well, I got decent download speeds on most of my torrents. However, I still haven't been able to rival the speed of which Azureus downloads my torrents. I don't know, it somehow gets faster connections with peers. Unfortunately, Azureus took some work.
- Originally, I couldn't get Azureus to download anything. I figured this was due to a configuration problem, as this same machine dual-boots, and Azureus on Mac OS X never had a problem. Eventually I solved it by writing down the port numbers Azureus on OS X used, and plugged them into Azureus on Linux. Incoming TCP and UDP ports both set to 34226.
- It took me quite a while to figure out why Azureus gladly downloaded updates, but after restarting, failed to update. I finally figured out that this was due to directory permissions (naturally). The solution to this one is to avoid using the package manager to install Azureus in the first place. Download it from azureus.sourceforge.net, install it in your home folder or something, and Azureus will not update itself.
Labels: azureus, bittorrent, linux