Alphabet Soup (Crawlspace) Mac OS
A Mac Business Toolbox
Databases
A database system has to ensure accuracy. It has to be fast. And it has to scale well as the business expands. Those features are now taken as a given. To gain an edge, though, businesses ought to pay attention to database design :
Mac OS using PC Exchange stores its various dates, file attributes and long filenames in a hidden file called 'FINDER.DAT', and resource forks (a common Mac OS ADS) in a subdirectory called 'RESOURCE.FRK', in every directory where they are used. From PC Exchange 2.1 onwards, they store the Mac OS long filenames as standard FAT long filenames. Scrolling and centering the image in Photoshop Mac OS 10 months ago I have been running into an issue where my image is not in the center of the screen and at the bottom with a portion of the image not viewable because it is below the bottom of the screen area.
- how you organise the data
- how you present information to an end user
- how you make it clear that there are controls available for digging deeper into the data
A good database design ought to make it easy for users to see patterns in the data - to review how they got from there to here, and decide where they want to go next. The computing environment, as a whole, has to make it easy for the users to extract data from the system, and re-use them in other tools that can help them communicate those plans.
A useful synergy exists if we can take things we learnt from desktop publishing and apply them to database design. There is a tradition in desktop publishing to pay attention to the use of fonts on a page, to the balance of white space versus text, and the use of colours, all in the service of helping people understand information with the minimum of effort.
In all the years of the PC's dominance, there was very little cross-over whereby corporate systems benefit from the refinements we have come to expect as readers and television viewers. With the Mac, however, even software developers pay attention to good interface design, simply because that is just the expected culture among the user base.
(There is a short article by Derrick Story at O'Reilly called, 'Rendezvous is French for JXTA'. To me, never is the gulf between the technologists and the human race more revealing than in the name given to quite similar technologies. Further proof, if you need, that Apple does get it.) |
Prior to OS X, there were less opportunities to demonstrate the value of that aesthetic sensitivity because we had less choices in databases. The databases created using FileMaker Pro were pretty to look at and easy to use, but they had limited conceptual power. For example, it was never possible to build an accrual-based (double-entry, rather than cash-based) accounting system using it. A posting to Income is often accompanied by a posting to Accounts Receivable. If one fails, due to deadlock for example, (remember, there are other processes updating the system at the same time) the other will have to be rolled back gracefully.
With OS X, we've now got powerful new tools at our disposal. We can install databases like MySQL, PostgresSQL, and Oracle natively on OS X (which is just another flavour of Unix). These are all first-class, scaleable, multi-user, fast, popularly-supported databases that can support mission-critical applications (we are now so buzzword-compliant). And of course, MySQL and PostgresSQL are gloriously free.
More importantly, with all these databases appearing on OS X, we are getting the drivers we need to connect front-end applications to databases. For example, we can now once again pull data out of Oracle (or MySQL) into Excel on OS X. This was a capability which languished in OS 9. With this feature on the Mac again, we can provide accountants, managers, and analysts with pre-packaged queries which they can use to extract data from corporate databases.
So the opportunity comes again, where we get the data circulating to where it could be better used. Now, this is where the IT industry can make a real contribution to business productivity - if we realise we're really in The Understanding Business, rather than in the technology business. If we realise that we're really in the business of helping people understand information better, we'll know how all the desktop publishing, digital media, and visual design tools fit within the larger scheme of things. Databases and networking form the plumbing. If we fit in a convoluted, difficult to use contraption for a tap, we'll never get the understanding flowing where it matters (no matter how much fun the technologists have playing with the plumbing).
Mac users and Mac developers are quite united in the understanding that good design matters. I believe we are only beginning to see the consequences being played out as former Unix/Linux geeks discover the Mac via OS X, absorb the culture's aesthetic sensibility, and deliver applications that combine power with simple usability.
Programming Environment
Let's say we agree that working within the traditions of the Mac will implicitly encourage an adherence to good design principles. And now, all the necessary plumbing are in place - databases, conformance to networking standards so that the Mac becomes a good corporate citizen, etc... What other tools exist to create custom solutions for business users? We now turn to the OS X programming environment.
Objective-C. When Steve Jobs returned to Apple, he brought along the NeXTStep software development environment, whose primary language was Objective-C. NeXTStep has since become Cocoa, and we can now also program in Cocoa using Java. But Cocoa remains a very productive development environment. What this means to users is that we are once again getting a lot of hot new products appearing first on the Mac, all coming from independent developers. Example : NetNewsWire. You can look up Version Tracker to get a feel for the pace of the innovation.
Java. Java is a god-send to OSX. Although Apple's own Objectice-C is arguably more elegant and productive as a programming language (Mac is better than PC; Betamax is better than VHS, etc...), the Java developer community is huge. As a developer, I am starved for access to databases, and I have drunk deep from the Java well. JDBC (Java Data Base Connectivity) drivers exist for so many databases, including Oracle and MySQL. They all work out-of-the-box on OS X. Java programs call these drivers in a consistent way. So you can swop in and out databases at will. (Check out Luca, an accounting system on OS X written using Java, Cocoa and MySQL).
PHP, Perl, etc... These languages, which are a staple in the Unix/Linux world, are supported out of the box in OS X. If you need more recent releases than are provided in a stock OS X installation, or you need even more alternatives as to language and libraries, there is a project called Fink which has done a fantastic job of porting Unix/Linux applications onto OS X.
The point about listing all these alphabet soup of programming languages is to describe how the Mac is not isolated as a platform any more. If an OS X developer is at a loss as to how to implement a certain business solution, he has the whole Linux/Unix/Windows community on tap on who uses the exact same language as him. Just like on Windows or Linux, OS X-based systems are infiintely tweak-able. That should reassure the techie.
Yet the user base remains very cognizant of good design. Look up Perversion Tracker (a hilarious parody of Version Tracker) to see how poorly working software get mercilessly lambasted.
Project Management Software
Projectory. There is one Project Management System that was written specially for Mac OS X users, called Projectory by Corey Ehmke, but it will run on any platform with Apache, Perl, and MySQL installed. It was created completely on Mac OS X.
Web Servers
Apache. On OS X, when you turn on Personal Web Sharing, you are actually turning on Apache, the world's most popular web server. Once you modify the web pages, that's it. You move on.
But to the techie, there is a CGI-Executables folder (under /Library/WebServer) he can drag Perl scripts into that makes the web server even more useful, e.g., for hosting weblogs from the simple (Bloxsom) to the baroque (Moveable Type).
Actually, you can extend the capability of OS X's built-in web server to run Perl, PHP and AppleScript scripts and Java servlets, among others. The point here is that you have choice - lots of choice - to fashion a custom e-commerce solution to a business problem. Did you notice, Apache, PHP, Perl, Java are all license-free? There is a cost for the techie who does the custom work. But you get no Microsoft tax.
Mail Servers and Others
The 'free' theme continues when we look at offerings available for hosting the company mail server. SendMail, the veritable workhorse in the Unix world for e-mail servers, is built into OS X. You just have to know how to turn it on. If you need to run your own Domain Name Server, you guess it, that other work horse called BIND for DNS is also built in. All these on a plain-vanilla OS X installation.
Summary
Alphabet Soup (crawlspace) Mac Os Pro
Macs may be a little more expensive but Apple continues to make the most appealing hardware, in terms of looks, portability and usability. How else could they have gotten such a loyal customer base?
What we usually forget to add to the equation is the amount of robust applications that are built into the system out-of-the-box. These applications solve real-world problems and cost nothing to use.
It is ironic that in today's Internet-based world, a Mac user ends up with greater choices than a Windows user. A business whose applications run on Macs can move these over to Windows, Sun, Linux, IBM, HP hardware easily, depending on the trends the future holds. A Windows user using Windows-only applications like .Net is locked into Microsoft's proprietary architecture, no matter what advances emerge in the rest of the world.
A business should use the right tool for the right job. In a day when we have established standards at the Internet level, we only impoverish ourselves when we settle on the lowest common denominator. If we can find an edge to do things better, if we can find better ideas, don't you think we should at least give it a try?
.
Introduction
Mac OS X significantly changes the way your Mac deals with networks. After years of juggling multiple control panels, seemingly random collections of extensions, and network terms that read like alphabet soup, OS X has only “Network,” a single panel in the System Preferences. Whether you use Ethernet, AirPort, or whatever, it all funnels through Network.
My own network consists of an AirPort-enabled Mac Cube and the occasional Windows laptop (courtesy of my corporate masters). Ninety-nine per cent of the time, I connect to the Internet world through AirPort, a blissful existence free of wire and worries. Sometimes, however, I need to copy an essential document (i.e., “tiny_dancer.mp3”) from the laptop, which lacks a wireless card. Since the AirPort Base Station is in a different part of the building, the only option is connecting the laptop and Mac directly. Fortunately, the Mac easily falls back to its built-in Ethernet port, but it takes a bit of reconfiguring.
Step One: Hardware Hookup
Hooking up the laptop to the Mac is no problem, just connect both Ethernet ports using a crossover cable. Find a crossover cable in the network section of your favorite (or even second favorite) computer store.
Step Two: Switch to Ethernet
Opening the Network panel on the Cube shows “AirPort” as the active connection. We need to change this to “Built-in Ethernet,” so choose “Active Network Ports” from the “Show” pop-up menu.
Check the Ethernet port and either disable the AirPort port or drag Ethernet above it on the priority list. Choose “Apply Now” and the Ethernet port becomes active.
Switch the “Show” pop-up menu to “Built-in Ethernet,” then choose “Manually” from the “Configure” popup. Enter an address like 192.168.1.1 (the 192.168 prefix is reserved for private networks) and choose “Apply Now.” This gives the Mac an IP address, which you need to make the file transfer from the laptop.
Step Three: Configure the Laptop
Configuring the Windows laptop (mine runs Windows 2000) is similar to the Mac. To assign an IP address, open the Network control panel from Start Button>Settings>Control Panels. Highlight the TCP/IP protocol connected to your network interface and click on “Properties.” Select the “IP Address” tab and enter the IP address (192.168.1.2, for example—just make it different from the Mac) and subnet mask (255.255.255.0). Close the Network control panel.
Step Four: File Transfer
Transferring files between computers requires a way for them to communicate, as AppleTalk allows Macs to talk to each other. Since AppleTalk isn’t a convenient option for my laptop, I use an FTP (file transfer protocol) server instead. FTP is just like it sounds, good for file transfer, but without much glitz and glamor.
I run the FTP server on my laptop, then use an FTP client on the Mac to upload and download files. For help setting up the FTP server and client, see Basic FTP File Sharing Between Macs and PCs from ATPM 7.11. For downloading files, most Web browsers will also work as FTP clients.
Downloading files is as easy as connecting to 192.168.1.2 from the Mac’s FTP client (or ftp://192.169.1.2/ from a browser). Once I’ve selected and transferred my (shockingly important) files from one to the other, I can disconnect the crossover cable and shut down the laptop, freeing my Mac to return to its natural, wireless state.
Step Five: Back to AirPort
Open the Network panel again (from System Preferences), then choose “Active Network Ports” from the “Show” pop-up menu. It’s time to re-enable AirPort and disable Ethernet, then choose “Apply Now.” Choose “AirPort” from the “Show” popup and “Using DHCP” from the “Configure” popup. Wait a few moments and you should receive a new IP address, indicating AirPort is up and flying again. Success! The switch is complete.
Technical note: I’ve noticed that AirPort won’t successfully reconnect until I unplug the Ethernet cable, even if I’ve disabled the Ethernet port. I’m not sure why, and your mileage may vary.
Conclusion
Mac OS X handles multiple networks with minimal fuss, even with the extra baggage of Windows. My own temporary switch is a good way to demonstrate moving from one to the other and you (yes, you) might find yourself in the same situation one day (unless, of course, you already have “Tiny Dancer”).
Alphabet Soup (crawlspace) Mac Os X
Copyright © 2002 Matthew Glidden, mglidden@atpm.com. Matthew Glidden is the webmaster of Threemacs.com, a guide to constructing and maintaining home and small-office Macintosh networks. He can also tango and juggle, not necessarily at the same time.