ArsDigita Archives
 
 
   
 
spacer

Web Nerd Bookshelf

by Philip Greenspun (philg@mit.edu)

ArsDigita : ArsDigita Systems Journal : One article


These are mostly books that I personally own and have found useful. If you buy them by following links from this page (very carefully, as I explain in Chapter 2 of my book), the bookstore kickback (15 percent of the price of the book) is donated to charity (see the gift shop of Travels with Samantha for more explanation).

If you don't want to buy them, then you're best off participating in the database-backed Web site Q&A forum. Every month I give away my favorite selection from the titles below to someone who is contributing to the Web community's knowledge.

Learn to Program

Or learn to talk about programming if you already know how to program. I've only ever seen one great book on the subject of computer programming: Structure and Interpretation of Computer Programs (Abelson and Sussman; MIT Press). If you're already a great programmer, it will take you an evening to read the first few chapters and you'll discover a precision vocabulary for discussing what you've spent 10 years learning the hard way. If you're not already a great programmer, I would have thought that these few chapters would save you from having to spend years flailing around in the dark. Unfortunately, there doesn't seem to be a substitute for practical experience.

Sidenote: the authors used to have a review wall outside their offices at MIT. University professors from around the world writing in scientific journals said "finally I understand what all this computer science stuff is about; this is the most brilliant book ever. I'm glad that we're using it to teach freshmen now." In the center was a review from Byte magazine: "I didn't understand any of this book."

SICP is tougher to read than Teach Yourself to be a Dummy in 21 Days but it is the real thing, well organized and written.

Design

If you measure a book's success by how well it delights the intelligent and tasteful, then Edward Tufte is one of the most successful authors of our age, with Given that these books have been so popular and that the world is still cluttered with so much ugliness (notably the Web itself), one is tempted to ask whether or not the standard should be instead "how well do these books educate the stupid and tasteless?"

I don't think that Tufte holds himself to either of the preceding standards, however. I look at these books as the physical artifacts of two decades spent showing people how graphic design affects thinking, decision-making, and emotions. Letting Envisioning Information fall open randomly, one finds a discussion of whether Maya Ying Lin's Vietnam Memorial should have had the names ordered by date of death or alphabetically. As there were over 600 Smiths who died in Vietnam and 16 James Joneses, an alphabetical listing would have given the memorial the flavor of a telephone directory. The MIT Library copy of Visual Explanations tends to fall open to the section showing how 13 charts prepared by engineers failed to persuade NASA officials and Morton Thiokol management to scrub the launch of the space shuttle Challenger. Tufte's simple redrawing of the same data would have persuaded almost anyone of the dangers of launching on a day 35 degrees colder than any previous launch.

Get these books for the inspiration, notably the inspiration that design matters. All of my graphic designer friends have the complete set on their desks. Most of my friends who are really good programmers also own the set. These are about the only books on which both groups agree.

User Interface Design

"No matter how cool your interface, it would be better if there were less of it."
-- Alan Cooper
Sometimes a well-implemented system still isn't what users wanted. In About Face, Alan Cooper starts off by saying that programmers shouldn't be allowed to design user interfaces because programmers will build systems that are easy to program, not systems that are easy for users. He points out that if carpenters designed houses, they would be easy to nail together but not so great for living, e.g., there would be no bathrooms because plumbing is difficult to install. We insist on having an architect advocate for the user. Cooper has a good point, though it is informed by his experience working in the Windows world where programmers tend to be young mediocrities writing C code en masse in a maze of cubicles.

Cooper's best point is that users don't understand the difference between RAM and disk and that they shouldn't have to. Disks are just a way of saving money. We'd have all RAM if we could afford it. Cooper rails against the entire File menu and programs that ask you whether or not you want to save when you're closing a document. He proposes that the program use the file system to offer you a chance to make milestones and save off versions of your document, then sometimes revert to those milestones but notes correctly that users should never see the files.

Obviously that last point isn't very relevant for Web site developers (though it does point up the idiocy of the typical shopping basket system where you have to explicitly check out or your order gets lost) but much of the book will be thought-provoking if you are setting out to build a new site.

It is a shame that the economics of geek book publishing force everyone into writing books with huge shelf-dominating spines. This might have been a great 250-page book. Instead, it is a good 580-page book. If you know that you won't have the patience for it, let me suggest reading Jakob Nielsen's "The Death of File Systems". Neilsen also has a book, Designing Web Usability : The Practice of Simplicity, which we have summarized and reviewed in What can we learn from Jakob Nielsen?

