The Price of Windows

Ben Brooks brought this post by Adrian Kingsley-Hughes to my attention.

Adrian Kingsley-Hughes is a long-time Windows power user who now prefers OS X, iOS, and Android for their simplicity and reliability.

My primary work system is a MacBook Pro, and in the ten months I’ve had it it’s flawlessly done everything I’ve asked of it, from run Microsoft Word to render 4K video. I’ve lost count of the number of notebooks I’ve owned over the years, but this MacBook Pro is, by far, the most reliable system I’ve owned, and I put part of that down to the fact that it doesn’t run Windows.

And, on tablets:

My experience of Windows on tablets closely resembles that of my ZDNet colleague James Kendrick. Bottom line, they let me down too much to want to bother with them. Why would I trade a reliable iPad or Android tablet for an unreliable Windows 8.1 tablet? Why trade a tablet that just works for one that regularly sends me on quests, roaming the Internet looking for the right elixir to fix the system?

My question for Adrian Kingsley-Hughes is “WHY IS THIS NEWS TO YOU?” Despite your claims to have had some “rock solid” Windows NT 3.5/4.0/2000 systems in the past, you also say say “of all the desktop operating systems that I’ve used, the modern Windows operating system is by far the most fragile.”

You place the blame on Microsoft “for not putting enough effort into hardening the system, reducing the effect that fault – in particular software faults – have on the system, and providing better information when things go wrong.”

And you place the blame on “the vast ecosystem of hardware and software [Windows] has to support, and partly it is down to the years of legacy that each version drags behind it.”

I hate to tell you Adrian but WINDOWS HAS ALWAYS BEEN THIS WAY!

When you plunk down your $199.99 for the latest Windows 8.1 Pro, Business, Core, or whatever Microsoft is calling it these days, WINDOWS IS WHAT YOU ARE PAYING FOR! You are paying for the hardware compatibility, the vendor ecosystem, and the legacy software support you want. But you are also paying for the troubleshooting, the frustration, the malware, the terrible battery life, and the ambiguous error messages that send you circling all over the internet. The only reason you are aware of it now, is because you have recently tried a closed systems like OS X and iOS where the software and the hardware are developed together to work for you.

I always laugh at Windows users who have problems with their computers. After all THIS IS WHAT THEY PAID FOR! If you are are not up for the challenge of tweaking the Registry, diagnosing bad drivers, removing spyware, or rebuilding your system to avoid bit rot then you bought the wrong operating system. After all there are less time-consuming options out there like OS X, and iOS with free in-person training, and free support.

I feel bad for Adrian, that after spending 10,000+ hours mastering Windows he finally found a platform that works for him. But at least he got what he paid for.

Repair Disk Permissions

Readers ask me when is a good time to Repair Disk Permissions?

My answer, “when is the last time you booted into Mac OS 9?”

Many things you install in Mac OS X are installed from package files (whose filename extension is “.pkg”). Each time something is installed from a package file, a “Bill of Materials” file (whose filename extension is “.bom”) is stored in the package’s receipt file, which is kept in /Library/Receipts/ in Mac OS X v10.5 and earlier. These files don’t take up much disk space and you shouldn’t put them in the Trash. Each of those “.bom” files contains a list of the files installed by that package, and the proper permissions for each file.
In Mac OS X v10.5 or earlier, when you repair disk permissions Disk Utility reviews each of the .bom files in /Library/Receipts/ and compares its list to the actual permissions on each file listed. If the permissions differ, Disk Utility reports the difference and corrects them.

Prior to 10.6 you could use any version of Disk Utility on any version of Mac OS X to Repair Disk Permissions. It didn’t matter because the disk permissions being inspected were always compared to the defaults stored in the local /Library/Receipts/ directory.

Starting Mac OS X v10.6 and later, Disk Utility doesn’t even look in the /Library/Receipts/ directory when you Repair Disk Permissions. All it does is reset the Base Systems disk permissions back to the default as specified by version of Disk Utility you are using.1

  • Disk Utility can not repair permissions on any drive that does not have Mac OS X installed.
  • Disk Utility can not repair permissions on any third-party software.
  • Disk Utility can not repair permissions on any Apple software outside of the Base System.
  • Disk Utility can not repair permissions on any files in your Home Folder.2
