Apple Switches to Intel

As a long-time Apple zealot (and former Apple employee, but that was a long time ago), my reaction to this is, well, mixed. But a lot of people have asked me what I think about it, so here goes. There are lots of issues to consider,

Why’d Apple do it?
It’s not cost. Apple pays less per unit for PowerPC chips than most vendors do for Intel chips. Issues with G5s in laptops and slow rate of speed increase for the G5 is probably the real culprit. There’s a certain irony here with the xbox moving to the PowerPC…

Can Apple pull it off?
Certainly, if any computer company knows how to manage such a transition, it’s Apple, having done it once on the hardware side before (68000 to PowerPC) and then on the software side (OS 9 to OS X). Based on that, and the fact that they’ve had OS X running on Intel hardware for some time now and the high-profile mentions of emulation and having MS and Adobe on board, I’m not worried about the technical handling of the transition. (Though I’m perturbed at the idea of a BIOS rather than Open Firmware.)

On the other hand, I’d be awfully tempted to sell Apple stock short for a while–how can they really expect to sell many machines for the next year? There’s no way Apple can sugar-coat this part that I will find credible.

The other issue I see is based on the bits I’ve read, Mac OS will still only run on Apple-branded hardware but it appears that Windows will also run on that hardware (and not vice-versa). Interesting, but I think the real potential problem is the issue for developers. This seriously impacts the testing effort (now have to test under 2 hardware architectures), and why develop a Mac version if all the Mac users out there can just run your Windows version? I don’t see this as a compelling argument for developing on the Mac.

The sky is falling!
Of course, the real fun will, of course, be seeing a certain segment of the Mac community give Chicken Little reactions, certain that this is the end. I’m sure the press will be declaring Apple’s death soon, for the umpteenth time. And, as per the past, I expect Apple to survive. Mac OS X is really pretty cool (something which could not be said for OS 9, which was usable enough but definitely not very cool) and Apple has another revenue stream (that whole iPod thing you may have heard of) which will help them get through this.

Still, as an 18-year Mac veteran (my first machine was a Mac Plus in 1987 and I’ve never switched, though I did spend some time in front of unix boxes in grad school), pairing with Intel just seems… wrong. As I said to my brother, it feels dirty. (Those evil wrong-endians! And I hate those stupid “Intel inside” stickers and the insipid Blue Man Group commercials.) More on the technical side, I am a bit perturbed by the abandonment of 64-bit processors and I’m not a little puzzled why Intel got the nod over AMD, but I would guess there’s more at play than we currently know.

The other concern I have is the dominant position this will give Intel. There’s something about a single company having a hold on both major desktop/laptop computing platforms which bothers me. Maybe that’s just my usual big-corporate paranoia but I don’t think so.

And, finally, where’s Beelzebub getting a winter coat? It must be really cold down there…

Review: BBEdit

This has been brewing for a long time. I’ve been a BBEdit user for a long, long time (over ten years) so it’s a piece of software I know really well. And when there’s an update, I always bump into the reviews on MacUpdate or VersionTracker. And a lot of those reviews just strike me as wrong in a variety of ways, so I wanted to offer my (highly-opinionated) take.

The most common criticism of BBEdit is that it’s expensive. $179 is indeed a lot of money for a text editor. The thing about it is that I spend an awful lot of time editing basically raw text, and I bet most computer users spend more time doing this than they realize. It’s not unusual for me to handle raw HTML (which I want to mirror to an FTP server), a shell script, a post or two on a Web forum and some kind of tab-delimited data file all in the same day. Then there’s the occasional something weirder, like maybe a LaTeX or Python source file on a CVS or Subversion repository. Or maybe I want to crack open a raw XML file to see how it’s structured or what some of the contents are. Oh, and of course sometimes I want to compose email not in my mailer to make sure I don’t send it out without thinking about it for a day or two first. (Don’t divert me on the nonsense of styled text in email.)