[In the same vein, I also like the old standby... Macintosh Human Interface Guidelines (available at http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/HumanInterfaceGuide/humaninterfaceguide.html or from Amazon.]

Database and SQL

    The SQL Language

  • SQL for Web Nerds, a book that I wrote for my students at MIT
  • Jean Anderson's interactive SQL tutorial
  • on-line Sybooks, which document the Sybase RDBMS. The most interesting one here for beginners is probably Transact-SQL User's Guide.
  • basic standard dead-trees books: The SQL Guide to Oracle (Rick F. van der Lans; Addison-Wesley), very clear and almost none of it is Oracle-specific. Alternatively, The Practical SQL Handbook (Bowman, Emerson, Darnovsky; Addison-Wesley).
  • advanced or unusual SQL: though it is badly written and organized, I recommend SQL for Smarties: Advanced SQL Programming (Celko; Morgan Kaufmann) because of the sheer frightening nature of the examples. If you've gotten your pathetic Web site up and running and are proud of yourself for your wimpy little SELECTs and thinking of applying for that $200,000/year job at CitiCorp, check out this book to see what real database programmers do; in the same vein by the same guy is Sql Puzzles & Answers.

    Data Modeling

  • If you want to know why your queries aren't running very fast, you need to read Oracle Design (Ensor and Stevenson; O'Reilly). Of course, you ought to have read it before you embarked on your database project, but probably most people won't until they've crashed and burned. You can learn a lot from this book even if you aren't running Oracle; most RDBMSes work the same way. Oracle Design explains how indices work, the ability of the query optimizer to use those indices, and when to denormalize.

    Data Warehousing

  • Ralph Kimball's The Data Warehouse Toolkit is the standard. Augment it with his The Data Warehouse Lifecycle Toolkit, and his The Data Webhouse Toolkit : Building the Web-Enabled Data Warehouse.

    Oracle Only

  • Free Web sources: Oracle Magazine (not useful for beginners); my own Oracle Tips page (sadly I must admit that it is also not useful for beginners)
  • If you're a user of an Oracle system that someone else is administering, a great book with which to start is Oracle8 Server Application Developer's Guide (Oracle part# A54642-01).
  • Oracle 8i: The Complete Reference. If you can only afford space for one book next to your computer while you are writing SQL and dinking with Oracle, this is a probably a decent choice. It is another Oracle Press book, though, so it glosses over fine points and skimps on precision. You'd be better off with a complete Oracle doc set, but that takes up a couple feet of shelf space and costs $500.
  • If you're going to take on administration yourself, then start with Oracle8i DBA Handbook (Loney 2000; Osborne McGraw-Hill). This is part of the "Oracle Press" series. In general, these seem to be written for the faintly retarded but this particular one is useful background reading. It is especially worth reading before you buy computer hardware and install Oracle. (Avoid the O'Reilly Oracle Database Administration book, unless you need war-winning advice like "TRUSTED_SERVERS specifies which servers have been identified as trusted".)
  • If you get serious, you'll probably want Oracle Performance Tuning (Gurry & Corrigan 1996; O'Reilly), though I've personally never gotten motivated to plow through its 1000-odd pages. I really like Guy Harrison's Oracle SQL High-Performance Tuning for its clear figures and explanations. You can learn some truly horrifying things about Oracle in this book, e.g., that if you create a huge table in Oracle and then delete almost all the rows, sequentially scanning the 10-row table that remains will require the reading of hundreds of disk blocks (i.e., that garbage collection in Oracle must be done manually by dumping data out of a table and then reloading it). The explanation of B* indices is superb. Chapter 15 contains a clear and bottom-line approach to setting up a big pile of disk drives (nice drawings explaning how different RAID levels work) and otherwise sizing an Oracle installation.
  • You will very quickly want to avail yourself of server-side PL/SQL procedures. If you are not a real programmer, you'll probably want the Oracle Press book, Oracle Pl/Sql Programming (Urman 1997). If you are a real programmer, you'll probably want the O'Reilly Feuerstein books: Oracle Pl/Sql Programming , Oracle PL/SQL Programming: Guide to Oracle8i Features, and Advanced Oracle Pl/Sql : Programming With Packages .

