BeOS is the new Amiga

I hate to say this about something I once loved, but the BeOS — or more accurately, the community that is still around it — is becoming the Millennial version of the Amiga.

I hate to say this about something I once loved, but the BeOS — or more accurately, the community that is still around it — is becoming the Millennial version of the Amiga.

Nowhere is this more clear than a recent OSNews.com article reviewing the latest beta of YellowTAB’s “Zeta”. The author begins by saying “it’s not dead” and then gives copious detail about how screwed up this release is, and makes it clear (without intending to) how impossible it is that it will ever be fixed. Just a couple of examples the author gives:

  • It’s based off of EXP, or what was Be’s main development branch for BeOS. At the time Be stopped working on it, EXP was known to be very unfinished in many areas. Frankly, without the original engineering team, EXP is probably not salvagable in an interesting timeframe.
  • Smooth window dragging is admitted to work less well than Mac OS X. Not surprising, Mac OS X has had 3 more years of development, by a vastly larger team, but that’s exactly the point. Zeta is behind the state-of-the-art, with zero hope of ever catching it.
  • It uses BONE, the next-generation networking stack, which was 75-85% finished when Be stopped working on it. It’s probably the most straightforward module to complete, so if they can’t even finish that…
  • “And hopefully, there is better support for the SB128 sound cards which was the main complaint in 2001.” Um, it’s the middle of 2003 now.
  • No usable web browser, no 3D / OpenGL, no Java.

These are fundamental problems, a minimum of 2 years of development for a large, dedicated team, not things fixable by a couple programmers working for a couple months. YellowTAB simply doesn’t have the means to complete this project. It would be one thing if the author began her review by saying, “OK, BeOS is basically dead, but for those of us who still like to hork around with it, here’s something new and fun to play with.” But to treat the release like it’s a serious project with hopes of someday being useful, instead of a hobby, is just kind of crazy. Just like the Amiga folks.

Why won’t people let BeOS rest in peace? It’s unfortunate but true: BeOS is a red shirt of the computing industry. It’s dead, Jim. Beam back to the Enterprise, and move on to the next planet.

I recommend Mac OS X.

NoteTaker vs. NoteBook

Aquaminds NoteTaker has deservedly received some good press recently. But as it happens, it has a competitor from the same family tree. Circus Ponies NoteBook is based on the same source code, from a product originally written for NeXTSTEP. It’s just been released, and has a competitive upgrade price of only $10 — a no brainer.

Aquaminds NoteTaker has deservedly received some good press recently, including a nice mention in the May Macworld’s “More Mac Software Bargains” article, where it’s one of the most expensive items listed. It’s a really fine outlining and semi-structured way to organize information for Mac OS X.

An interesting thing about NoteTaker, it’s based on code written years ago, for a NeXTSTEP application called NoteBook. As it happens, when Millennium Software Labs (the company that published NoteBook) disbanded, two people got the rights to the source code. A founder at Aquaminds is one of them, and a founder at Circus Ponies is the other. And Circus Ponies just recently announced their newest version, named (curiously enough) NoteBook.

The two products are both priced under $100 (NoteBook just barely), and have enough similarities that you can see their common ancestry. And they’re different in some interesting ways, too.

The most interesting thing about NoteBook, though, is the competitive upgrade. It’s $10! That price is so low, it’s a no-brainer to buy the software. And there’s a wide range of products which qualify you for the competitive upgrade, too.

But hurry, the offer only lasts another five days, expiring on the 18th. Buy it now!

I Need a Calendar

I was recently trying to give someone a date for an upcoming event, and I didn’t have a good way to put a calendar in front of my face while sitting at my computer here at home. I don’t use iCal, because it doesn’t synchronize events with my Outlook schedule on Windows at work, making it essentially useless; for just a monthly calendar, it takes too long to launch. I want something very small, with a clean, simple interface. I don’t need a scheduler, I just want a small, navigable monthly calendar.

I was recently trying to give someone a date for an upcoming event, and I didn’t have a good way to put a calendar in front of my face while sitting at my computer here at home. While this blog has a reasonable calendar in the sidebar navigation, it’s not terribly useful in that it can’t look to the future. I don’t use iCal, because it doesn’t synchronize events with my Outlook schedule on Windows at work, making it essentially useless (more on this in a future post). For just a monthly calendar, it takes too long to launch.

I want something very small, with a clean, simple interface. I don’t need a scheduler, I just want a small, navigable monthly calendar. It needs to be omnipresent, which ideally means it’s available from the menu bar. On Mac OS 9, I had a perfect little application called SimpleCalendar, which brought up a calendar window less than two inches square, that could be easily maneuvered into the future or past. But this app doesn’t exist on Mac OS X, and isn’t a menu bar app, which I’ve decided I want (since menu bar items can be very stable under Mac OS X, unlike Mac OS 9).

