Archive for the 'General' Category

Microsoft Service Packs

Wednesday, November 19th, 2008

I just installed service pack 1 on a 64-bit Windows Vista machine, and it stupidly took forever and a half to install. It also took multiple reboot cycles, something that wasn’t needed in previous Windows NT operating systems (2000 and XP included). I think Microsoft’s going the wrong direction with Windows service packs, because it is now ridiculously hard to integrate into a customized Windows disc. With Windows XP service packs, it was simple. You’d copy the files to the hard drive, slipstream, and burn the disc. The whole process took about 20 minutes. With Vista, it’s an interminable procedure requiring third party software (vLite). The process takes an hour or more.

Another service pack that I’ve had annoying troubles with is Visual Studio 2008 SP1. It takes more than an hour to install. In fact, it’s still installing on this machine. I wouldn’t be surprised if it’s actually stuck, because the progress bar hasn’t moved in 20 minutes or so.

Why the hell do Visual Studio service packs take forever to install? I assume the problem with 2008 SP1 is similar to the 2005 SP1 issue, which required a very ugly hack to get around it. I mean, it works, but it just takes forever. With Visual Studio 6, you could install a service pack in less than 5 minutes. This process has ballooned to over an hour. Why?!

Another thing that’s bugging me is that Visual Studio 2008 feels slower than molasses. Apparently I’m not alone in noticing this.

Microsoft’s stuff is just seeming less and less appealing. I can get a decent development machine running Mac OS X set up in about an hour or maybe two (including Xcode, Git, development libraries [SDL, etc], CMake, Smultron, etc). On Windows, It’s taken me at least 8 hours so far. I’ve been installing Windows, Visual Studio, service packs and other updates constantly. And I mean constantly. I haven’t let the machine idle once.

Microsoft! Give up on all this stupidity you’ve been adding to Windows, Visual Studio, and Office for Mac! Slim your applications. Make performance and size a priority. To ignore performance will be an absolutely fatal mistake for you. The only teams I think really have it together right now are the Microsoft Office (Windows) team, and the Xbox team. Their stuff installs easily, updates easily, and runs smoothly. Why can’t the rest of Microsoft get this crap right?!

Triple Booting Your Mac

Friday, October 31st, 2008

Updated March 2, 2010 Removed unnecessary steps involving Boot Camp and simplified the whole process.

As a software developer, I find it important to ensure that my programs work well on all platforms. Windows, Mac OS X, Linux, whatever. So I decided I should triple-boot my MacBook Pro instead of juggling between a Mac/Windows or Mac/Linux setup.

I’m annoyed that every article I’ve found about setting up a Mac to triple-boot makes it sound like it’s impossible to have greater than four partitions (especially for triple-booting). This simply isn’t the case, and it is hazardous for Linux’s performance in particular because you’re forced to set up a swap file instead of a swap partition and in the case of Gentoo, the /usr/portage mountpoint can’t be separate from the main filesystem (/usr/portage changes frequently and quite randomly, generating awful fragmentation). I’ve had Gentoo installs which had 8 partitions just for Gentoo itself (split up the filesystem to better optimize the usage).

In the past, the problem has been that Intel Macs use the GUID Partition Table (GPT) scheme for representing partition information on disk. Since Windows even now only recognizes the Master Boot Record (MBR) format, Apple came up with a trick that basically makes the disk use a GPT/MBR hybrid. It stores two copies of the partition table. One in GPT format, and one in MBR format. Seems straightforward? It gets tricky.

With MBR, you are limited to 4 ‘primary’ partitions. Once MBR was designed and out the door, people began to realize that 4 partitions just wasn’t enough, and an extension to MBR was developed that would not break compatibility with the existing MBR definition. The extension allowed for one of the primary partitions to be marked as an ‘extended’ partition. Extended partitions sort of store their own partition table which keeps track of the ‘logical’ partitions contained in them.