Web (HTML and HTTP)

It used to be an article of faith among Web people that the Web be self-documenting. Unfortunately, it has transpired that people who design Web standards are better at sitting in standards committee meetings than they are at writing or Web publishing (for example, as of September 1997, the Web Consortium folks hadn't installed a search engine at their site).

Nobody at O'Reilly is crying too hard over the inability of the Web standards folks to put together a coherent sentence. They're happy to sell you HTML: The Definitive Guide (Musciano and Kennedy). This is territory that is well worn by 200 other "for dummies" type books but with the O'Reilly version you get a little clearer exposition of the standard and not too many annoying user interface widgets in the text (see the book behind the book behind the book). A broader but shallower view is presented by the useful Web Design in a Nutshell (covers HTML, style sheets, random multimedia formats, browser compatibility).

As badly as HTML was documented on the Web, the state of affairs for HTTP was much worse. O'Reilly has rectified the situation with Web Client Programming (Clinton Wong; 1997). This book clearly explains the HTTP protocol and then shows you how to build your own little Perl programs that go out onto the Web and grab pages, check links, etc. (Note: you might not give Wong's three-line Perl scripts too much thought, but any one of them could be the subject of a 14-week class in "Agents" at the MIT Media Lab). Wong introduces a very powerful Perl library (LWP) for making tiny Web robots. My only complaint with the book is that he doesn't give an example of using HTTP PUT, really about the most useful thing that I can imagine doing right now with a Perl script.

It would be nice if modesty prevented me from recommending my own book Philip and Alex's Guide to Web Publishing, which contains high-level stuff for decision-makers and low-level stuff for grunts.

Tcl

Most Tcl books spend most of their time covering Tk, the user interface toolkit. Tk is useless for server-side Web stuff. What you want is something that covers the core language thoroughly. Unfortunately, I don't think that such a book exists. Most people buy Ousterhout's book. He wrote the Tcl language to begin with, but I don't think his book is very good.
  • Free Web sources: Tcl for Web Nerds is a short text that we wrote for our course at MIT. scriptics.com publishes the Tcl man pages in HTML.
  • Practical Programming in Tcl and Tk (Brent Welch 1999; Prentice-Hall). The first few chapters are extremely clear and helpful for explaining the language semantics and pitfalls. The previous edition is a tad more convenient for working with AOLserver 2.x because AOLserver uses the older 7.4 version of Tcl. The new edition covers Tcl 8.3 which is what AOLserver 3.x incorporates. You might find Brent Welch's personal Web server helpful as a Tcl resource. It includes some chapters from his book.

Perl

