Tuesday, June 14, 2005

Report from Mac Land

In my last entry I said I was going to buy an iMac G5 on Sunday, but that turned out to be too difficult. And unnecessary, because I bought it on Saturday.

All that agonizing about conveniently going back and forth between Windows and the Mac (KVM problems, etc.) turned out to be nothing. I did all my work yesterday and today on the Mac, even work that I was sure a couple of days ago would have required the Windows box. I needed Cisco VPN and it turned out that not only is there a Mac client, but it installed without a hitch and worked the first time. I needed Oracle's JDeveloper for some JSP work, and they have version for the Mac, too. Works great for decidedly non-J2EE PL/SQL, too.

(I had been using TOAD on Windows, which has its good points, but also so many irritating bugs and quirks that I'm glad I have an excuse to drop it. Examples: You try to modify a constraint and it refuses because it doesn't recognize the TIMESTAMP column type. You reset the connection, which you have to do when it times out (they don't know about keepalives), and then your output window is disabled and you have to open another one, which you don't remember to do until the procedure has already run with no output. You quit the app, and it pops up 3 or 4 dialogs, all identical, saying that it can't access the connection. It's an expensive utility that feels like lousy shareware, except that I'm convinced the TOAD developers don't actually use their own product.) [20-June-2005 update: I was much too cruel... my friend Steve, in a response posted below, informs me that the timestamp and keepalive problems are both fixable with the right options set. And, to Quest's (makers of TOAD) credit, the Knowledge Base on their web site is pretty good.]

So, the Windows box has been off and may stay off. It helped a lot that I put 65GB of its stuff on an external Firewire drive that I then connected to the Mac (which is very comfortable with the Windows file system), so I didn't have to go back to Windows just to retrieve any files.

Two neat examples of the synergy between the Mac GUI and its underlying UNIX system came up: First, I discovered the wonderful ManOpen app which lets me read UNIX man pages. This is way better than using more to read them a screen at a time! Second, I downloaded a ZIP file, which Safari smoothly downloaded and decompressed into a folder, but the paths used backslashes, which on the Mac just resulted in long file names, and no hierarchy. I almost started up Windows to run WinZIP when I caught myself. All I had to do is open a Terminal window and use gunzip!

I'll stop with one more example: I went to fill out a web form, and Safari went ahead and entered my name, address, and phone number. Odd, because I never entered that stuff into Safari, which you have to do with the Google toolbar used with Internet Explorer or with the Firefox extension. Turned out that Safari got it from the Address Book app. But I never entered it there, either. Address Book got it when I synched my Palm.

I'm rapidly getting spoiled. And, as a developer, my own standards are getting raised.

Friday, June 10, 2005

OK, Mac it is...

Back on April 15, I said:
In my view, Mac OS X is the best desktop OS by far, and that's for novices and experts both. (Alas, the situation is more complicated than that, as evidenced by the fact that I'm typing this on a Windows machine.)
For a month or so I've had my Mac Mini down the desk from my main work area (it's a very large L-shaped table, with me mostly in the corner), attached to a CRT. More recently, I connected the new Linux (Ubuntu) server to the same CRT, although there were still two keyboards and two mice.

I realized that one reason why Ubuntu, and maybe even the Mac, seemed inferior visually to my Windows machine was the 1024x768 CRT compared to the 1280x1024 LCD. So, I decided to use the 4-port KVM switch I already had to put the Mac and the Linux box on the same LCD with Windows, and to share the keyboards and mice as well as possible.

I ended up sharing the LCD and keyboard OK, but not the mice. My KVM is only analogVGA/PS2/PS2, with no USB, so the mouse had to go with a PS2-USB adapter to the Mac, which resulted in no visible mouse at all. The Linux box suffered from the well-known KVM problems with a PS2 mouse (Googling that turned up lots of complaints, and no answers that worked for me). My Mac USB keyboard worked fine with Windows, but without USB on the KVM, it was easier to share the Dell PS2 keyboard, using a PS2-USB adapter to the Mac, which did work.

