inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #0 of 61: Jon Lebkowsky (jonl) Wed 9 Apr 03 18:51
    
Matisse Enzer is a great friend, a swell guy, and the author of _UNIX for
Mac OS X: Visual QuickPro Guide_.  He notes that "the book, and my
expertise, is really in the Unix stuff, the command line stuff, as opposed
to 'Mac OS X' - Mac OS X is a whole new operating system and there are
tons of differences from the old Mac OS. The book covers virtually none of
the OS 9 -> OS X changes. The book is an intense beginners guide to Unix,
for people using Mac OS X but probably 80% of it applies to most Unix
systems out there."

Matisse learned about Unix right here on the WELL, where he started in
1987. He worked for the WELL from mid-91 to early 94. The book is
dedicated to the late David Hawkins, who was dhawk on the WELL, and who
taught Matisse his first complicated Unix command line.

Matisse has been helping people build all manner of things since the
mid-1970s as a game designer, political organizer, union carpenter,
architecture student, general building contractor, customer support
manager at The WELL, and since 1994, as an Internet consultant. His web
site is www.matisse.net. Matisse lives in San Francisco, California and
Black Rock City, Nevada.

Leading the discussion with Matisse is Michael Berch, who has been a UNIX
user since 1975 and a Macintosh owner and user since 1985. He joined the
Well in 2001, but has been online with Usenet and Internet mailing lists
for quite a while, and was an early member of Salon Table Talk.

He got started with computers at UC Berkeley, and after law school and a
brief stint as a practicing attorney, returned to computing as a
profession, and has been a UNIX, Mac, and Internet geek ever since. He
founded the Internet magazine INFOBAHN in 1995, and recently worked as an
IT director during the dot-com boom, and returned to consulting in 2000.  
Michael's professional interests are network architecture, security,
privacy, and intellectual property issues, and his personal interests
include travel, aviation hobbies, writing, and hiking.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #1 of 61: Michael C. Berch (mcb) Thu 10 Apr 03 19:28
    
Thanks for setting this up, Jon, and welcome to Matisse (who is surely
one of the Well's grey eminences by this point).  I'd like to start
things off with a very general question: what were some of your goals in
writing this book? 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #2 of 61: J Matisse Enzer (matisse) Thu 10 Apr 03 20:08
    
Wow Jon, thanks for the cools intro :-)

Y'all should know that Jon and i met through The WELL, back before the Web and
worked on the team that built the WELL's gopher server ( it still exists!
 gopher://gopher.well.sf.ca.us/ )

And hiya Michael - I don't think we've ever met in person but Michael was part
of the WELL krewe that helped me during the writing of the book. Thanks
again.

OK, so to answer Michael's question about my goals in writing the book:

My primary goal in writing the book was to spread the word about Unix itself;
to spread the word that Unix is a wonderfully powerful tool for building
things.

There is a quote in the book (on pg 5) shows how this attitude was present,
in fact was a motivation in Unix's creation.