As nasty and tasteless as Tcl is, it is a positive dream compared to Perl. The only conceivable way to write a correct Perl program IMHO is cutting and pasting from someone else's code.
  • Since the only thing that a Web nerd can usefully do with Perl is grind over a bunch of HTML files and touch them up, what you need most is Mastering Regular Expressions (Friedl; O'Reilly). It is tough to believe that two pages of manual could be expanded into a 342-page book, but there you have it. This book explains the one genius feature of Perl: non-greedy *. It makes matching stuff inside HTML tags about 100 times easier.
  • Programming Perl, 3rd Edition (Wall et al 1996; O'Reilly). As with Tcl, here's a mediocre book written by the author of the language. O'Reilly has applied prodigious quantities of duct tape for the 3rd edition but it remains confusing. Still, most Unix weenies have this book on their shelf.
  • Perl5 Interactive Course (Orwant 1996; Waite Group). I was all set to recommend this book simply because John Orwant was a grad student at the Media Lab and therefore must know something about throwing together a good-looking demo quickly. Then I actually had a look at the book in a bookstore. My God! I guess this book proves that the Waite Group Press can ruin anything. Good luck even finding the text among all of the user interface widgets disfiguring the interior. Now I know why the O'Reilly book is so popular. (I guess Orwant figured this out himself because his next book is published by O'Reilly: Mastering Algorithms With Perl.)
  • Advanced Perl Programming explains succinctly how to make Perl talk to a relational database management system. That alone probably makes it worth the price for the Web/DB nerd who doesn't feel like surfing. It also shows you how to do persistence with cheapo databases like DBM, how to write your own socket-level network listener, and what the story is with threading and Perl (not now but soon). There is enough about Perl internals and the language to make you realize that Perl 5 does indeed offer 1000 times the syntactic complexity of Common Lisp, 10 times the semantic complexity of Common Lisp, and 1/10th the power of Fortran II.

Unix

Speaking of nasty and tasteless... Unix Power Tools a good place to start learning how to be an effective user. If you want to actually run the joint, you need to learn about system administration. You probably want the following books on Unix sysadmin in general: The most popular flavor of commercial Unix is Sun Microsystem's Solaris. Sun authorizes an official series of books on how to run their systems, but most of these only try to cover the most basic stuff and fail miserably to achieve even this limited ambition. If you see anything with the name "Janice Winsor" on it, don't bother to pick it up. On the other hand, Adrian Cockcroft and Richard Petit also write for this series and their Sun Performance and Tuning is excellent; Configuration and Capacity Planning for Solaris Servers (Wong 1997) isn't so bad either. To learn how to actually set up a Solaris machine, try Solaris 2.X for Managers and Administrators.

This page was delivered to your browser by a Hewlett-Packard Unix server. The best book that I've found so far on running this operating system is Jay Shah's HP-UX System and Administration Guide. The advice ranges from general background to idiot things like how to boot single user if you've forgotten the root password. There are conceptual aids for things like LVM and even shell-command level instructions on how to establish, break, back-up, and re-establish mirrored disks.

If you want to get with the 90s and run Linux, you can read "Linux Installation and Getting Started" at http://metalab.unc.edu/linux/LDP/gs/gs.html. I'm sure the next edition of Running Linux will be good but the current one is out of date. Linux in a Nutshell is current but is a reference rather than a tutorial.

Whatever brand of Unix poison you choose to swallow, if you're not already a monster Emacs user, you'll want to read Learning Gnu Emacs and Writing Gnu Emacs Extensions.

CVS

If you want to practice the version control methodology outlined in "Using CVS for Web development", you'll probably want to get Open Source Development With CVS (Fogel 1999; Coriolis).

I asked Andrew Grumet to review this book. Andrew's qualifications include a PhD from MIT, a software development job at arsdigita.com, and 100% total ignorance of CVS. Here's his experience:

This is really two books. One is a CVS reference, and the other is about starting and running an open source development project. I have only read about half the book at this point, with a primary interest in the CVS material. So far I find it to be well written, informative, and comprehensive (see the sometimes helpful table of contents below). Chapter 2 covers the day to day mechanics, showing you how import a project into an existing repository, make working copies of the project, commit changes made on working copy files to the repository, perform updates to merge changes from the repository into the working copy, add and remove files and directories, create static snapshots of the code, and so on. Chapter 4 covers what you need to know to install CVS (if it's not already on your system) and administer a repository. Chapter 6 promises to cover "advanced" topics (haven't gotten there yet).

I have no real complaints at this point. One nice thing is that they kept a reasonable damper on distracting typography (only the occasional "Note" or "Tip" icon). The material on open source development seems a little bit more touchy feely and less technical, but makes for enjoyable reading anyway. The bottom line: a good, readable reference for your CVS needs.

TABLE OF CONTENTS

Introduction

Chapter 1 Why Open Source Development And CVS Go Together
  What Is Free Software (And Why Should You Care)?
  What Does CVS Have To Do With It?
  Principles of Open Source Development And How CVS Helps
  What Makes It All Tick?

Chapter 2 An Overview Of CVS
  CVS Basics
  A Day With CVS
  Other Useful CVS Commands
  Branches

Chapter 3 The Open Source Process
  Failure And Success
  Starting A Project
  Running A Project
  Knowing What We Don't Know

Chapter 4 CVS Repository Administration
  The Administrator's Role
  Getting And Installing CVS
  Anatomy Of A CVS Distribution
  Starting A Repository
  Finding Out More


Chapter 5 Designing For Decentralized Development
  The Importance Of Software Design
  Proprietary Software Design Vs. Free Software Design
  Design Invariants
  Code Design
  Evolution-Centered Design
  Principles of Free Software Design
  When In Doubt, Abstain

Chapter 6 Advanced CVS
  Beyond The Basics
  CVS As Telephone
  A Bird's Eye View Of Project History
  Using Keyword Expansion
  Going Out On A Limb: How To Work With Branches and Survive
  That's All, Folks!  Welcome To Guru-Hood

Chapter 7 Building, Testing, And Releasing
  Why Release?
  Starting The Release Process
  Testing
  Building, Installing, And Packaging
  Releasing
  Finding Out More

Chapter 8 Tips And Troubleshooting
  When Things Go Wrong
  The Usual Suspects
  Common Problems And How To Solve Them

Chapter 9 Complete CVS Reference
  Organization And Conventions
  Commands
  Keyword Substitution (RCS Keywords)
  Repository Administrative Files
  Run Control Files
  Working Copy Files
  Environment Variables

Chapter 10 Third Party Tools That Work With CVS
  What Are Third Party Tools?
  pcl-cvs: An Emacs Interface To CVS
  cvsutils: General Utilities For Use With CVS
  cvs2cl.pl: Generate GNU-Style ChangeLogs From CVS Logs
  cvslock: Lock Repositories For Atomicity
  Other Packages
  Writing Your Own Tools

Appendix A CVS Maintenance And Development Today

Appendix B GNU General Public License

Index

Windows NT

If you've accepted Bill Gates as your personal savior, but have despaired of finding a concise book on NT, rejoice in the 210 pages of The No B.S. Guide to Windows NT 4.0 (Jim Forkner; No Starch). Sadly, in September 1997 when I picked it up, it didn't answer any of the questions with which I was struggling, e.g., how to make an NT box drive multiple monitors, how to restrict IIS to listening on only one of a machine's virtual IP addresses, how to manage an NT box that is in a machine room and on a different subnet.

If you come from a Unix background and want to play some of the same tricks to which you became accustomed, it is probably best to learn about NT from the O'Reilly series:

Real Books

I sometimes get around to reading real books. If I like them, I add a review to my collection. Text and pictures (inevitably to follow) copyright 1989-1997 Philip Greenspun.


asj-editors@arsdigita.com

Reader's Comments

The ultimate Unix sysadmin book is "Unix System Administration Handbook" by Nemeth, Snyder, Seebass and Hein aka "The Red book"

-- John Lowry, January 9, 1998
It wasn't available yet when philg wrote that he couldn't find a good, short book on NT, but one worth considering is Aeleen Frisch's "Windows NT System Administration" from O'Reilly. Not as relevant for someone just running a workstation, but see the appendix with a "quick start for Unix sysadmins."

It's ISBN is 1-56592-274-3.

Don't believe the cover hype about "Effective and Painless NT Management," of course. What was Tim O'Reilly smoking the day that slipped by? ;)