So, first there’s HTML. One of the most inane criticisms I’ve ever heard is that BBEdit isn’t a WYSIWYG editor. Yes, that’s right, it isn’t. In fact, there is nothing which is really a WYSIWYG HTML editor! That’s because your precious HTML will be rendered by different browsers with different screen resolutions, window sizes, font and font size settings, and even underlying rendering engines. (Side comment: If you’re trying to micromanage all these things for the user, you’re doing him/her a huge disservice and wont’ succeed very often anyway.) So this is a stupid criticism. If you want to know what the file will look like in a particular browser, open in it that browser. I probably have five or six browsers on my machine at any given time–why do I need my editor to have an HTML rendering engine in it? Of course, one motivation for this might be workflow-related, not wanting to go out to the file system and drag the file to the Web browser. Well, BBEdit has commands for rendering the current file in a browser, or even all the browsers on your machine–and this command, like all commands in BBEdit, can be bound to whatever keystroke you want. So much for WYSIWYG workflow.

BBEdit’s ability to support HTML is truly outstanding. I learned good old HTML 1.0 in like 1994 (egad) and I still edit the tags directly. But I find that I don’t always remember the syntax for tags which weren’t around “back in the day” and I certainly never remember the hex codings for colors other than black and white. BBEdit gives me context-sensitive, single-keystroke access to dialogs which understand the tags (and do the Right Thing based on the DTD at the top of the file if it’s there) and remind me of the syntax and give me popups for things I don’t remember like color. It also has great CSS support (a real boon to those of us who get the idea, but never bothered to learn all the syntactic details). SubEthaEdit and some of the other free/cheap programs are great, but I’ve not seen anything close to this in any of them. (Disclaimer: I don’t do PHP–yet–so I can’t say how well it supports that.) Things like being able to save a copy of the current file (I like to have one local copy and one on the server) directly to an FTP server without leaving BBEdit is just icing on the cake–and I love icing.

Of course, the reason I started using BBEdit in the first place (circa version 2) was to edit C code. Well, I never program in C anymore (too low-level) but I do write occasional shell scripts and Python code and every once in a long while I need to read C or C++ code. BBEdit is a great programmer’s editor, with terrific features to support this activity. Most such features are now pretty common in alternative programs such as function popups and syntax coloring, but like the HTML tag editors, I’ve never seen a “diff” which even comes close to BBEdit’s. And if you can’t see where a really good diff would be useful, you need more hours programming. Built-in support for CVS and Subversion also greases the wheels on things like this. BBEdit also has very good integration with the underlying unix of Mac OS X and is a terrific environment for shell scripting, which is useful for me because I’m a bit rusty not having done much of this since grad school (though I’m happy to have it available again).

I also spend a fair amount of time munging data files generated in my lab. These are almost always tab-delimited text files, and are sometimes fairly large. Commands for processing duplicate lines and lines which meet a specific criterion are extremely useful in this context. This is where BBEdit’s excellent support for regex-based search-and-replace is really key. If I want to look at a specific data pattern and clip out all lines which contain that pattern across hundreds of files, it’s easy to do this in BBEdit. I have yet to see this be made easy by any other GUI-based editor. (I suspect some form of emacs can do this, but I never got too into climbing the emacs learning curve.) One of the critical pieces of this functionality is BBEdit’s terrific AppleScript support. Programming your text editor may seem like a weird thing to do, but BBEdit has a lot of the right primitives for doing a lot of the things I want. Some of those things would be done probably almost as easily with things like Perl (which I haven’t bothered to learn yet because the syntax violates my aesthetic sense so badly) or Python, but I’ve been using BBEdit to do those things for so long that they seem more natural to me in BBEdit, plus I don’t have to burn any code on things like selecting only certain kinds of files or subdirectory traversal, since all that’s built in. Cheap alternatives like TextMate have some nice features, but they lack this. (Note: TextMate’s macros are nice, but I strongly prefer my recorded actions to be handled in AppleScript so I can call them, or parts of them, from other apps.)

There are all kinds of other cool things in BBEdit that I use all the time. One of them is the “change case” command. I could not count the number of times I’ve opened BBEdit just to paste in some text and munge it with the “change case” command only to copy and paste it back somewhere else. A small thing, I know, but small things add up over the years. Another thing I bump into all the time are line endings, now that Macs are split-personality old-style machines with some files having Mac line endings and some with unix line endings. BBEdit handles this in an elegant way, and most importantly, is scriptable.