I think the following quote really captures an attitude that is fundamental
to Unix and that will resonate strongly for WELL users:
 
     What we wanted to preserve was not just a good environment in which to
     do programming, but a system around which a fellowship could form. We
     knew from experience that the essence of communal computing, as
     supplied by remote-access, time-shared machines, is not just to type
     programs into a terminal instead of a keypunch, but to encourage close
     communication.
 
         --Dennis M. Ritchie, co-inventor of Unix 
           From "The Evolution of the Unix Time-Sharing System," AT&T Bell
           Laboratories Technical Journal 63, No. 6, Part 2, October 1984
           (http://cm.bell-labs.com/cm/cs/who/dmr/hist.html)
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #3 of 61: Sean Harding (sharding) Fri 11 Apr 03 11:36
    
I think the book does a really nice job of explaining to people *why* they
might want to know about the Unix stuff and then presenting it in a non-
threatening way (while avoiding dumbing it down). I've been using Unix 
(and MacOS) for quite a while now, but reading the introductory material
brought me back to the time when I was first exploring the systems and
constantly learning amazing new things. It was a fun process, and I feel
like this book is written in that spirit.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #4 of 61: J Matisse Enzer (matisse) Fri 11 Apr 03 13:28
    
Thanks,I am very happy to hear that.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #5 of 61: Michael C. Berch (mcb) Fri 11 Apr 03 17:18
    
Matisse, I think the first sentence of the book is something like,
"this book is a small part of a big revolution".  While there have
been UNIX implementations on personal computers for years, and Linux to
some degree made that possible for the casual, nontechnical user, it
seems to me -- and it look like you'd agree -- that this is the first
time it has really made it to the mainstream.  

I know I was absolutely thrilled when I learned that after many fits
and starts (I think you mention Pink and Copland) Apple had chosen a
UNIX foundation for its future OS.  Do you see a lot of synergies
between Mac and UNIX?  Are they good bedfellows, or an odd couple?
(It's difficult for me to imagine UNIX and Windows merging, for
example.)
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #6 of 61: Bryan Duplechain (bdup) Fri 11 Apr 03 20:02
    
the thing the Mac faithful who rely on me for support  (mainly people
i've convinced to give up their PCs for a Mac) don't get about os X is
file sharing. especially people who share a datebook or palm desktop
calendar.

what's the best way to make sure that, in a single mac, multi-user
environment, only one calendar is being updated?

i'll wait to hear from the panel and other Well members before i post
my awkward solution. 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #7 of 61: J Matisse Enzer (matisse) Fri 11 Apr 03 21:04
    
I'll try and answer mcb's question first, then say something about file
sharing.

When I think of synergies between the Mac and Unix I think of the *reasons*
that people use Macs, and Unix. Both communities of users want to create
things. They see their computer as a tool, or instrument or their will. I
think that both the original Mac and Unix both are well suited to using a
computer as a creative instrument.

I'm also very curious about what other people think about this question --
that of the synergies between the Mac's grpahical interface and the flexible,
powerful, stable core of Unix.

As to Bryan's question about file sharing - I think you might get a good
answer from the Mac conference here on The WELL. I am reasonably sure that
your question deals not with Unix, but with one or more of the GUI
applications your users are using. Still, you might be able to accoimplish
what you want by using what Unix calls a "link", similar to the Mac GUI
concept of an "Alias", to have the same file appear in multiple locations.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #8 of 61: Life Is Easy When Considered From Another Point Of View (dam) Fri 11 Apr 03 21:33
    
from one old timer to another:

congratulations on the book!
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #9 of 61: J Matisse Enzer (matisse) Sat 12 Apr 03 09:07
    
Thanks.
Hmm. Some folks might not realize that The WELL runs on a Unix machine.
You could probably run a service like The WELL on Mac OS X (using the 'yapp'
software, which looks just like Picospan, and has a web interface. river.org
uses it.)

Over the years The WELL has used several different flavors of Unix, starting
with, I think XINU on a VAX 750, then Dynix on a Sequent B8, then Solaris 2.1
on a SparcServer1000. The WELL still uses Solaris (Sun's version of Unix) but
now version 2.6.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #10 of 61: John Payne (satyr) Sat 12 Apr 03 09:34
    <scribbled by satyr Sat 12 Apr 03 09:34>
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #11 of 61: &manbeast.hooved (satyr) Sat 12 Apr 03 09:40
    
What does the fact that Mac OS X runs on a unix base layer mean for the
user who doesn't ever want to see, much less deal with, a command line
interface?  (offerring a set for a spike, not trying to be argumentative)
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #12 of 61: J Matisse Enzer (matisse) Sat 12 Apr 03 18:25
    
Mostly that their Mac is now a much more stable machine than any previous
version of the Mac OS, and, that a great new variety of software is and will
be available for it.

For example, "Transmit" is a graphical interface for file
transfer (http://www.panic.com/transmit/) that does FTP (same as the venrable
"Fetch" and "Anarchie" programs), but because of the Unix layer the latest
version of Transmit can alsodo something called "SFTP"to do secure file
transfers (encrypts the data so your password and files are not readily
interceptable). Transmit uses the Unix layer of Mac OS X to perform the secure
connection. The Unix layer of Mac OS X includes a huge amoutn of software
is "standard equipment" in the Unix world, and all this software is available
to programmers creating software for Mac OS X.

Another example is the "Personal Web Sharing" and "Firewall" features (found
in the Sharing tool of System Preferences). Both of those (as well as numerous
other Mac OS X features) utilize software that is in the "Unix layer" (called
"Darwin") to provide features to the non-command-line user.

I expect to see a dramatic increase in the software available for Mac OS X,
especially software that utilizes network connections, because programmers now
have access to a huge collection of proven and adaptible tools when they
create software for the Mac.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #13 of 61: Michael C. Berch (mcb) Sat 12 Apr 03 19:27
    
Just a quick note for anyone reading this who is not on the WELL -- 
if you'd like to pose a question to Matisse this week, please email it
to me at mcb@well.com and I'll be happy to post it. 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #14 of 61: Michael C. Berch (mcb) Sat 12 Apr 03 19:27
    
Over the years I've seen more than a few beginning books on UNIX, some
of them good, most of them so-so.  In the old days, it might have been
a little less difficult since most previous computer systems that
people might have used were command-line based.  What do you think are
some of the most difficult parts to learn or understand might be for
people coming from a MacOS (or Windows) environment and enountering
UNIX for the first time?
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #15 of 61: J Matisse Enzer (matisse) Sat 12 Apr 03 20:35
    
Good question.

I think the hardest things, when coming from a graphical interface to
the Unix command line are:

    a.  understanding the command line itself:
          commands, options, arguments, and operators

    b.  understanding the fact that every command is actually a little
        application with its own list of options (sometimes not so little)

    c. understanding the concepts of "where am I" in the file system,
       what Unix calls your "current working directory"
and
    d. understanding file "ownership" and "permissions".

in the book we address the first three in chapters 2 and 5, and chapter 8 is
devoted to Permissions and Ownership.

(By the way - you can download the complete table of Contents, Chapters 1,2,
and 15 at http://www.matisse.net/OSX? and Amazon.com has over forty sample
pages at http://www.amazon.com/exec/obidos/ASIN/0201795353/ )

The Table of Contents is, briefly:

    1. What is Unix, and Why is it Good?
    2. Using the Command Line
    3. Getting Help and using the Unix Manual
    4. useful Unix Utilities
    5. using Files and Directories
    6. Editing and Printing Files
    7. Configuring Your Unix Environment
    8. Working with Permissionsd and Ownership
    9. Creating and using Scripts
    10. Connecting Over the Internet
    11. Introduction to System Administration
    12. Security
    13. Installing Software from Source Code
    14. Installing and Configuring Servers
    15. More Open-Source Software (This chapter available only online)
    Appendix A: More information, URLs, etc.
    Appendix B: Glossary, Index
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #16 of 61: Bryan Duplechain (bdup) Sun 13 Apr 03 14:06
    
thanks, i'll ask in the well conference. but having worked with unix i
thought i could just open the terminal window and modify the
permission on the calendar file that needs to be shared. 

wouldn't that be easier than making an alias or its equivalent? 

the alias thing gets complicated because when a user X opens the alias
to user Y's data file, the application (in this case palm desktop)
launches and opens user X's data from the user X's Palm folder.  the
well trained and thoughtful switch users and update the correct
calander, but most people modify their own calander which creates
problems.

ok. i'm off to the regular mac conference.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #17 of 61: J Matisse Enzer (matisse) Sun 13 Apr 03 16:55
    
Instead of using a Mac "alias" you might be able to accomplish what you want
by making what Unix calls a "hard link". A "hard link" is essentially the same
as the original file - in fact, in unix, the original file is a hard link - a
hard link associates a file name with the actual data on disk. Every file has
at least one hard link, but you can create more.

Let's say there is a calander file:

    /Users/puffball/Library/Calendars/Home.ics
and
    /Users/puffball/Library/Calendars/Work.ics

and you want another user, "vanilla", to have access to the same Calander.
You might be able to make this work by logging in as the user vanilla and from
the command line, doing the following:

     cd ~/Library/
     mkdir Calendars
                (if that directory exists you'll get an error, that's OK)
     cd Calendars
     ln /Users/puffball/Library/Calendars/Home.ics .
     ln /Users/puffball/Library/Calendars/Work.ics .

That might work.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #18 of 61: Michael C. Berch (mcb) Mon 14 Apr 03 11:50
    
One of the things I wanted to ask was what it was like writing the
book while simultaneously asking for comments and suggestions from the
Well community in a topic in the Mac conference.  I really enjoyed
participating, not just because of what I learned, but also the secret
thrill of peering under the author's veil.  Will you be doing that
again for your next book? 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #19 of 61: J Matisse Enzer (matisse) Mon 14 Apr 03 12:29
    
I really enjoyed and was very glad to have access to The WELL krewe while
working on the book. I received a great deal of help from people testing
things, offering tips, etc. I would certainly do it again, and would even try
to have a small team of real "beta testers" who would try out each chapter
just before it would go in for technical editing.

The publishers' timeline for the book didn't really allow a lot of testing - I
had 10 days to write each chapter, including any revisions of prior chapters.
The technical edit didn't even begin until almost all the chapters were done.
If we had allowed more time, say an extra week per chapter the book would have
taken four months longer to hit the shelves.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #20 of 61: Michael C. Berch (mcb) Mon 14 Apr 03 22:31
    
I can see that trying to hit a moving target can be somewhat
frustrating... I think that you and the publishers coped pretty well
with the release of OS 10.2 (Jaguar) which (if I recall correctly) came
out pretty late in the process.  

In any case, back to UNIX:  what do you think of MacOS X (considering
its Darwin/BSD base) as a UNIX implementation?  Wearing your
developer's (and/or sysadmin's) hat, hoe does it compare to other
popular current implementations like the various Linuxes, Solaris, and,
and... well, what else is out there that people care about these
days? HPUX? IRIX? :-) 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #21 of 61: J Matisse Enzer (matisse) Tue 15 Apr 03 07:16
    
As a unix system I think Mac OS X is excellent.
The Unix layer (Darwin) is a real, full Unix system. 

You can do anything on Mac OS X / Darwin that you can do on linux, Solaris,
etc. with of course various fairlu obscure exceptions.

The other flavors of unix I am familiar with are Sun OS/Solaris and Linux. I
have used others (Irix, Dynix, etc.) but not enough to really compare.

The main difference that experienced Unix people will find is the way Darwin
handles system startup scripts and stores system database information
like passwords, groups, hosts, etc.

Instead of the System V or BSD-style startup scripts Darwin uses a slightly
more complex system of having a directory for each service (in
/System/Library/StartupItems/ and /Library/StartupItems for user-installed
services)

Instead of using text files like  /etc/passwd Darwin uses the Netinfo
system which is a more cumbersome to search and manipulate from the
command line, but more extensible and not too hard.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #22 of 61: Michael C. Berch (mcb) Tue 15 Apr 03 14:23
    
I'm grateful for your explanation of /Library/StartupItems and the
associated .plists.  It's a bit gnarly otherwise.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #23 of 61: J Matisse Enzer (matisse) Tue 15 Apr 03 15:30
    
I agree.
Maybe I or someone will write a script to automate the process - to generate
StartupItem files. For most things you are likely to install yourself the
files are likely to be very similar in structure.
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #24 of 61: Michael C. Berch (mcb) Tue 15 Apr 03 15:37
    
I'm just happy to see it documented somewhere accessible.  I remember
poking around trying to figure it out, and wondering where the heck
/etc/rc.d and init.d was and all that.  I think you (or someone) in the 
Mac conference mentioned that this was derived from NextStep?  

Which brings me to another point about the book, which is that it's
also handy as "MacOS X for UNIX people" in a lot of cases as well, where
you learned something in Solaris or Linux or System V or older BSD
versions, and it's done differently in OS X.  

There are a couple of "MacOS X for UNIX people" books, I think... have
you seen any of them? 
  
inkwell.vue.180 : Matisse Enzer, UNIX for Mac OS X
permalink #25 of 61: J Matisse Enzer (matisse) Tue 15 Apr 03 16:03
    
Not yet - I do know about Max OS X for Unix Geeks, but haven't read it.

You do know about the Rosetta Stone for Unix, right?

   http://bhami.com/rosetta.html

it compares many Unix tasks on many Unix flavors, for example
location of Startup Scripts, how to mount a CD ROM, change an IP address,
etc.
  

More...



Members: Enter the conference to participate. All posts made in this conference are world-readable.

Subscribe to an RSS 2.0 feed of new responses in this topic RSS feed of new responses

 
   Join Us
 
Home | Learn About | Conferences | Member Pages | Mail | Store | Services & Help | Password | Join Us

Twitter G+ Facebook