-- Rob Szarka, July 15, 1998

If you write perl programms by cutting and pasting other peoples code, you should probably not comment on books about perl. You say you prefer FortranII -- that's ok just use it, but don't keep your readers from trying to learn a language that a lot of people use succesfully and efficently.

-- Martin Mueller, August 7, 1998
...perl really has come quite a long way especially with Apache's 'mod_perl', you can have a perl interpreter rolled up inside Apache...no more huge CGI overhead. The docs with Apache and mod_perl/mod_cgi are all you really need to get going. Any chance of a review of this? I note that 'Guide to Web Publishing,' gives pretty much the same review.....(awwww...come'on..)

loved the book, btw....

-- Ken Wills, November 16, 1998

This is a fairly minor comment, but perhaps Mr Mueller is not the only one confused by philg's reference to FORTRAN II---apparently its infamy has faded enough that non-scientists these days don't appreciate the gut horror it's supposed to inspire. FORTRAN 77 is wretched enough: silent errors if you happen to type more than 72 characters on a line, function calls that don't even check if they've been handed the right *number* of arguments, never mind of the right types, etc, etc. And while I've been spared the experience myself, I have watched an officemate try to decipher 1965-vintage FORTRAN IV, where the principal control structure was the computed GOTO (and the program was written by a guy who thought things like llo10, note *very* carefully, made good variable names).

I have never had to deal with FORTRAN II, and I hope never to face the experience, except maybe in some twisted CS carnival House of Horrors.

-- Colin Roald, March 27, 1999

I thought Phillips comments about PERL especially were interesting.. as I have just cobbled together a web robot based on other perl scripts. I then wrote some scripts in Python which I found much cleaner and shorter, although I must admit for straight text processing I still use Perl.

