inkwell.vue.180
:
Matisse Enzer, UNIX for Mac OS X
permalink #0 of 61: Jon Lebkowsky (jonl) Wed 9 Apr 03 18:51
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
Members: Enter the conference to participate. All posts made in this conference are world-readable.