Anyway, if you lost me in the last paragraph, the three machines share one display and one keyboard, but there are three mice to the right of the keyboard. (After adding an extension to the server's mouse cable, since the server is even farther away than the Mac.)

I'm quickly training myself to grab the right mouse. I've discovered an advanced motion: You wiggle the mouse while you punch the KVM's button, and that way the screen saver has awoken by the time the display switches over.

So much for the hardware, including my arm hardware. The big question is, which is to be my main computer? They all get some use, especially the Mac and Windows machines, but the "main" one is defined by me as the one that gets my email and runs Quicken. My thinking was that if the Mac is as great as I said it was back in April, then why not switch? Switching email went OK. Ironically, Apple's Mail did a much better job of importing from Thunderbird on Windows than Thunderbird on OS X did, and I liked the visual appeal of Mail anyway, so that's where I ended up. Then, I discovered a full copy of Quicken 2005 on the Mac. How it got there I don't know, but there it was. Converting from Quicken 2005 on Windows to Quicken 2005 on the Mac was basically horrible, with numerous false starts, but I got it done at last. I even managed to set up my online user IDs and passwords (three sets: my bank, direct download of my bank's transactions to Quicken, and Quicken's bill paying). This was made 10 times harder than it had to be because each prompt asked for a User ID and password without specifying which it wanted. But, somehow, I got it going.

OK... with email and Quicken on the Mac, the Mac is now my main machine, although all that means physically is that I punch the top switch on the KVM and, of course, grab the leftmost of the two identical Logitech optical mice, both black.

Safari is working better than Firefox on the Mac. Firefox has some problems with web sites that Firefox on Windows doesn't have (same version), and it seems that Safari is just a bit smoother.

Uh-oh... a problem. When I went to print from the Mac I realized that my printer, although it networks fine with the other Windows machines around the house, will never print from the Mac. Silly me, a few years ago I saved a few dollars by buying the LaserJet 1000, which does all its rendering in Windows (no printer language of any sort). No problem... I went for carry-out this evening and came back holding two entrees (the Thai Peanut Noodle was for me) in one hand and a LaserJet 1012 in the other, both about the same weight. I haven't plugged the 1012 into the Mac yet, so I can't report on whether it will work.

One more problem (actually, two), and then I'll let you go: I don't write much with a word processor anymore (this, for example, is being typed directly into Blogger's web site) or use a spreadsheet, but I often have to open stuff from clients. I need something that can open and do some light editing of Microsoft Word and Excel files. But, I hope, not Word and Excel, even though I'm sure the Mac versions are great, and the money isn't the problem. I just don't want to buy any software, unless it's (1) something for my daughters, such as Sims 2, or (2) something truly exceptional that will give me pleasure, such as Adobe Photoshop Elements, or (3) it's a unfortunate necessity, such as an anti-virus utility.

Well, on the Mac there was AppleWorks, which came with it, and OpenOffice, which I like a lot on Windows, but which I hate on the Mac because it runs under X. That creates lots of problems, just one of which is that you can't make OpenOffice the default app to open a document type, because, as it's under X, OS X doesn't know it exists.

Wait a minute... I see on the OpenOffice site something called NeoOffice, which is OpenOffice reworked to be a native OS X app, using Carbon and Java. Not Cocoa, unfortunately, but maybe good enough. (Carbon is the old Mac API, adapted for OS X; the new Mac API, based on NeXT Step, is called Cocoa. Why NeoOffice uses Carbon is something I will investigate someday. Maybe they want to run on OS IX... I mean, 9?)

I put NeoOffice, freshly installed, to a little test today. On a two-hour conference call with a client in Texas, I had a half-dozen Excel spreadsheets and two Word documents opened in it, and it seemed to be fine. I haven't actually written anything with it, however.

So, maybe NeoOffice, still a release-candidate, will work. If not, maybe buying Microsoft Office is the price I have to pay to be able to use the Mac. (If people would just use PDFs to send documents around, most of my problem would go away. But, as you might guess, outputting a PDF is not a native feature of Office apps. It would seriously interfere with their viral marketing.)

So it seems that my conversion to the Mac (echoing a similar conversion I made in 1988) is going to go OK. Only one problem, fairly serious, is standing in the way: The Mac Mini is too underpowered to be my main machine! The apps are huge (NeoOffice's virtual-memory image is about 1GB), it has only 512MB, and the disk is very slow.

But is any problem that can be solved with $2000 really serious? No, it is not. If I'm still happy with the Mac on Sunday, I'm going to replace that Mac Mini with a G5 iMac, 1GB of RAM, and a 20in. display. (My excuse, if I need one, is that Sunday is my birthday. And it will not be the most expensive birthday, either.)

Ummmmm... the iMac has its own screen, which means that I'm back to two screens again, and two keyboards... I think that's where we came in.

Wednesday, June 01, 2005

I hear voices... talking about me...

Well, on May 10, anyway. Here's an excerpt (emphasis added):

23:30:05 Bram
"# In the first prototype, deltas added to an old release would be applied also in later releases when checking out the files. This is the basic idea of change propagation. Typically, the delta to the old release fixes a bug which we would also like to have fixed in the new release.
23:30:07 Bram
# This proved to have potentially disastrous effects because versions could change without warning, so the feature was removed [Roc75]."
23:30:10 Bram
*boggle*
23:30:26 Bram
was it just spewing out mash-ups without checking for conflicts or something?
23:32:51 mlh
my colleague's oreilly book on rcs and sccs says sccs was originally written in 1972 by marc rochkind
23:33:34 mlh
btw, he's the author of advanced unix programming, very good book -- http://basepath.com/aup/
23:34:07 Bram
is marc rochkind still around?
23:34:23 mlh
it was reimplemented for unix v6. that places the C code origins around 1975ish
23:35:03 Bram
1975 is the year I was born
23:35:09 mlh
Bram, yes he is. he made a few comments on /. when his book was reviewed there, and i've corresponded with him on jtux his java/posix binding
23:36:08 Bram
hmm, I should mail him
23:36:58 pasky
clkao: yes... but I still didn't get time for that
23:37:46 clkao
pasky: oh, now it's a good time as it's 1.0!
23:41:15 pasky
I wish I had time for that :/
23:52:42 Bram
okay, mailed marc rochkind
23:57:09 Bram
hrm, looks like he actively posts to his blog

(Full text at http://loglibrary.com/show_page/latest/126. SCCS paper, what they call [Roc75], is here.)

Indeed, Bram did email me, but I could barely follow what he was asking about how SCCS did its "weave." This was 35+ years ago! Nice to know that I'm still around, though. And, indeed, I am actively posting to my blog.

(Side comment: Over the last few years, I've googled "Marc Rochkind" from time to time to see what those voices are saying, which is how I found this little exchange. A month or so ago, I decided to google "Mark Rochkind" instead, and... found twice as much stuff... Which reminds me about what Astronaut Alan Shepard said when asked how he would like to be remembered: "I hope they spell my name right.")