-- James Ross, March 27, 1999
Just looking at the number of books whose description includes the word "dated" makes me wonder why -- aside from the relative convenience and comfort of "unplugged" reading -- anyone bothers with paper books about computing anymore. Writing a book about a "current" topic seems to be a losing battle. By the time the book is published, the pace development and progress on Internet Time has already reduced the value of the paper and the enclosed CDROM. As far as I can see, the only reason that paper books still appear in such prodigious quanities is that the book trade is trying to squeeze whatever revenue they can from the physical publishing model before it becomes so much history. That, and the problem that no one has figured out how to make money publishing a book exclusively on the web -- yet.

Just to clarify the last sentence: I'm not saying that it can't be done, just that it hasn't (for whatever reason) been done. I'm reasonably confident that once the Powers-That-Be get over the idea that the Internet can be packaged as an inconvenient version of a cable TV channel running mostly commercials 24 hours a day, success and enlightenment will eventually come and benefit us all -- and my wife will finally get me to throw out all those books, magazines, and papers I've been accumulating for the past 20 years.

-- Frank Wortner, April 30, 1999

Here are a few reasons I tremendously like Perl:

(1) Its close to C in structure. Which means that even lesser programmers from universities across the river Charles from east Cambridge can learn and master it :-)

(2) There are an ample number of pre-written modules that are available on most every single topic. All open source.