Given all of these limitations what is Repair Disk Permissions good for?

Back in the days when Macs were capable of dual-booting into Mac OS 9 disk permissions were a big problem. Mac OS 9 didn’t respect disk permissions. It treated every file as if you were root.

If you booted into Mac OS 9 and ran some common applications, compressed and decompressed files, moved or renamed files, or (worse) ran a disk utility like Norton, they could completely destroy the permissions for many files that OS X needed to boot or run correctly.
Since this was a relatively common occurrence and a huge support issue, Apple introduced the Repair Privileges Utility. Starting with Mac OS X 10.2 Jaguar the Repair Privileges Utility was combined with Disk Utility. Repair Disk Permissions offered early dual-booting Mac users a quick way to fix their systems and get Mac OS X working again. But now that Macs can’t boot into Mac OS 9, why do we need to repair disk permissions?

The only time you need to run Repair Disk Permissions is if you changed a system-level permission you shouldn’t have. Apple tries to educate users on changing permissions in knowledge base articles like this one, but warns incorrect commands may result in data loss and/or unusable system software, reduced system security and/or exposure of private data. It is best to leave system-level permissions alone. Sure the freak power outage, cosmic ray, or a runaway installer might mangle some permissions here or there, but those are rare occurrences.3

Leave Repair Disk Permissions for the people who need it most. Gullible people who don’t know what they are doing, and still insist on Zapping their Mac’s PRAM every third Sunday.


  1. Therefore you need a 10.6 version of Disk Utility to repair permissions on a volume with 10.6 installed, and you need a 10.7 version of Disk Utility to repair permissions on a volume with 10.7 installed.
  2. In Mac OS X 10.5 and later, while started up (“booted”) from the Mac OS X 10.5 installation disc, a user’s home directory permissions can be reset using the Reset Password utility.
  3. You don’t need to run repair permissions before installing the latest Software Updates, because the Installer runs as Root and ignores disk permissions anyway.

Coffee Break

Apple has a long history of including Java in its desktop operating systems. The Macintosh Runtime for Java included a JIT compiler developed by Symantec, the standard Java class library from Sun, additional classes providing Macintosh-specific functionality, and the Apple Applet Runner for running Java Applets on the Classic Mac OS without the overhead of a browser.

Macintosh Runtime for Java 1.5 works on computers with 68030, 68040 or PowerPC microprocessors. You also need System 7.5 or later, a minimum of 8 MB of RAM (16 MB is strongly recommended) and at least 7 MB of free disk space. Computers with 68030 or 68040 microprocessors must have 32-bit addressing turned on.

This is what Apple had to say about Java in 1999.

“Our customers want better Java performance in Mac OS and we’re committed to giving it to them,” said Steve Jobs, Apple’s Interim CEO. “We are working hard to make our Java implementation second in speed to none other in th world.”

With the JIT compiler Apple expects to significantly boost the performance of Java software running on Mac OS. Industry standard benchmarks on preliminary versions of MRJ combined with the JIT compiler show a 300 percent performance improvement over the current version of MRJ. This is competitive with results seen with Java VMs provided with web browsers for Windows-based computers.

In addition to multiple press releases Apple also started publishing Java development resources on its website, and even went so far as to port a version of QuickTime for Java.

QuickTime for Java brings together Java and QuickTime, allowing developers to create Java software that takes advantage of the power of QuickTime on both Macintosh and Windows. QuickTime for Java harnesses the native power of QuickTime via Java creating an excellent Java multimedia framework.

When the web looked like it would soon be controlled by proprietary frameworks like Java, Steve Jobs didn’t want the Mac to be left out in the cold.

In 2001 during the release of Mac OS X, Apple went as far as to include Java as one of the Mac’s primary Application frameworks right Alongside Classic, Carbon, and Cocoa.

