2007-12-05 10:43

Perfecting perfection: Mac OSX Leopard, part 1 by Tom Yager (PC World)

Apple's secret, which is no secret to Mac users, is that major OS X releases deliver tangible value far in excess of their asking price, which in Leopard's case is US$129. OS X is, first and foremost, a platform for integrated, user-facing applications, and to a far greater extent than previous releases, OS X Leopard itself exploits the facilities that Apple's developers have used to create the vendor's commercial software. Apple hasn't reserved any of the Mac platform's goodies for itself, and users don't need to wait (or spend) for apps that expose the platform's richness in productive ways.

Why I chose OS-X over Linux and Windows

My switch to OS X was not done lightly. In the summer of 2005, Apple released the mac mini. At that time they had not yet made the switch to Intel processors and were not as much in the spotlight. I had always wanted to try OS X, especially after hearing about it UNIX roots (FreeBSD). The Mac mini was lightweight compared to Apple's other offerings (512MB RAM, 40GB disk, 1.42GHz PowerPC G4, Bluetooth, 802.11g, keyboard and mouse required) but at $599 it provided a low-risk way to try a mac. With a $200 Amazon.com certificate my total investment was $399. I upgraded the memory to 1GB at the local CompUSA for $99.DSC00014.JPG

When it came, I excitedly unpacked the computer from the very tiny box in which it shipped. I still do not understand why, in the era of 3lb laptops, desktop PCs are still the size of large toaster ovens. The Mac mini is the size of 5 stacked CDs. Apple took a computer and folded it into a different shape.

I loved the OS X user interface. Some of that was the newness, and some were a real joy. Everything was easy....once I got the Windows thinking out of my head. Installing/uninstalling software on OS X is usually a drag and drop process. Double click to mount the provided disk image and drag the application icon to the Applications folders. To uninstall, drag the icon to the trash can. This is the way I always thought this process should work and the way most naive computer users expect it to work.

Apple certainly does a lot of behind the scenes stuff to hide the complexities of the OS and make it get out of the way of the user. But......I had bought this computer for the UNIX stuff. I launched terminal and was happy to find Perl, PHP, GNU utils, and all my other open-source favourites. I found out that OS X makes a great AMP stack since it ships with Apache and MySQL. These are easily enabled via the "System Preferences" applet. I found out I had support for X11. I downloaded and installed NeoOffice, a port of Open Office for OS X. I discovered Fink and FinkCommander for downloading and installing stuff that I would have used apt-get or yum if I was on GNU/Linux. I downloaded and installed the Eclipse IDE for development. I installed X-Code from the Apple CD so that I had a C compiler and a full development environment.

Suse Linux Enterprise Desktop on VMWare on Mac OS-X In other words I realised I had what for me is the Holy Grail. I had an OS with the tight integration of Windows (there are lots of benefits to this ) and the freedom to a tinkerer of GNU/Linux. I feel that I have the best of both worlds. Yes, there are a lot of Open Source applications available on Windows, but with OS X inheriting code from FreeBSD, it has the advantage that most of what I want can either be compiled or has already been ported.

Last summer, I used some reward money from my employer ( monetary award for some forensics data collection I completed for security ) I bought a second mac; an Intel-based MacBook which has become my main computer. I purchased my first piece of OS X software ( free software roots run deep ); a virtual machine software called Parallels. I can now run Linux and Windows (XP and Vista). Parallels have a feature called "Coherence".

"With Parallels Desktop for Mac you can now run all the applications you need without switching between Windows and Mac OS X! Coherence, a new feature built-in to every copy of Parallels Desktop, shows Windows applications as if they were running natively on your Mac." - Parallels web site

2006.09.14-21.50.08.png I no longer have Linux at home. I use Linux and Windows only at work. My last remaining Windows computer ( actually my wife and kids each have a Windows computer) was converted to a network storage device running FreeNAS. FreeNAS is a BSD based Network Attached Storage software package that supports CIFS (Samba), Apple File Protocol (AFP), FTP, SSH, NFS and RSYNC. I downloaded an ISO, booted, answered three (3) questions, rebooted and had a NAS. Where's Linux?!

So yes, I swapped out one proprietary OS for another. But....given that OS X is FreeBSD based, given that the base code for OS X is available as Darwin, I can not think of what Apple can do to lock things up that someone with the code won't find a way around it. In fact it is already happening with OSX86project:

Network Attached Storage

Generic Open Source Screen ImageI have an old Dell XPS that I am thinking of making into a file server. The computer currently has Windows XP SP2 installed. The fan in this machine is extremely noisy and always has been. I have on the floor next to my desk and the noise is very irritating when I am working on my mac mini which makes almost no noise. The machine is maxed out on RAM ( 512 MB ) with a 750 MHz Intel Pentium and a 80GB hard drive. Ok...this post is so disorganised.

I want to move this machine as far away from my workspace as possible. My workspace is in my unfinished basement so I have few options on where I can place this computer. There are only two electrical outlets in the basement and one of the two is in use by the washer and dryer. The other has a large freezer and one free socket. I can place the server on the fridge but my LinkSys WRT54G is on the opposite side of the basement; about 25-30 feet away. I'll need quite a long bit of CAT5 cable strung accross the rafters.

My requirements are simple:

  • Support for SMB, Apple Filesharing Protocol (AFP), WebDAV file systems

Thinking about the architecture of the file server I have a few options:

  • Build a stripped Fedora Core server and install Samba and Netatalk 2.0.
  • Keep Windows XP SP2 on the box and find use Windows file sharing and find something to support AFP
  • Install the BSD based FreeNAS

I am partial to the Fedora Core/Samba/Netatalk solution because I am already familiar with Fedora Core and I could leverage other elements of the server for Web and application services (Apache/MySQL/PHP). Netatalk is a freely-available, kernel level implementation of the AppleTalk Protocol Suite. I am not familiar with Netatalk but I would either have to build from source or search the net for a Fedora Core RPM. Building from source is easy depending on how quickly one can also build/install any requisite libraries.

The Windows XP solution would be quickest to implement at this point since the OS is already installed. However, I may have difficulty finding and AFP server for Windows. I have a number of Macs on the network and would prefer to use AFP for those computers.

The FreeNAS install would be the most challenging for me since I have not experience with BSD (does OS-X count?).

FreeNAS is a free NAS (Network-Attached Storage) server, supporting: CIFS (samba), FTP, NFS, RSYNC protocols, local user authentication, Software RAID (0,1,5) with a Full WEB configuration interface.

I am partial to the FreeNAS implementation since it's a complete package where most of the work has been done and configuration is done via a web interface. I can treat the installation as a"black box" similar to something purchased from Linksys.FreeNAS Status

Update: I installed the FreeNAS server and in under 15 minutes I had a working NAS. Performance wise FreeNAS is very fast. Dragging and dropping files from my macbook to the mounted FreeNAS drive was just as fast as on a drive installed in the local machine. I think I have found my solution. I will wait a week to be sure the system is stable before commiting my important files.