Conquering Time and Spaces

Remember that issue I had trying to install Leopard? (This issue.)

Since the problem seemed to stem from my multiple partitions, I just copied everything off of my Windows partition to my FireWire drive, zapped the partition and stretched the Mac partition back out (you can easily do this with command line tools in Tiger and Disk Utility in Leopard, which I had installed on that very same FireWire drive), and it worked just fine.

So. Waffle. Now spotty.

Wait. It’s always been spotty.

Waffle. Now regularly backing up.

Windows Visto

Remember Visto, the “leading” mobile email solutions for business users provider? Even though they missed their mark (November makes for very, very, very “late Q3 2007″) they did actually launch a product amounting to more than a crappy webmail interface, which I didn’t suspect.

It’s still weird though - the product info page has this notice in red on the bottom:

Visto Mobile for the iPhone is not available for individual Macintosh users. Organizations and/or companies that are using Macintosh computers in a Microsoft Exchange or Domino Lotus Notes environment can use the enterprise version to get Visto Mobile for the iPhone.

Why, yes, because there are so many enterprise Mac users, it wouldn’t really do to market directly towards the pittance of individual Mac users. What the fuck.

Pride and Prejudice

Mike Lee takes Cocoa and Objective-C to task for a lot of cruft, inelegance and/or inconsistency.

The article is a good read. I agree with almost every specific point he makes. However:

When I begged, I begged with PHP, ASP, SQL, XSL, JavaScript, Java, and even shudder C# .Net. When I chose, I chose Cocoa.

Which is funny because later on he asks for autoboxing and generics, calling them out as Java features; things he miss from Java. You know that C# language that makes you shudder? It had autoboxing from the get-go and added generics later, and its implementation of each of these features kick some major Java ass.

In Java, only primitive types get to be value types; so when you use Integer (the boxed counterpart of int), your program might go boom if you use this line: int x = foo(); if your foo method returns an Integer and that happens to be null. This doesn’t happen in C# because autoboxing was built-in from the start, because the autoboxing is so good you just think int is syntactical sugar for System.Int32, and because System.Int32 is a struct, which is allowed to be a value type, and can’t be assigned null. (Java doesn’t have structs.)

In Java, the generics metadata is stripped away as soon as possible during the compiler stage to generate compatible bytecode. Which makes sort of sense. But weren’t we supposed to be able to reflect the hell out of this language? (And of course, in C#, the bytecode is incompatible, but generics has glorious support. Also, you can specify constraints for the types.)

What really ticks me off with Java, despite that I get along reasonably well with it, is that it’s got absolutely no aspirations to be anything other than a slowly-growing (community process! community process! squawk!) C++ implementation with a better syntax, a no-magic-allowed attitude (if it’s implemented like a method in the bytecode, by gum, it should be written like a method in the code!) and the same inherit-once-implement-n-times model C# and Objective-C uses. People are still bickering about adding closures, and things that are genuinely useful and eventually do get added don’t get all-out support because hey, that might break the bytecode.

.NET itself is largely a festering spectre. C#, though, is perhaps heavy, but it’s certainly well designed. If the past few years of how the language has evolved has taught us anything, it’s that you should never, ever, underestimate Anders Hejlsberg. He just might be Denmark’s way of making up for Bjarne Stroustrup.

2M

2005: “June 6, 2005 — Apple today announced it expects to deliver over two million copies of Mac OS X version 10.4 “Tiger” by the end of this week, including copies sold at retail, copies delivered under maintenance agreements and copies bundled with Mac systems shipped, making Tiger Apple’s fastest selling OS release ever.”

2007: “October 30, 2007 — Apple today announced that it sold (or delivered in the case of maintenance agreements) over two million copies of Mac OS X Leopard since its release on Friday, far outpacing the first-weekend sales of Mac OS X Tiger, which was previously the most successful OS release in Apple’s history.”

So, number of days until 2 million copies (given an estimate of Thursday, June 9 2005 for the Tiger date):
Leopard: 2; Tiger: 42

Impressive.

« Newer posts · Older posts »