Mac OS X is the only mass-market operating system that comes complete with a fully configured and ready-to-use Java Development Kit. Professional Java developers are increasingly turning to the feature-rich Mac OS X as the operating system of choice for cross-platform Java development projects on the Macintosh and other platforms.

But by 2004 the hype surrounding Java started to settle, and by 2006 is was clear that Java was no longer the pillar of Mac OS X development it had once claimed to be. Java was always a gamble on the Mac. A safe bet for getting the Development Community and Enterprise IT interested in Mac OS X, but a long-shot at making a difference in Mac OS X development. By October 2010 it was clear Objective-C would be the Mac’s programing language of choice. With the budding popularity of the iPhone and iPad Apple didn’t need Java anymore to attract attention.

As of the release of Java for OS X v10.6 Update 3, the Java runtime ported by Apple and that ships with OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of OS X.

Steve Jobs had this to say about Apple’s decision to drop Java.

Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.

10.7 Lion was the first release of Mac OS X with a Java Runtime Environment missing from the default install. Users could elect to install Java 6 as they needed using Apple’s Software Update service, or download Java 7 directly from Oracle. As of June 18th, 2013 Mac OS X continues to receive Java security updates, but all of that is about to change.

Starting with OS X Mavericks Apple will no longer be providing a version of the Java Runtime Environment. Users who need Java will be prompted to download a version of Java 7 from Oracle’s website. If you still need Java 6, you better stick with Mountain Lion.

A simple search for “Java Security” on the Web, reveals the real reason Apple is dropping Java. With a new versions of Java coming out every couple of weeks to fix severe security risks, it is no wonder Apple is taking a “coffee break.”

Fast Times & Short Life of Fusion Drive

Fusion Drive, we barely knew you. Announced as part of an Apple event held on October 23rd, 2012, Fusion Drive combined the large capacity of a conventional hard drive with the speed of a 128 GB flash storage to create a single logical volume with the space of both drives combined. The operating system automatically managed the contents of the Fusion Drive so the most frequently accessed applications, documents, photos, and other data are stored on the faster flash storage, while infrequently used items moved or stayed on the hard drive. Users benefited from the affordable large-capacity data storage Fusion Drive provided, while still experiencing the quick boot times and fast application launch speeds of an SSD.

Unfortunately many of Apple’s most popular Macs could not accommodate Fusion Drive due to a lack of space. Fusion Drive required space for a conventional 2.5 inch hard drive as well separate flash storage, and only the 2013 iMac and Mac mini could include one as a build-to-order option. Even the Mac Pro, with its boxy design and removable hard drive modules, could not take advantage of Fusion Drive. In a time when Macs were getting thinner and lighter, Fusion Drive was pushed out of the nest before it could ever take flight.

There was also the problem of price. At $250 for 128 GBs of flash memory, Fusion Drive came at a premium compared to other third-party SSDs. The people most likely to take advantage of Fusion Drive’s simplicity were the ones least likely to pay for it. And shortly after Fusion Drive’s release, large capacity solid state drives dropped in price, giving power users other options.

Let’s not forget that most users no longer need the high-capacity storage the Fusion Drive provided. The Mac is no longer the digital hub is once was. As more and more content moves to the cloud, Flickr, Pandora, and Netflix have taken away the importance of having high-capacity hard drives on modern Macs. Users of today’s popular personal computer, the iPad, make due with storage capacities half the size of affordable SSDs. Why would they need eight times the storage a Fusion Drive provided? Fusion Drive tried to solve a problem most people really didn’t have.

Fusion Drive, no one needs your fragile combination of storage technologies anymore. If Apple had really believed in you, they would have made you the default storage system on a Mac, any Mac. Instead you were neglected to a build-to-order-option. Even the top-of-the-line 27 inch iMac never shipped with a Fusion Drive standard. Fusion Drive, we will always remember you for the fast plentiful storage you promised. A great idea whose time came too late.

DEFCON