A quick trip to VersionTracker.com and a search for “calendar” yielded about eight suspects, which I downloaded and tried. Some were simply unsuitable, being application-only calendars. A few were too obtrusive, taking too much room in the menu bar, or shifting menu items around when toggling the display. And some tried to do too much.

MenuCalendar I finally settled on MenuCalendar. It puts a very small icon in the menu bar, at the far right, shifting everything else over to the left. It uses a NSStatusItem to put up the icon, which means it’s relatively supported and stable. And clicking it drops down a monthly calendar pane that is tremendously similar to the old SimpleCalendar window, which I loved.

There are a few things I’d like to see improved. For example, today should be highlighted with the system preference highlight color, or at least be user-changeable; it’s hard-coded right now. I’d also like to be able Command-drag the menu bar icon to be next to the clock. And most annoyingly, clicking to drop down the calendar seems to only register the mouse down event; when I move the mouse off of the icon, the other menu items will drop down as though I was holding down the mouse button, when I’m not.

Ultimately, I’d like for the calendar to drop down from the menu bar clock. There were a couple utilities that almost did this right (e.g., PTHClock), that I could have replaced the Apple clock with, but they had one or two minor things wrong. MenuCalendar seems like my best option right now, but I’ll keep looking.

Mounting Disks in Mac OS X

This might be so obvious it’s not actually a tip, but I just learned it today. This is a tip that’s useful if you have more than one hard disk in your Mac OS X system. With more than one disk (or partition), it’s occasionally useful to unmount a hard disk, either to “hide” it from some activity or utility you’re using, to run a disk checking utility on the unmounted volume, or just to keep down the clutter on your desktop. But how do you get it back, without rebooting?

This might be so obvious it’s not actually a tip, but I just learned it today. This is useful if you have more than one hard disk in your Mac OS X system. With only one disk (we’re ignoring disk partitions here), it’s impossible to unmount the disk, because you can’t make your startup disk unavailable to the system.

With more than one disk (or partition), it’s occasionally useful to unmount a volume, either to “hide” it from some activity or utility you’re using, to run a disk checking utility on the unmounted volume, or just to keep down the clutter on your desktop.

Way back in the day, when SCSI hard disks were all that the Mac could access, I used a control panel called SCSIProbe to mount disks which, for whatever reason, were not mounted and available on my desktop. These days I’m using Mac OS X full time, so SCSIProbe is no longer available. And SCSIProbe was only good for SCSI disks. Since I recently decommissioned the one SCSI disk in my system, in favor of a pair of ATA (IDE) disks, I need a new tool anyway.

There’s a command line tool to mount and unmount disks, but if you want something easier, just use Disk Utility, provided by Apple, in your /Applications/Utilities directory. After launching it, select the disk volume in the list on the left, and choose Mount from the Options menu. Simple!

Note that you have to select the disk volume, which will appear as the disk name indented under the physical disk item, which just lists the disk’s physical capacity. If you select the physical disk, the Mount command will be dimmed out. If your disk has multiple partitions, they’ll all appear under the physical disk item, and you can mount them in the same way.

Mac OS X ~/Library Permissions

Note to future self: the next time you re-install Mac OS X from scratch, remember that the reason why PHP cannot access include files in your ~/Library/WebServer folder is because the permissions on the ~/Library directory forbid read access to all but owner.

Before I explain the problem and solution that had me tearing my hair out Friday through Sunday, let me explain how I organize my system for doing PHP development and serving. Mac OS X Jaguar includes robust web serving capabilities, in the form of Apache and PHP. Apache’s default services, the documents and CGIs which are installed with Jaguar, are located in subdirectories under /Library/WebServer. This would be a natural place to put configuration and include files for PHP, and indeed it is where I keep the server-wide php.ini configuration file for PHP, /Library/WebServer/PHP/php.ini.

(I also create a symlink for that file at /usr/local/lib/php.ini, because that’s where Marc Liyanage’s full-featured PHP module, which I install over Apple’s “lite” version, expects to find its configuration file.)

However, Mac OS X separates out very cleanly the functionality installed at the system level, for all users, and functionality installed for a specific user. System level items go into /Library, while user-specific items go into ~/Library (that is, the Library folder in your home folder). The two directories mirror each other in structure, but have a different “scope” — system-wide versus user-specific. Since I was adding my blogging system’s PHP libraries for my own use only, I created the ~/Library/WebServer directory, and a PHP/Includes subdirectory under it, to hold them:

/Users/username/Library/WebServer/PHP/Includes/monauraljerk

I add the following line to my /private/etc/httpd/users/username.conf to make PHP look for include files in the above Includes folder:

path "/Users/username/Library/WebServer/PHP/Includes:/Library/WebServer/PHP/Includes"

This needs to go inside a VirtualHost or Directory statement; if you don’t know what those are, you might not want to be fiddling with this stuff.

The problem was, whenever I would load a PHP page that tried to include() one of the PHP libraries, or any file stored in my private Includes folder, it would fail with a “file not found” error. I spent more than 6 hours trying to track this problem down, finally resorting to brute force PHP scripts to test file_exists() on a bunch of different files, until I located the issue (and was able to blog once more!).

So, finally, here’s my point. Note to future self: the next time you re-install Mac OS X from scratch, remember that the reason why PHP cannot access include files in your ~/Library/WebServer folder is because the permissions on the ~/Library directory forbid read access to all but owner. You need to increase the permissions like this:

chmod go+r ~/Library

Remember it!

Mac OS X System Migration

As part of my hard disk replacement, I decided to do a complete reinstall of the operating system for my Mac G4. This is different from the Archive & Install project I undertook last year, I actually installed Mac OS X 10.2 onto an erased hard disk, created my account from scratch, and have been re-installing all my software, and copying over settings and documents as I need them.

As part of my hard disk replacement, I decided to do a complete reinstall of the operating system for my Mac G4. This is different from the Archive & Install project I undertook last year with the release of Mac OS X Jaguar. In this case I’m taking the most extreme approach, I actually installed Mac OS X 10.2 onto an erased hard disk, created my account from scratch, and have been re-installing all my software, and copying over settings and documents as I need them.

I am specifically not copying over my Users directory entire, because I want to leave behind all the cruft that has built up on my original installation, now more than two years old. I’ve installed so much software, some of which I now consider unsafe (Norton SystemWorks, for example), and some of which has become unnecessary, that it’s impossible to “undo” the changes they’ve wrought. The only way to get away is a completely clean installation, and deliberate installation of tools I actually use or need.

Of course, the downside is I lose much of the hundreds of hours that I’ve put into tweaking my system. Redoing the important stuff is a huge enough task that you have to ask, if it ain’t broke, why fix it?

The thing is, some things are broke. I have a downloads folder where all the items jump around in icon view, and the window shifts the scroll positions whenever I unmount a disk image. Weird stuff, that’s more annoying than a real problem. But because it’s unexplainable, and impossible to eliminate (and lord knows I’ve tried), it makes me worry about overall system correctness.

Anyway, I’m taking a similar approach as the one I took when I first migrated from Mac OS 9 to Mac OS X: move my e-mail and web browsing to the new system. Everything else will follow.

It’s amazing, but those are my most constant, most important activities. Once those are migrated, there’s no going back, so I may as well head forward. There’s quite a bit still in front of me, so I’m sure I’ll post more on this topic as I run across helpful tips or interesting lessons.

DHI 78-80

Daily Home Improvements: hardware upgrades, scraping up crap, and for sale!, a 19″ Trinitron monitor!

DHI 78: I installed more RAM and another hard disk into my Mac. The RAM was especially needed, because I was getting huge numbers of swap files on my system during regular use, and every once in a while would get stuck in VM swapping. Painful, but seems to be solved now. The extra hard disk is so that I can enable software mirroring for my main drive, to protect against disk crashes. If you’ve ever lost a hard disk to mechanical or other catastrophic failure, you know that an extra $100 to prevent it is more than worth it.

DHI 79: I used a paint scraper to scrape up some gunk from our bedroom doorjamb, which has been there for months, and occasionally driving me nuts that our house cleaner was not seeing and getting rid of. It took all of 30 seconds, once I had the tool. While I was at it, I scraped up a couple paint drippings from the floor in the water closet.

DHI 80: I just listed one of my 19″ Sony Trinitron monitors on Craigslist.org, for $75. It will be nice to get this thing out of the house!

More info on Archive and Install

Apple has published a (brief) Knowledge Base document discussing the Archive and Install feature for upgrading to Jaguar. The document’s short on details; I think you’ll find my series of articles is more informative.

Apple has published a (brief) Knowledge Base document discussing the Archive and Install feature for upgrading to Jaguar. The document’s short on details; I think you’ll find my series of articles is more informative, particularly this one.

The one new bit of information is that you won’t find this option on the Mac OS X 10.2 Upgrade CD (presumably what you get through the Mac OS Up-To-Date program for $19.95), only on the full installer CD, either the retail box version or the CDs that come with a new Mac.