The other common complaint is that BBEdit is becoming “bloatware.” Well, yes, there are a lot of features and menus and the menubar is pretty long if everything is enabled. But unlike Micro$osft Office, which is the poster child for bloatware, I actually use a great many of the features in BBEdit. I admit I probably under-utilize some of the powerful features others rave about–I don’t make as much use of the Glossary as I probably could–but I really do find that many of the features are, in fact, things that once I get my head around what they are, I find them more useful than not. And if you don’t use CVS or Subversion or Text Factories, you can turn those menus off. OK, yes, there are 31 commands in BBEdit’s “Text” menu, but I can honestly say I’ve actually used every single one of them. I can certainly see, though, how someone just downloading the demo to check it out might find the plethora of menu options and preferences somewhat daunting. But there’s a reason for all of it, or nearly all of it, at least for me.

Have there been bumps in the road? Sure, there are occasional BBEdit versions which are a little glitchy (8.0 comes to mind, though I can’t even remember what small weird problems I had). But BareBones releases bug fixes quickly and is more responsive to customer input than any company I’ve ever seen. If I send email to the president of the company, I not only get a thoughtful answer, but he remembers who I am. Wild.

So, yes, BBEdit is expensive and has an awful lot of stuff in it. Those two things are related, but in my mind, related in a positive way. Of course, I’m academic and I’m pretty much only paying for upgrades anyway. Regardless, I’d pay full price out of my own pocket to keep this application around. It’s just about the only application which I have launch at login, because I know that if I’m going to use my machine for more than 20 minutes, I’m probably going to use BBEdit.

Now, having said all that, there are a few things I’d still like to see in BBEdit, but none of these are show-stoppers:

• Live, or as-you-type, spellchecking. The current version (8.2.1) of BBEdit has something kind of close, but it’s still not what I want because I still have to remember to invoke it.
• Specific support for editing vBB/UBB-style tags. Yes, they’re stupid, but some forums use them and won’t take HTML. Too specialized and stupid, I know.
• TextFactory menu and Subversion support. Oh, wait, those are the things I asked for in version 8.1 and now I have both. Never mind.
• Code/section folding. In my mind, lack of this is the most legit criticism on the boards. This is one place where TextMate does have a real advantage. I’ve wanted this ever since I saw the some early prototype of the Dylan IDE (don’t ask) in like 1991.
• Oh, there’s another cool feature in Smultron I’d like to see, which is .Mac syncing of preferences (and things like grep patterns and such).

Quicksilver

Pretty much any time someone watches me over my shoulder use a Mac I control, they see me do something with Quicksilver and they ask me what that was and how did I get to wherever I got so fast. If you use a Mac–and of course you should, even Paul Graham thinks so, and for good reasons–you really should download Quicksilver and check it out. What is it? Well, the problem here is that it’s difficult to explain. It’s a launcher and a search tool and it’s a whole bunch of other things, all wrapped into one. I know that doesn’t sound very exciting, but once you use it you’ll be amazed that you ever lived without it. Really. Honest. Just get it and check it out. Be sure to download many of the plug-ins, because they enable many of the things which make it so cool, like integration with the Address Book.

Impression: Apple’s Pages

I’ve had the chance to use it a bit, and so far I like it. It reminds me a little of my all-time favorite word processor, MacWrite Pro, which never got updated for OS X, in that it’s a word processor with an extra bit of page-layout functionality. Not a lot–it’s not designed to compete with Quark or InDesign–but just enough to make it easy to do two-columns with a one-column header or figure without botching it up like Word.

My biggest quibble so far is that it turns on hyphenation by default. Yuck.

I guess the other knock on it is the media browser. Images are tied to the iPhoto library, which doesn’t help me because most of my writing takes figures which are not in file formats supported by iPhoto, like EPS or TIFF or PICT.

But otherwise, well, looks like things are going to be tough for Mariner. Mariner does have some advantages, like more advanced search-and-replace built-ins (e.g., zapping linefeeds) but I can get a lot of that off various Services now. Plus I won’t have to put up with all of Mariner’s drawing garbage when viewing at odd zooms like 110%.

(original date: 2005.02.28)