(3) Dynamite regular expressions, as a core language feature (and not added on as an afterthought by compiling in Henry Spencer's regex library).

(4) A wonderfully written set of books. I love Programming Perl (2nd edition -- every time I have a question I find the answer somewhere within its pages). O'Reilly has an excellent set of Perl books that target developers from novice to expert.

(5) Well supported by http://www.perl.com and any number of people who are happy to charge you for support that can be found free with some searching

(6) Copious amounts of good quality documentation that come with Perl. A language is only as good as its documentation. Perl shines in this department.

Quite a few programmers seem to have no problem using Perl to solve problems -- given that it has become so popular in Web development, it must be useful to many people, wouldn't you think?

And while we are on the topic, here's a retort from the creator of Perl. hope it provides some amusement:

Lispers are among the best grads of the Sweep-It-Under-Someone-Else's-Carpet School of Simulated Simplicity. [Was that sufficiently incendiary? :-)] --Larry Wall


-- Jagadeesh Venugopal, July 10, 1999

Learning Tcl

I guess that if someone were to write a book about just the core tcl language, they'd run out of useful things to say at about page 80. So most books are about layers on top of tcl. If you must kill a tree, the first few chapters of Exploring Expect, by Don Libes, have a good tcl intro. You can skip the rest.

For those in tune with 90's, there's an online book Tcl for Web Nerds, by Lydia Sandon, which is all you really need.

-- Ken Mayer, July 23, 1999

I would like to add a suggestion.. Python is another excellent scripting language that leans more to the simplicity of TCL but has a lot more power to develop applications, especially for the net. There are a couple of good references (Programming Python for the World Wide Web comes to mind) for doing HTTP clients and spiders and there are very good modules available.. Its free of course and available from www.python.com There are also modules for interfacing to many dbs

-- James Ross, July 29, 1999
The MacOS Human Interface Guidelines are available online at:

developer.apple.com/techpubs/mac/HIGuidelines/HIGuidelines-2.html



-- Michael Edwards, August 20, 1999

Perl is a very expressive language. Programming Perl, you have the choice to trade readability for programmer efficiency. That is not necessarily a bad thing.

-- Christian Lemburg, September 2, 1999
After the passage of days, weeks, years, etc., when you find yourself staring uncomprehendingly at code written by someone who traded readability for "programmer efficiency," you might begin to wonder if all that trade was such a good idea.

I'm not knocking Perl -- cryptic code is possible in any language. Whether cryptic code ever provides a reward without some accompanying "punishment" is debatable.

-- Frank Wortner, October 7, 1999

Can't believe nobody mentioned PHP here. I learned Perl, I looked at Tcl (thanks to Philip), but nothing comes close in ease-of-use for writing web applications. There's just so much already there, that you would need to "re-invent" for other languages and by combining ideas from C, Perl and Java, PHP gives you the flexibility to implement the way you need. Highly structured and organised or just quick and dirty. The PHP community is growing fast and very supportive. See: http://www.php.net/

-- Marc Burgauer, October 18, 1999

Hola! from the most wired dormatory in America,

In case you were in a cave for the last 5 years, and just now discover a copy of Programming Perl at the entrance--why not read this tip on how to digest it easily.

I thought my CS friends were crazy. Fell asleep to Chapter 2. I dare not even look at the alphabetical Ch. 3 and 7. How can this be the famous tutorial? The problem is simple: it's a bible. Quite literally. No nonsense details, and lots of it. Don't give up. The authors thought of you. There's hope.

Heed Ch. 2's subtle suggestion as to how you might want to use the book as a tutorial:

A. The >contexts< in which Perl language features, basic Perl functions, and core Perl libraries will be used in are not in Ch. 2, 3, or 7--Ch. 4-6 reveals all. Look there instead. Code examples and real world use are simply saved for later. This is a great way to preserve the succinct nature of a deskside reference.

B. Read it backwards! Skim past Ch. 2, 3, and 7 if you have some programming background. Refer back to them as you stumble across strange terrain during your careful study of Ch 4-6. Read this way the reference becomes a tender tutorial. Your fingers will also become very familiar with the whereabouts of each toy in this treasure chest.

This book is a pearl. So is the community.

-- Li-fan Chen, November 4, 1999

Ken Mayer advised in June that, "For those in tune with 90s, there's an online book, Tcl for Web Nerds, by Lydia Sandon, which is all you probably need." I've recommended ... Web Nerds myself. However,
  • While it's been corrected some since this summer, it still embeds a number of errors.
  • It's rather narrowly targeted to users of old AOLServer. While Tcl is at version 8.2, and several books are current with 8.2, *... Web Nerds* targets version 7.5 (!). There have been a LOT of changes since then.
  • It does a very, very disappointing job of pointing to other pertinent and useful material on-line.
  • It's Tcl written for LISPers. Ms. Sandon tries to write idiomatic Tcl; sometimes she falls short.
  • There are HTML errors. At least some of them got in the way of reading as recently as the end of November 1999.


-- Cameron Laird, November 27, 1999
As a reasonably clueful person with some SQL and DB experience who went looking for a book on Oracle8 and bought one, I can say that (1) the Oracle8 Complete Reference is an adequate reference, (2) it's probably better than many of the other big thick books on Oracle8, and (3) nevermind those two qualified recommendations, but the author(s) must have been lifelong crack users whose previous programming and DB experience was gained by reading comic books. Well, maybe that's a little harsh, but there is some VERY silly and misguided stuff in this book, occurring mostly when the author strays into attempting to explain something other than Oracle features. Caveat emptor.

-- Joseph N. Hall, March 6, 2000
A shorter (& new / fun) book by Alan Cooper - The Inmates Are Running the Asylum ISBN: 0672316498 or (UK)
Also The Humane Interface by Jef Raskin ISBN: 0201379376 or (UK) looks interesting

-- Daniel Bodart, March 23, 2000
It's nice to see the language debate(s) is/are alive and well!

I've been a Perl hacker for many years, and I'm thankful [on a near-daily basis] that it exists. I can't say the same for TCL. Although I've grown to accept its existence, and have learned to deal with its idiosyncracies (simply because I can't use anything else inside the mighty AOLserver (yet?)), I do so begrudgingly. Syntactically, I find TCL to be a pain-in-the-tush, and far less intuitive than my beloved Perl. Additionally, its math model is primitive and rather brain-dead.

The bottom line is that I find myself wishing Perl was embedded in AOLserver rather than TCL.

-- Gary Chambers, May 8, 2000

Re: Sybase documentation. First of all, know that the most important books are: the Transact SQL Users Guide for learning their brand of SQL, and the Reference Manual for getting more details. The Performance and Tuning Guide and System Administration Guide cover their subjects, respectively. It probably also helps to know that "Adaptive Server Enterprise" is what they call the basic database server.

Secondly, Sybase's search facility (as of today, anyway) can be hard to use and return too much or the wrong information. I have in the past resorted to downloading the Master Index PDF file, finding what I needed in there, and then going to the pointed-to manuals (either online or again, PDF). Sort of a manual hyperlink approach. :-) There are specialized search methods but it's not obvious at first how to use these. And reading the books via PDF isn't such a bad thing.

-- Thomas Hundt, July 20, 2000

Add a comment

Related Links

Add a link
spacer