Mac OS 8.5 remains the focus this week, as Geoff Duncan turns his attention to important changes and additions to Open Transport networking, AppleScript, online help systems, and Navigation Services. Anyone running a server on a Mac will also be interested in our tips on how to restart crashed servers automatically using MacsBug. News this week includes the release of Netscape Communicator 4.5 and the death of Internet luminary Jon Postel.
by Jeff Carlson
Expansive Communicator 4.5 Limited to PowerPC Only -- Netscape Communications released Netscape Communicator 4.5 last week, a major update to the integrated suite of Internet softwareShow full article
Expansive Communicator 4.5 Limited to PowerPC Only -- Netscape Communications released Netscape Communicator 4.5 last week, a major update to the integrated suite of Internet software. Communicator 4.5 includes numerous performance improvements as well as enhancements to email and contact management (including template-based email and addressing assistance). In conjunction with Netscape's servers, Communicator 4.5 also enables users to create customized home pages and filter Web content.
Communicator 4.5's Web browser includes Netscape's recently introduced Smart Browsing feature that obviates the need to type in "complex and difficult to remember" URLs. With the Internet Keywords feature of Smart Browsing activated (as it is by default), each address you type passes through Netscape's keyword server (disable the feature if you're concerned about privacy issues). So, typing "powerbook" in the Address field takes you to the Apple home page (instead of Apple's PowerBook page, which is what "www.powerbook.com" does); if there is no keyword match, Netscape offers a page of suggestions, with a banner ad, of course. Smart Browsing also features a What's Related button that offers site suggestions based on the site you're viewing. Communicator 4.5 includes the Netscape AOL Instant Messenger (whether or not you specify it), the Shockwave Flash plug-in, RealNetworks' RealPlayer client, and enhancements to the Messenger and Composer modules of Communicator. The full Communicator installer is available only for PowerPC-based Macs and is a 13.9 MB download (regular and strong-encryption versions are available). Netscape Navigator, the standalone Web browser component of Communicator, remains at version 4.07. [JLC]
Internet Luminary Jon Postel Dies -- Jon Postel, a networking pioneer who had enormous, unsought power over the Internet, died on 16-Oct-98 during heart surgery to repair a leaky valveShow full article
Internet Luminary Jon Postel Dies -- Jon Postel, a networking pioneer who had enormous, unsought power over the Internet, died on 16-Oct-98 during heart surgery to repair a leaky valve. He was 55. Postel was part of the group that created the first Internet protocols under the Department of Defense's ARPAnet project, and he continued his involvement until his death. More recently, Postel headed the Internet Assigned Numbers Authority (IANA), the organization that manages the process by which domain names are resolved into numbers, among other tasks. Because of his leadership at the IANA, Postel drafted a series of successive plans in the last several months to change the domain name registration process. The most recent draft was issued early this month.
Like Plato's postulated philosopher-king, who is given power precisely because he or she doesn't want it, Postel never imagined himself in the middle of things but didn't shy from performing much-needed jobs. He chose his battles primarily for technical, not political reasons, and was noted for facilitating change rather than acting as a roadblock or capitalizing on development. Postel was a key figure in helping the Internet grow and become commercial, as well as in developing new standards and procedures. His impartiality was well known and well respected, especially in his management of RFCs, the seminal documents defining technical specifications for general adoption by software and hardware developers. Postel's death may further extend and exacerbate debate over the future of domain name development and registration. [GF]
by Geoff Duncan
Previous parts of this article explored MacsBug, Apple's free low-level debugger. First, we covered installing MacsBug and using it to recover from application crashes - we also established MacsBug as possibly the least friendly software you'll ever encounter on a MacintoshShow full article
Previous parts of this article explored MacsBug, Apple's free low-level debugger. First, we covered installing MacsBug and using it to recover from application crashes - we also established MacsBug as possibly the least friendly software you'll ever encounter on a Macintosh. Next, we discussed common MacsBug commands that reveal detailed information about your Mac, applications, and memory, and how to make logs of problems you encounter. Although MacsBug isn't for the faint of heart, it can be useful even for people who don't program for a living.
Now that you're familiar with MacsBug, you can put your knowledge to good use for automatically restarting crashed servers.
Poor Man's Server Restart -- You may have noticed the StdLog command discussed in the second part of this article contains output from several other MacsBug commands. That's because StdLog is actually a MacsBug macro, or a sequence of other commands separated by semicolons. You can use the help command to see what commands are in a macro: type "help stdlog" to see the full expansion of the StdLog macro.
Generally, non-programmers don't need to define macros. However, MacsBug has two reserved macro names - FirstTime and EveryTime - that can be useful for people running unattended servers. If they exist, the FirstTime macro is executed when MacsBug is loaded at startup, and the EveryTime macro is executed every other time MacsBug is invoked, whether by the user or as the result of a system error. Here are some common strategies for defining these macros:
- Simple restart:
- Smarter restart:
The first example tells MacsBug to resume execution when it's invoked at system startup, then has MacsBug restart the machine in the event of a system error. The second example is identical, except that it turns off user breaks in the FirstTime macro (see the DX command, in part two of this article), and tries to make a standard log and restart the machine in the event of a system error - that way there's a record that the machine is having problems. Note that commands are separated by semicolons.
You can use the RB command instead of RS in these macros, if you like. Be sure the last command in the FirstTime macro is G, or the Mac will never continue starting up. Also, don't end the EveryTime macro with G, or you'll never be able to get into MacsBug.
The FirstTime and EveryTime macros must be defined as permanent macros before you can use them to restart a machine. To do this, you use a resource editor like Apple's free ResEdit to define the macros and store them in a file.
Although I can't give complete instructions about using ResEdit in this article, here are the steps for creating these macros:
Make a copy of MacsBug. (You can throw it away later.)
Using ResEdit, create a new, empty file, naming it clearly. (Mine is called "MacsBug Cheapo Restart".)
Leaving your new file open, use ResEdit to open the copy of MacsBug. Find and open the TMPL resources, select the mxbm resource (it should be the first one listed), then choose Copy from the Edit menu.
Paste the mxbm template into your empty file, then close the copy of MacsBug. The only file ResEdit should have open now is your new file.
Choose Create New Resource from the Resource menu. You can either type mxbm (all lowercase) or select mxbm from the scrolling list, then click OK. ResEdit creates the new resource and immediately opens it for editing.
Click the resource entry, 1) *****, then choose Insert New Field(s) from the Resource menu.
In the Macro name box, type FirstTime. In the Expansion box, type your FirstTime macro. (You can just type the letter G for now - you can always edit this later with ResEdit.)
Click the second entry, 2) *****, and choose Insert New Field(s) from the Resource menu.
In the Macro name box, type EveryTime. In the Expansion box, type your EveryTime macro. (Again, you can just type RS for now, and change it later if you like.)
Choose Save from the File menu, and quit ResEdit.
Move the file to the MacsBug Preferences folder inside your System Folder's Preferences folder. It will probably be the only file in that folder.
You're done! The macros will start working when you restart the machine. If you want to disable them, move the file out of the MacsBug Preferences folder and restart.
Beyond Merely Geeky -- I still won't pretend that using MacsBug is for everyone. However, I hope you can see that its utility isn't limited to code-heads who drink too many carbonated beverages. Knowing the basics of using MacsBug can help you understand and troubleshoot software problems, which in turn makes your Mac more stable and using you Mac more productive. In the end, that's what everyone wants.
by Geoff Duncan
Last week in TidBITS-451, we took our first look at Mac OS 8.5 with a discussion of system requirements, installation, and prominent features like Sherlock, Appearance and Themes, and new Finder capabilitiesShow full article
Last week in TidBITS-451, we took our first look at Mac OS 8.5 with a discussion of system requirements, installation, and prominent features like Sherlock, Appearance and Themes, and new Finder capabilities. This week, we'll cover Internet and networking changes, the new HTML-based online help, Navigation Services, and more.
Internet and Networking -- Networking changes in Mac OS 8.5 are among the most noticeable new items for Internet users - especially those connecting via a modem.
First, Open Transport/PPP has disappeared: you won't find a PPP control panel in Mac OS 8.5. Instead, Mac OS 8.5 uses the PPP capabilities in Apple Remote Access 3.1 - the Remote Access control panel now contains all the familiar dialup options. Thinking of PPP connections as a form of remote access isn't a large conceptual leap, but long-time Macintosh users may think Remote Access is used only to connect to AppleTalk networks via a modem; if those folks haven't needed Remote Access in the past, they may exclude it when performing a custom installation of Mac OS 8.5. The result is a Mac OS 8.5 installation with no PPP capability. So, if you connect to the Internet with a modem, make sure you install Remote Access with Mac OS 8.5.
After entering your dialup settings in the Remote Access control panel, you can connect to the Internet through the control panel itself, or via the Remote Access Status application that's installed in the Apple menu. Both interfaces provide a connection status display. If you used FreePPP instead of Open Transport/PPP, you'll be happy to know that it works fine with Mac OS 8.5.
Also new in Mac OS 8.5 is the Internet control panel, which brings together many Internet-related settings, including mail servers, email addresses, and suffix mappings, along with default applications to handle email, Usenet news, and Web browsing. If the Internet control panel sounds like Internet Config, that's because, underneath, it is Internet Config. Apple quietly shipped Peter Lewis and Quinn's public domain Internet Config 1.3 with Mac OS 8.0 and relied on it to tie together Internet-related features. With Mac OS 8.5, Apple provides its own interface to Internet Config 2.0's settings via the Internet control panel, plus access to Internet Config features such as the capability to store - and switch between - multiple sets of preferences. (Switching preferences comes in handy for laptops that travel to different locations or for computers shared by multiple users.) Internet Config and the Internet control panel write to the same preferences, so you can adjust settings using either, though you should use Internet Config 2.0 or higher.
People who use multiple configurations on their machines will be happy to learn that the Location Manager (now installed by default) can automate switching groups of settings in one step, including settings for Internet, Remote Access, TCP/IP, and AppleTalk, as well as items like printers, named Extension Manager sets, time zones, and more. Sharp-eyed users will note that Internet Config's suffix mappings also appear (and can be modified from) the new File Exchange control panel, which replaces both PC Exchange and Macintosh Easy Open.
Mac OS 8.5 ships with Open Transport 2.0, a significant under-the-hood upgrade to the Mac OS's fundamental networking technology. Although users won't see differences in the TCP/IP or AppleTalk control panels, Open Transport includes improved Dynamic Host Configuration Protocol (DHCP) support and other enhancements for better interaction with Windows NT-based servers. Open Transport 2.0 also supports Simple Network Management Protocol (SNMP). Despite the name, SNMP is a sophisticated network management tool; some networked sites may require users to install SNMP on their systems. SNMP software comes in the Mac OS 8.5 installation set (not as part of the Mac OS 8.5's Internet software set); however, typical home and business users don't need to install it. SNMP could even pose a security risk since it can report hardware and configuration information about your machine to a remote user with an SNMP administration tool. (Apple includes such a tool on the Mac OS 8.5 CD-ROM.) If you install SNMP and decide you don't want it; use the Mac OS 8.5 installer's custom remove feature to delete it.
The most publicized aspect of Open Transport 2.0 is improved network performance: Apple is keen on claiming that Mac OS 8.5 networking is faster than Windows NT networking, albeit between two machines running Mac OS 8.5 using a high-speed 100Base-T Ethernet link. Users desperate for improved modem performance won't see improvements from Open Transport 2.0 - the modem is the bottleneck - although I was pleasantly surprised to see Mac OS 8.5 deliver improved network performance in realistic network environments, such as a 10Base-T network populated with Macs running varying versions of the Mac OS. Using Mac OS 8.5, copying files in the Finder seems faster regardless of the version of the Mac OS used on the remote machine, shared FileMaker databases respond more quickly, and access to AppleTalk servers and devices (like printers) is smoother. Internet applications are somewhat snappier, and background network operations (like downloads) no longer cause unexpected pauses in foreground applications.
Unfortunately, the Chooser is still as awkward as ever. But Mac OS 8.5 now includes a new Network Browser application that displays the hierarchy of AppleTalk zones and servers, plus enables you connect to those servers and remote AppleShare servers via TCP/IP. The Network Browser strongly resembles the Windows Network Neighborhood and relies heavily on Navigation Services (below), which can also offer most of the same functionality in new Open and Save dialogs. Nonetheless, the Network Browser is a step in the right direction for those who routinely deal with large AppleTalk networks.
Favorites, Aliases, and Navigation Services -- After installing Mac OS 8.5, you may notice a Favorites folder in the Apple Menu, and new Add To Favorites commands in the File menu and in various contextual menus. Logically enough, you can use the menu commands to create an alias to the selected item in the Favorites folder. As I noted last week, at first Favorites seem like an attempt to add bookmarking capabilities to the Finder; however, Favorites tie in with Navigation Services, Mac OS 8.5's replacement for the awful modal Open and Save dialog boxes.
Applications must be revised to take advantage of Navigation Services - in fact, even programs that ship with Mac OS 8.5 like SimpleText and MoviePlayer don't support Navigation Services yet, although some third-party applications already support them, like Anarchie Pro. But you can get a glimpse by using another new Finder feature: fixing broken aliases.
Unless you already have a broken alias that can't find its original item, you'll need to make one. First, duplicate a small file (like a ReadMe or a text clipping), then make an alias to the duplicate. Put the duplicate in the Trash and delete it by emptying the Trash. Now, select the alias you just made and choose Show Original from the Finder's File menu. In Mac OS 8.5, instead of seeing a dialog that simply tells you the alias's original item can't be found, the dialog also offers to delete the alias or fix it. If you choose to fix it, you'll be presented with a new dialog which allows you to locate the original item, or choose a new one.
This dialog box is part of Mac OS 8.5's Navigation Services. Notice that you can expand and collapse folders in the list, the dialog is resizable, and you can switch to other applications while the dialog is open (although you can't do other things in the Finder). At the upper right, you see menus for recent items, disks, and network volumes - you can also browse your AppleTalk network from here, and (aha!) choose items from a menu displaying any Favorites you've made. Navigation Services dialogs can also show previews (good for movies, pictures, and text) and accept items dropped into them from the Finder or Sherlock, Mac OS 8.5's new Find feature.
Although Navigation Services isn't in widespread use now, I look forward to its adoption by applications. Over the last ten years, I've used almost every utility that expands the functionality of standard Open and Save dialog boxes. Though they're useful - and many offer features not provided by Navigation Services - incompatibilities and constant updating have been a perpetual frustration. The standardized, enhanced functionality offered by Navigation Services should be a tremendous benefit to Mac users in the long term.
AppleScript Goes Native -- Folks who automate tasks on their Macs or need to create custom functionality within or between applications have been wishing for a PowerPC-native version of AppleScript for years. Despite wide use in the publishing industry and amongst Macintosh administrators and power users, AppleScript has always been denigrated for poor performance, even on high-end systems.
With AppleScript 1.3, Apple has finally removed critical performance bottlenecks and produced a PowerPC-native version of this built-in scripting environment, and, frankly, the difference is like night and day. Apple claims that some AppleScript operations run as much as five times faster under AppleScript 1.3 as under previous versions. Although my results aren't that dramatic, AppleScript scripts I use on a daily basis typically execute two to three times faster under Mac OS 8.5 than they did under Mac OS 8.1. Apple also added new, much-demanded functionality to AppleScript: alert dialogs can now time out after a period of inactivity, plus scripts can access the clipboard, summarize text, enable users to select items from lists, and understand many new units and data types (including Unicode text). Additionally, Apple extensively reorganized the scripting dictionaries for the Finder and other system components for clarity (although this means some scripts must be updated to work with Mac OS 8.5). Mac OS 8.5 also boasts several new scriptable items, including the Appearance, Location Manager, File Exchange, Internet, and Apple Menu Options control panels. Heck, you can even use AppleScript to embed a ColorSync profile in an image.
As much as this enhanced AppleScript functionality is welcome, Folder Actions are perhaps the most subtle new AppleScript capability. Folder Actions enable users to attach AppleScript scripts to a particular folder and have those scripts respond to events affecting that folder, including opening or closing the folder window, and adding or removing items. The possibilities of this functionality are wide-ranging: I've set up Folder Actions that delete chaff from my email attachments folder and automatically generate Web server log reports. Another scripter uses text clippings dropped into a particular folder as a customized reminder and scheduling system, and Gordon Meyer noted on TidBITS Talk that he set up a Folder Action on his father's iMac so specially configured folders are always available as pop-up windows across the bottom of the screen. Folder Actions raise a few security concerns - after all, scripts have complete access to the system - so Folder Actions can run only from local hard disks (not from server volumes or removable disks), and there's no way to send a Folder Action via email. Nonetheless, be sure you only use Folder Action scripts that you make or that come from a reliable source.
Mac OS 8.5 allows Folder Actions to be set only via contextual menus (Control-click a folder); if this is a problem, check out Bill Cheeseman's shareware Folder Action Setup; it has a seriously overburdened interface, but you'll find it useful if you spend a lot of time setting up Folder Actions.
Online Help -- Mac OS 8.5 also features a new HTML-based online help facility. Unlike Sherlock - a lightweight, specialized Web client with limited display capabilities - the Help Viewer application is a reasonably full-featured HTML engine with no Web capabilities.
Macintosh developers have clamored for HTML-based online help for several years now: although Apple Guide works well for walking users through a series of steps, it's lousy for detailed explanations and references. Also, creating material for Apple Guide requires specialized tools and knowledge that can't be applied anywhere else, like to a Web site or a Windows version of a product. Most technical writers and software publishers live and breathe HTML these days, and, since authors can use standard third-party tools to create HTML, it's easy to repurpose HTML-based documentation. (GoLive CyberStudio seems to have been the favorite tool of Apple's help authors.)
Apple took this opportunity and ran with it, not only creating extensive online help for the Mac OS (complete with surprisingly useful tips and information for advanced users), but also adding capabilities to Help Viewer that enable it to interact with your system via AppleScript. So, the HTML-based help can offer to open the Chooser, connect to a Web page, launch an application, or modify your Application Switcher settings. It's also possible to embed links to scripts in Web pages on remote servers, so a technical support page could, via an AppleScript installed with its own product, offer to open the product and adjust settings for the user. This capability to run scripts is controlled by your Internet control panel - look in the advanced settings under Helper Apps, and you'll see Help Viewer is set to handle the "help:" URL scheme. (Don't bother changing it: the Help Viewer will change the setting back.) This feature opens up the possibility of someone installing a mischievous or malevolent script on your Mac, then triggering it from a Web page, but, frankly, the risk is the same as someone shipping a malevolent script with a software product.
(Incidentally, to see good examples of using AppleScript under Mac OS 8.5, look through some of the cryptically named scripts inside the Help folder.)
As good as the Help Viewer is, however, its organization makes hopping around between subjects awkward, particularly since it lacks key commands to move forward and backward, so almost all navigation is by clicking. Savvy Mac users can avoid these navigational hurdles by utilizing the Help Viewer's search capability, which returns results ranked by relevance. In my experience, a reasonable search query works better than browsing if you know what you want to find.
Not Forgotten -- Mac OS 8.5 included several dozen new features, and we've covered only a handful of them in these articles. Here, then, are a few other important items in Mac OS 8.5 that shouldn't be forgotten:
Apple System Profiler 2.1.1 gathers even more detailed information about your computer's configuration and subsystems; also, check out its unexpected drag & drop capabilities. However, the interface has become too confusing for everyday Macintosh users, who are precisely the people who most need this tool. Apple System Profiler is also available for free separately from Mac OS 8.5; it's a 956K download.
A new version of PlainTalk speech recognition comes with Mac OS 8.5, although it's not part of the standard installation. In the good news department, the system works as well as it ever did, aided considerably by high CPU speeds on recent Power Macs and a new External Mic audio input setting. In the bad news department, PlainTalk offers no new features, and some commands (like "Close this window") are just as broken under Mac OS 8.5 as they were under Mac OS 8.0. Still, the performance of the new PowerPC-native AppleScript makes customized Speakable Items more practical.
If your Mac isn't shut down or restarted properly, the Mac OS now checks your startup disk with Disk First Aid during the boot process in order to detect and repair any file or directory damage before it causes more problems.
More Info -- If you'd like to read about other's experiences with Mac OS 8.5 - including tips, discussions, and notes about software conflicts - check out the Mac OS 8.5 threads on TidBITS Talk over the next week or so. We've been steadily answering questions from readers there, as well as passing along Mac OS 8.5 tips and news.