With the GPT/MBR hybrid, Mac OS X’s Boot Camp software will synchronize the tables once (and once only, which is why we have ‘gptsync’, detailed below). Unfortunately, GPT doesn’t understand extended/logical partitions and gptsync refuses to sync when it detects the MBR has extended partitions defined. So the limitation here is that we cannot have any extended partitions in the MBR if we want GPT/MBR syncing to work.

The solution is pretty simple, really. Windows requires MBR partitioning, but the Linux kernel does not. Simply set up the partition tables with gparted (or with the Mac OS X ‘gpt’ command while booted into an install DVD), run the gptsync tool (which can be run pretty easily if you have rEFIt), install Windows, and finally install Linux. Windows will only see the MBR partitioning scheme, and if your running Linux kernel supports GPT, Linux will see the GPT scheme. Detailed steps are below:

  1. Boot a Mac OS X install DVD. Bring up Disk Utility and partition your drive. Use as much space as you want for Mac OS X, but be sure to leave unpartitioned space for other OSes.
  2. You can now add partitions for Linux and Windows using the ‘gpt’ command in terminal. A manual page for how to use it is here.
  3. I recommend having the partitioning scheme be:
    1. EFI partition (don’t touch this)
    2. Mac OS X partition
    3. Linux /boot partition (about 500MB is fine)
    4. Windows partition

    and then whatever other partitions you want for Linux. At minimum, you need to have a partition for the Linux root, but you should probably go with one for swap, one for /home, and one for /.

  4. Once your partitions are set, install Mac OS X to your Mac partition.
  5. Install rEFIt. Be sure to enable it, too, by running ‘sudo /efi/refit/enable-always.sh’ in a terminal.
  6. Reboot, and run the gptsync tool from the rEFIt menu (it’s the disk icon on the lower left). Make sure the changes it recommends are sane, and then type ‘y’.
  7. Your partitions are now ready for your operating systems. Install Linux (Ubuntu, Fedora, whatever), and be sure to specify that the bootloader gets installed to the /boot partition (not to the master boot record, where it would be wiped out by Windows).
  8. Once Linux is in, be sure to run ‘gptsync’ again, to be sure the partition table didn’t get clobbered.
  9. Install Windows to the 4th partition. This can be tricky because Windows won’t install if the partition isn’t marked ‘active’. Either use a Linux livecd and ‘cfdisk’ to mark it ‘Boot’ or use a Windows Vista or Windows 7 disc’s command prompt to mark the partition ‘active’ with ‘diskpart’.
  10. You should now have a Mac+Linux+Windows machine. Great for software development!

I kind of whipped this article up in a hurry. If there are any questions about this, email me.

Microsoft’s Latest Desperate Act

Sunday, August 31st, 2008

Have you seen Microsoft’s latest act of desperation aiming to save Windows Vista?

It’s interesting to me that Microsoft has resorted to this strange act. I mean, I knew Microsoft was bleeding money, but I had no idea they were this desperate. You might wonder how this is an act of desperation. Well, Microsoft has taken several non-technically-minded people and asked them to criticize an operating system with technical flaws. As I said back in December, Windows Vista has some glaring flaws that a technically-minded person would pick up on fairly quickly. Unfortunately, all the end users see is the pretty new face, mainly the Aero Glass interface, and think it’s fantastic.

To me, it would have made much more sense to correct the technical flaws, implement the changes in Windows 7 and begin hyping it up. But of course, this isn’t really a new marketing theme, this is truly an underhanded act of desperation.

You Never Want to See This

Saturday, May 3rd, 2008

I don’t know whether to blame the hard drive, Windows 2000, or NTFS-3G. But never in my life do I want to see chkdsk show this again:

It kept scrolling that text for about 10 minutes before finally hitting this BSOD:

So we booted a Windows Vista DVD and ran chkdsk with that to finish the job it couldn’t:

Long story short, we were trying to reformat an external hard drive and ended up putting temporary copies of the data onto the local disk. Unfortunately, the local disk went haywire at that moment, and to make a long story short, most of the files were nicely toasted. The machine needed to be reformatted as well.