DEFCON is a real-time strategy game created by independent British game developer Introversion Software. Inspired by movies like Dr. Strangelove, and WarGames: > Players are given a 1980s vector graphics computer-themed world map, a varied arsenal of nuclear and conventional weaponry, and a primary objective: destroy as much of the enemy’s population as possible while having as little of one’s own population destroyed as possible. A typical game will see civilian casualties numbering in the millions (megadeaths) while players try their hand at annihilating their opponents.

In most games, all sides take heavy losses. “Nobody wins, but maybe you can lose the least.” Games last 30 to 40 minutes while real-time gameplay can last more than eight hours. Game time can be varied by a consensus among players configuring the speed at which events progress from real-time. DEFCON is a streamlined real-time strategy game, with no unit production, resource collection, or technology tree upgrades. Players choose and position their forces at the beginning of the game on one of six territories, North America, Latin America, Europe, Africa, Russia, or Asia. A countdown system prevents games from disintegrating prematurely. Gameplay begins at alert level DEFCON 5 and counts down to DEFCON 1, and the use of nuclear weapons Each upgrade in alert level brings more possibilities. Ground installations are immobile, and can be destroyed by nuclear attack. They include missle silos, airbases, and radar. Naval units are organized into fleets of up to six ships which move and fight together. Fleets must be placed in territorial waters at the beginning of a game, but may move through the ocean, albeit slowly. Fleets can include any combination of battleships carries, and submarines. Aircraft are launched from either airbases of carriers. Typically they operate autonomously after launch, but bombers and fighters can also be controlled while airborne. Bombers carry a single short-range ballistic missile that may be fired at a nearby target. Bombers have a long range to deliver this payload, but are vulnerable during the trip. Missiles deliver a devastating payload. A direct hit on a city will kill half of the current living civilians. Between one and three hits are required on the hardened buildings that players place to destroy them. Missiles can only be shot down by silos in defense mode, which have a small random chance of hitting the missile with any given shot-a hit will cause a limited detonation in the missile, yielding minor casualties if a city is directly beneath, or damaging or destroying a facility if one is below. Once launched from a silo, submarine, or bomber, missiles cannot be retargeted, though they can be disarmed in mid-flight. Missiles can also target sea-based units and will destroy any aircraft caught in their blast radius. DEFCON uses a real-time line of sight system common to traditional RTS games, where only enemy units within radar coverage may be seen. However, a nuclear missile launch from a silo or submarine is automatically detected by all players (though the missile itself is not, and must be detected by radar), which reveals the location of the unit launching the missile. A nuclear missile launch from a bomber, however, does not reveal the location of the bomber. Making it the perfect first strike vehicle. Most units have several operating modes for different functions, and require several minutes to switch modes. For instance, ordering a missile silo to switch from offensive launches to missile defence will leave it inoperative while it switches. Signaling to other players the perfect time to attack. A DEFCON game can host up to six human or AI players. Alliances can be formed, broken, or renegotiated at will with human players. Alliances with CPU controlled players can only be set at the start of the game. Allied players share radar coverage and line of sight, but there is no allied victory and there is only one winner. This means that almost all alliances are broken by the end of the game. Lead designer Chris Delay explains: > We’ve seen alliance members shooting overhead friendly planes down because they believed the planes were scouting the area for targets in preparation for a strike. This results in arguments in the chat channels, followed by skirmishes at sea, followed by retaliation, before finally the whole alliance collapses and everyone starts nuking the hell out of each other. It’s awesome.

DEFCON is an awesome game. Like Risk, only with nuclear weapons, everybody starts out with the same chances, the same units, and the same belief they will survive annihilation. Only luck and strategy set a victorious player apart from his conquered peers. The stark isolation of the vector graphics, and the bone chilling audible gasps of the dying, brings the faceless reality of nuclear war to player in a way rich texture maps, and dynamic lighting never could. With each pulse of white light representing a nuclear explosion players know millions of virtual lives have been lost, but the real fear comes from the fact that there is very little separating DEFCON from the way a real nuclear war would be fought. I highly recommend DEFCON to anyone who grew up fearing the nuclear bomb, or wanted to be that kid from WarGames, unknowingly ready to start a nuclear war, if only on the Internet.