Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
The Internet Books Media Book Reviews

Review:Philip and Alex's Guide to Web Publishing 55

Ellen Spertus has sent us a review of Phillip (and his dog!)'s Guide to Web Publishing. Known for being an outspoken prof at MIT, with interesting ideas, his web publishing manual is similarly interesting, focusing on collabrative web sites.Piotr has updated me. Neither the man, nor the dog is a prof at MIT, although they spend time there. Mea Culpa.
Philip and Alex's Guide to Web Publishing
author Philip Greenspun
pages 608
publisher Academic Press/Morgan Kaufmann
rating 9/10
reviewer Ellen Spertus with Keith Golden
ISBN
summary Entertaining and informative book on why and how to build collabrative web sites.

The Scenario

Philip Greenspun - web guru, expert photographer, free software writer, and unique personality - has written an irreverent, informative, and visually attractive book on why and how to build collaborative database-backed web sites. (Alex, his photogenic co-author, is his dog.) The book is a rewrite of Greenspun's earlier Database-Backed Web Sites, whose history and flaws have been described in Greenspun's amusing Book behind the book behind the book. This time around, Greenspun got to do the book the way he wanted.

Greenspun's philosophy can be summarized as follows:

  • Whenever possible, web sites should be designed to allow users to contribute material. (I think most of us at slashdot would agree.)
  • Web views should be personalized for individual users. (Ditto.)
  • A relational database is the best tool for accomplishing these goals. Greenspun even provides free space on his database server for people to use his collaboration tools on their own sites.
  • The user interface should be optimized for the convenience of the user. This does not mean that aesthetics are unimportant, just that they should not interfere with the communication of information.
The book convincingly argues this philosophy by presenting numerous examples from high-level design to actual code.

What's Bad?

The biggest negative is that parts of this book are repeats of his earlier book. While most of the material is new, reading through the old stuff can be annoying to people who have read the first.

What's Controversial?

Greenspun's sense of humor. There are many things he says that a reasonable person would find offensive or hilarious or both. (For an example of the last, see his Dating Game.) While it makes the book fun to read, I'd think twice before assigning the book to my students. Some people might be offended by the (artistic) nude pictures, although I was not.

I was at MIT at the same time as Greenspun, where he was known for always speaking his mind (to put it kindly). This same irreverance is evident throughout the book, where he is not shy about stating his dislikes. The following excerpt illustrates Greenspun's style:

Most of what I've said in this chapter goes against conventional wisdom as observed on big corporate sites and in books on Web page design. My theory is that graphic designers get interfaces so wrong because they never figured out that they aren't building CD-ROMs. With a CD-ROM, you can control the user's access to the content. Borrow a copy of David Siegel's Creating Killer Web Sites (Hayden Books 1997) and note that he urges you to have an "entry tunnel" of three pages with useless slow-to-load GIFs on them. Then there should be an "exit tunnel" with three more full-page GIFs. In between, there are a handful of "content" pages that constitute the site per se.

Siegel is making some implicit assumptions: that there are no users with text-only browsers; that users have a fast enough Net connection that they won't have to wait 45 seconds before getting to the content of a site; that there are no users who've turned off auto image loading; that there is some obvious place to put these tunnels on a site with thousands of pages. Even if all of those things are true, if the internal pages do indeed contain any content, AltaVista will roar through and wreck everything. People aren't going to enter the site by typing in "http://www.greedy.com" and then let themselves be led around by the nose by you. They will find the site by using a search engine and typing a query string that is of interest to them. The search engine will cough up a list of URLs that it thinks are of interest to them. AltaVista does not think a Dave Siegel "entry tunnel" is "killer". In fact, it might not even bother to index a page that is just one GIF. (chapter 5)

While most of his opinions are as well-supported as this one, some are more controversial, such as section headings "Java and Shockwave - The BLINK Tag Writ Large" and "CORBA: MiddleWare Meets VaporWare".

What's Good?

Greenspun is a real expert on web publishing and communicates a lot of interesting information. It is clear that his goal is evangelism, not making money: Greenspun makes his code freely available, and the entire book is available for free online (although many people will want to buy it for convenience and its stunning photographs).

So What's In It For Me?

Plenty. Reading this book (and downloading the code) makes it easy to create a database-backed web site. (I know because I did so.) You get not just the basics but real depth, such as how to create a high-performance site, capable of serving 20 or more database-backed requests per second.

Purchase this book at Amazon.

Table of Contents

  1. Envisioning a site that won't be featured in suck.com
  2. So you want to join the world's grubbiest club: Internet entrepreneurs
  3. Scalable systems for on-line communities
  4. Static site development
  5. Learn to program HTML in 21 minutes
  6. Adding images to your site
  7. Publicizing your site
  8. So you want to run your own server
  9. User tracking
  10. Sites that are really programs
  11. Sites that are really databases
  12. Database management systems
  13. Interfacing a relational database to the Web
  14. ecommerce
  15. Case studies
  16. Better living through chemistry
  17. A future so bright you'll need to wear sunglasses
This discussion has been archived. No new comments can be posted.

Review:Philip and Alex's Guide to Web Publishing

Comments Filter:
  • Let's see, Mr. Coward...

    1. Philip does mention that Apache/mod_perl solves the fork performance problem traditionally associated with CGI/Perl. He mentions it mostly in passing, you may've missed it.

    2. AOLserver has a C API, so you can go that route rather than Tcl if you wish (though of course this gives you all sorts of good ways to crash the server). Using CGI, you can use Perl if you wish.

    On the other hand, I can't imagine why I'd want to have the option of using several languages, at least when implementing the same site! I have enough trouble remembering to say "=" in SQL and "==" in Tcl without tossing in a Babelesque suite of languages. The Tcl API gets the job done, and though it's a bit kinky one can write readable code in the language.

    3. A community of users of AOLserver can be found hanging out at the web/db forum of Philip's photo.net site. They'll answer your questions if you don't have friends at MIT to help you out.

    4. Your argument against being constrained by AOLserver's use of Tcl seems partially based on a dislike of AOL. That's fine, but it's not really much to base an objective technical evaluation on. If it makes you feel better, AOL didn't write the server, they bought the company that did.

    5. The two sites you mention aren't the only two large sites running AOLserver. Where did you get that idea?

    6. If the multiprocess vs. multithreaded model doesn't really matter, why, as you point out, is Apache adopting the latter?

    In the main, your argument is one of religion, i.e. open source and free software vs. free but not open source software. Given that AOLserver 3.0 is being released Open Source and GPL'd, the religous argument disappears. You're now free to make your choice based on an objective evaluation of Apache and AOLserver.

    Apache/PHP seems pretty reasonable but AFAIK, at this point AOLserver still has a lot more capability built into the server proper. You can find code to pool persistent db connections for PHP scripts, for instance, but why would I want to go off on an easter-egg hunt when this functionality's already built into AOLserver, and proven to be very reliable as well?
  • Well... it is probably true that MIT isn't dying to hire me this week. But as far as I can tell there isn't that much ill-will remaining from the days when I suggested that MIT faculty "move into the 1970s and install an RDBMS". They all woke up to the Web by late 1998 and since then I've been getting along remarkably well with the LCS faculty.
  • Worth pointing out is that Phil isn't bashing Perl alone - he bashes almost every tool he uses at one point or another. I went ahead and did a search on his site for "Perl", and in almost every instance where he was griping about it, he was griping about other things as well. He's not griping about Perl alone, he's griping about *everything* he's used at one point or another.

    *This is a good thing*. He's not so much narrow-minded as opinionated, and opinions from people who actually have done the work are worth their weight in gold. Nothing's perfect, and it's refreshing to hear honest, educated opinions about this stuff, even if I don't necessarily agree.

    Case in point - I love Perl. I can safely say that Perl has saved me *thousands* of hours that would have otherwise been spent trying to deal with things in other languages. Is Perl perfect? Not by a longshot. Is it the ideal language? There *is* no ideal language for everything - each has it's strengths and weaknesses.

    Phil likes, and recommends, the stuff he uses and is familiar with. I suppose if I had a strong grounding in Lisp, I might find the syntax of Perl abhorrent too. (Personally, my brain can't handle the multiple levels of nesting of parenthesis in Lisp) To each his own - I'm always interested in the advice, even if I choose to do things my way for my own reasons. Specifically, the fact that I know Perl *well* makes it a more suitable language than TCL or Lisp for what I do - and it means that I disagree with Phil here, but *neither one of us are wrong*. It's opinion.





  • I loved the book, especially for quotes like this:

    Well... it is probably true that MIT isn't dying to hire me this week.

    I don't know about the rest of you, but I wish I could say stuff like that with a straight face. To learn more from the master, spend a few hours at his web site. I highly recommend the section on narcissism. [photo.net] And, it goes without saying, the author would recommend it, too...

  • Agreed... Read the first few paragraphs and then go to http://www.webpagesthatsuck.com/begin.htm [webpagesthatsuck.com] and see what it has to say.

    Does Mr. Siegel really expect everyone to alter several of their browser settings to satisfy his idea of how you're supposed to view his page? Why not just force the font, background color, and link style like so many other web sites (that suck, IMHO) do today?

    I think I'll find Greenspun's attitude toward web page design more to my liking. I haven't read his book yet but plan to pick up a copy soon.

  • I love Phil's advice and I think that his book is the best one out there pertaining to web apps. I do wish that he would cover Apache and Perl more though. While he is not exactly dismissive towards either option he is not very positive either. He has a valid point in that AOLServer & Tcl give you many benefits with a gentle learning curve. However, I think that he would have serviced his readers better if he had mentioned the Apache/mod_perl combo (or PHP).

    Apache/mod_perl gives you all of the benefits of AOLServer while giving you the ability to roll your own features which no other canned server could match. TCL is ok but I like having the option of using Perl, C, Java, Python, etc for creating web apps. I like being able to see the source code. I like being able to write modules if I don't find what I need (which is unlikely). I like being able to ask someone to help me out when I'm having problems (try to find a thriving community based around AOLServer or even some books). I like not being constrained by the vendor's choice, especially when the vendor in question is AOL. Also, Apache/mod_perl run some heavy-hitting sites out there (think deja.com & imdb.com) whereas AOLServer only seems to be used by AOL and photo.net. Those aren't bad sites to kill your server on but there's a definite lack of breadth. Apache, meanwhile, runs on many, many sites and even though it may be technically inferior. I'm sure many people would like to debate the multiprocess model of Apache vs the multithreaded model of AOLServer but it doesn't really matter. In a couple of years Apache will blow everything else away. There are already plans for the *nix multithreaded version.

    There is much to be said for the free, robust, user-supported efforts of Apache/mod_perl. We don't all have friends at MIT to help us out when things go wrong. We sometimes have to rely on the kindness of strangers. It helps if there are a lot of strangers who have run into the same problems. It helps even more if those strangers fix the problems and give their code out :) Having said that, I still love this book. Any competent web developer should be able to translate Phil's ideas into other environments without too much work. His basic ideas are sound and that is why it's on my list of must-reads.

  • I find Siegel endlessly amusing, not for only for his opinions on web page design (and, having recreated himself [futurizenow.com] as an e-business consultant, his
    Internet punditry [siegelvision.com]), but also for his inimitable, self-important writing style.


    Check out this article [soundbitten.com] for what makes David Siegel important.

  • AOLserver, is, to put it bluntly, the best web server on the planet, bar none.

    AOL liked it so much, they bought the company that made it, Navisoft. This is the commercial Naviserver -- the very first multithreaded webserver. Go to www.aolserver.com and take a gander.

    Features:
    - Multithreaded for speed
    - Persistent, pooled database connections for efficiency
    - Multithreaded tcl extension scripting language that is by far the best way to put out dynamic content -- it beats perl hands-down performance-wise, as well as development-wise
    - Tightly integrated RDBMS functions
    - Wear-tested on one of the busiest sites on the Internet -- aol.com
    - Available for Linux
    - Soon to be Open Source
    - Regular tcl API -- as well as a C API, dynamic module loading, etc
    - highly scalable -- while being lightweight.
    - Runs circles around CGI for dynamic content when using the TCL API.
    - Can run any CGI package
    - Designed for performance -- a Pentium 90 can saturate a 10Mbps Ethernet with dynamic content
    - Easy configuration and remote administration -- versions through 2.3.3 by a Web-based interface; version 3 by a telnet control port, which will be spiffy.

    Oh, just go to the website -- they do a much better explanation.

    IMHO, TCL is a much easier language to use for Web scripting -- and I do mean scripting, as opposed to programming -- than perl ever will be. I picked it up in a dozen hours, and was writing highly usable code in two days. It is the basis of our company-wide intranet.

    I'll just put it this way -- it works, it's fast, it's lean, and it's mean. And I have a dozen or so intranet applications -- none of which required more than a dozen pages of tcl code.

    Also, you have the outstanding ARSDIGITA community system available -- which has to be seen to be believed. It's not flashy -- but it works so solidly that the ARSDIGITA team makes sizable incomes from it.

    Lamar Owen
    WGCR Internet Radio
  • He actually explains what he does with the money
    in
    Chapter 2: So You Want to Join the World's
    Grubbiest Club: Internet Entrepreneurs of his book:

    In 1996, I set up links from my site to Amazon and Computer Literacy,
    asking them to write referral fee checks payable to "Angell Memorial
    Animal Hospital" (see [photo.net]
    http://photo.net/photo/donationlist.html)


    He explains why he chose Angell on his
    gift shop [photo.net] page:
    (George is the first Samoyed dog he owned; Alex, the coauthor of the book,
    is the second).

    I established a memorial fund there after George died [photo.net].
    Donations ensure that pets owned by poor people get proper treatment
    and provide funding for important veterinary research.


    Although two of my dogs have died in Intensive Care at Angell, I feel
    that it is the best run health care organization I've seen.
    Coordination among specialists is much tighter than in a hospital for
    humans and no money is spent on fancy advertising campaigns,
    ego-boosting interior decoration, or finding clever new ways to get
    more Medicare funds.



    Did you really think he would keep the money for himself to
    spend on lenses? This weekend, at a barbeque he gave
    for the finalists for [arsdigita.org]
    the ArsDigita Prize, one of the finalists asked him why he
    gave the Amazon money away to charity. He said, basically, that it was dumb
    to run an extremely expensive site and keep the measly proceeds to
    himself. If you are going to be greedy, he said, you need to be
    effectively greedy. To try to be greedy and fail miserably
    at it just makes you look like a loser.


    That's Philip for you.

  • How about "My Way or the Highway"?

    Greenspun provides useful information and is entertaining, but he's also self-absorbed and narrow-minded. You get the impression that he thinks anyone not using AOLServer, TCL, and Oracle is not doing "real work." Most unforgivable, IMO, is his Perl-bashing. He's entitled to his opinion, but to write a book about web development that actively discourages the use of Perl? Foolishness.

    As someone mentioned earlier, Jakob Nielsen [useit.com] is an example of someone who's just as fanatic about adherence to web standards (AHEM, Slashdot!) and good design, but without the sour/arrogant attitude.

  • Oh, boy! I expected to get a rise out of the easily-baited /. community, but I got a rise out of the master himself.

    Sure, Philip, YOUR software is GPL, but AOLServer's isn't -- yet. I actually plan to put the ACS architecture to work as is, but once the source code is out there, I hope a lot of C hackers provide modularity that opens things up even more.
  • For past two years, philip's site has been there for me. I read it for its wit, advice, and vision that I don't see in otherplaces. I especially like his outspoken writings, where he takes off on the Various Middleware etc.

    For a long while, I blindly trusted computers, software, and systems. Only because that is the accepted thing. Philip gave me courage to trust my opinions over that of corporate brochures. I wish I had teacher like Philip in Grad school.

    Now back to this book. You will love this book. You will become popular among your friends with this book. The photographs alone are good enough for non-CS people. The conent, so accessible, even for non-programmers, is an additional bonus. Of course, the wit! It will get you through the darkest hours of programming.

    I also must urge you to look beyond his choice of AOLServer+TCL+Oracle+HPUX. Understand his reasons and you will be able to pull together a toolset similar to his. Better yet, if you may be able to improve this toolset to match his! But looking at the top quality toolset he has built, it hard to reject the value proposition of these essentially free (Except Oracle) toolset on Unix.

    If you get a chance browse though the other services he offers. My favorite is http://wimpy.arsdigita.com : Now there is a good business plan for some enterprising person!!

    --rama
    P.S: Also, this is an author with social conscience. He routinely gives away stuff (his minvan, his commissions from Amazon, money from selling his photographs) to charities. He encourages upcoming web designers through arsdigita foundation. And, all the services he offers on his computer are free!
  • Frankly, I think that perl is overkill for web work. Why do you need it?

    TCL, on the other hand, is a minimalist scripting language that I find very easy to use -- and -- much more importantly -- easy to get it to DO The Right Thing!

    And I say that knowing that Z80 machine language (not assembler -- hexadecimal machine language) was my first programming language. Want to see a Z80 joke? 0000: 01 FF FF 11 01 00 21 00 00 ED B0 !

    The point is that TCL is an ideal language -- with the AOLserver extensions, mind you -- to do web work in. Web pages are strings; EVERYTHING in TCL is a string. I can write a TCL procedure to do most any task (such as return a full outer join of four tables in my RDBMS) in about five minutes that is likely to be bug-free on the first run. No extra modules to load, no need to specify DBD this and DBI that. Just a few ns_db procedure calls, an ns_return to send the content down the connection, and you're done. Simple, sweet, and easy to work with.

    You can then take you procedure and embed it as a string in AOLserver Dynamic Pages (adp's). After all, everything is a string (including procedures).

    Gotta love it.

    I say all of this with the utmost respect for Larry wall and the perl community -- perl is an ideal sysadmin language (I use it in that role) -- but it is not the best web scripting language, IMHO.

    Lamar Owen
  • Uh, John, maybe you should read the book. I distribute a Perl script (for building an image library from a flat-file database). I talk a bit about Apache/mod_perl (not much since I haven't used it). I don't discourage anyone from using a technology that produces a reliable, responsive Web service for their users.

    Instead of getting into a religious war about languages, we attack problems that we think are interesting (see http://arsdigita.com/projects.html ). Our students at MIT and our clients at ArsDigita don't want to hear about commodity software; they want to hear about innovative solutions.
  • Two words:

    CONCURRENCY CONTROL

    'nuff said -- Philip says it best in his db chapter of his book.

    Lamar Owen
  • My book diary entry for the book is:
    An excellent technical (though not a
    very technical) book. Greenspun's interest lies in creating online communities that are useful and vibrant enough to survive for long periods of time. Greenspun understands that such utility doesn't arise from trivia such as micro-tweaked HTML or the latest hyped plug-in; instead, it comes from permitting people to connect in ways that aren't possible without the connectivity and information accumulation made possible by the Internet and by database software. I highly recommend this book, and its principles will probably guide my future plans for the MEMS Exchange site.

    An online version of the book [photo.net] is available, and is definitely worth a browse; the photographs will look better in the printed version, though that probably isn't reason enough to buy the printed version. Reason enough to buy the book, though, is simply to encourage such an enlightened approach to Web design and to freeing a book's content.

    It's refreshing to see a computer-related book that concentrates on technical opinions, instead of just how-to details. I skipped over the AOLserver code, since Zope [zope.org] would be my choice for an implementation environment (some of the Zope Portal Toolkit ideas seem inspired by Greenspun's book, in fact), but that doesn't materially affect the important ideas of the book, which relate to nurturing online communities. It's not platform-specific in that way; while Greenspun has his preferences for Tcl and Oracle, he repeatedly emphasizes that the specific tool used is of secondary importance.

  • ...seems to be that the features listed as strengths by one side are the same things listed as weaknesses by the other side: "flexible" syntax, "everything is a string", modules, etc.

    In their respective optimal environments, TCL and Perl may be comparable if all you're doing is firing off SQL queries and spitting out the results intermixed with some markup. But in my experience, the vast majority of web development asks much more of the glue language. YMMV.

  • My company's website is generated from a flat-text "database". (The pages are mostly served statically, and the site generator is only run when the content changes -- once or twice a day.) This was originally written in Perl, and took half an hour to do the job. (It's a very big site.)

    After a brief attempt to replace my Perl scripts with NetObjects Fusion, which was a disaster, I rewrote the program in C. It now takes just under two minutes to run, yielding a roughly 15x speedup. I've had similar experiences replacing some Perl CGI scripts with C programs, and though the gains are usually not quite as dramatic, I can usually get a 2-4x speedup. (The exception is for very short Perl scripts, which are usually best left as they are.)

    Perl is a great systems administration tool, and it is often useful for web purposes, but there are many instances where other tools work substantially better. (The same is true of other popular tools, like PHP.) Perl has some serious shortcomings, like its hideous syntax and the tendency of Perl programs to use regex searches for simple literal strings, which could be done much more efficiently with a Boyer-Moore search in C or another language.

    I wouldn't exactly discourage the use of Perl with the web -- perish the thought! -- but I would advise a newbie to bear in mind that it is a swiss army knife: pretty good for a wide array of tasks, but hardly ever the best at any of them. Greenspun's criticisms provide a welcome balance to a sometimes overzealous Perl advocacy.
  • >Find a way to index XML and you will have
    >re-invented the relational database.

    s/relational/hierarchical/

    I've been wondering, wouldn't IMS make a great XML database? ;-)
  • I don't think XML solves anything that can replace a database. If RDBMS doesn't cut it you need an object database or some other sort of database.
  • I really liked this book too. I think people should buy it and read it, even if they don't agree with it all (I certainly didn't). Some nitpicking points : the reproduction was just a little disappointing on some pages (visible grain) although the color reproduction seemed great to me. I don't understand why it wasn't every bit as nicely printed as, say, Wired Magazine. There are some typos in some places (damn! should have made a list) and I think each reader will find her own section where she knows more than Phil and therefore the generalised recommendations seem a little too generic.

    On the positive side, I love the authors photos, buy camera equipment based on his recommendations (Yashica T4-Super - Mmmm Carl Zeiss lens!) and I always try to imagine what cutting quips he would come up with when visiting my little vanity web site. The high-level recommendations are all spot-on even when some of the detail can be quibbled with (Phil is not necessarily up-to-date with Linux, FCAL disk arrays, Sun hardware etc) but this book is thought provoking! I personally now feel I have some clue about SQL and when I would need to use it, and that alone is worth the price. The best example of the quirky nature of Phil is that he has enough self-awareness to have pages devoted to his narcissism, which deflates any accusations of egomania, and yet he complains when people address him as Phil not Philip. Well perhaps he shouldn't be quite so proud of his email address which hasn't changed for 20 years (philg@mit.edu - perhaps that's a clue why they do it!).

    To buy the book go to here [photo.net] and give Phil the click-through commision, you know he'll give some good cause web access with the proceeds (or perhaps buy a monster lens, either is fine with me!).

    Chris Morgan
  • While the print version is at the top of my to-buy list (definitely the next time I place a book order), the online version is terrific. Greenspun's tone and style are quite refreshing. He's very direct, and not shy at all about conveying his likes and dislikes, while backing up his assertions with plenty of technical information. While I'm sure he has his own biases (don't we all?), his work *feels* honest and forthright. Very cool.
    --
  • The text is free online here:

    http://photo.net/wtr/thebook/

  • However (and this may be controversial -- I'm not sure I believe it 100% myself), I think it's worth noting that when content becomes very complex, an RDBMS is no longer the most optimal solution. For even moderately hierarchichal content, XML may be a better answer.
    I think that's probably incorrect. The more I read about XML, the more I realize that although it's trying to be an organization solution, it poses major problems in those areas that RDBMSs solve well -- fast indexed retrieval of records and speedy record updates -- even when the records are of variable length.

    Probably the best thing, for the forseeable future, is to use RDBMS to get the record lookups you need, and store XML in the DB for records that have pose strange layout problems. I've been helping a friend of mine create a rather large DB with that setup -- for the most part everything is indexed, but data that doesn't need to be accessed quickly by the overall system is stored in XML and used to interpret the data as required.

  • Greenspun is great. I always seem to find new insight in his book (it's a favorite at the Web company I work at) and his site at www.photo.net/philg/ is also extremely useful. His acerbic wit & no-BS philosophy is much appreciated.

    Check out his "Travels with Samantha" and its followups for an example of his non-tech writing, too. I read the entire text online, which is really saying something.
  • see the Lore [stanford.edu] homepage for example.

    Oracle is gluing XML support onto 8io but it looks like a ploy to lock you into their tools. Fsck that.

    My personal experiences with XML/XSL/XQL are that the whole wad of them currently make my life harder rather than easier. YES, I KNOW IT'S A MORE ELEGANT SOLUTION. But so was Common Lisp.

    ;-P

  • This is definately the best book I have read -- anyone who didn't read it should run, not walk to Philip's site [photo.net] and take a look...

    If you want to do serious Web Publishing you have no excuse not to read it (and also check out Jakob Nielsen's site [useit.com]). -Petru

  • Whenever possible, web sites should be designed to allow users to contribute material. (I think most of us at slashdot would agree.)

    Web views should be personalized for individual users. (Ditto.)

    A relational database is the best tool for accomplishing these goals. Greenspun even provides free space on his database server for people to use his collaboration tools on their own sites.

    This is one spot that I'm going to disagree a little. Well, first, a prelude:

    One of the things Greenspun hammers home is that proven, open technologies exist. One of these is RDBMS. It works, it's worked for a long time, and there's people who know how to make it work, even if they do cost a lot of money.

    However (and this may be controversial -- I'm not sure I believe it 100% myself), I think it's worth noting that when content becomes very complex, an RDBMS is no longer the most optimal solution. For even moderately hierarchichal content, XML may be a better answer.

    While I understand that XML is still bleeding edge (and will be for the next 10 years or so), the two strengths it has are that it's a standard, and it's open. I guess what I'm trying to say is that RDBMS is always an answer to this problem, it isn't always the best answer, and it's worth finding out whether it really is or not.

    Or maybe this is just be being extremely bitter and reactionary after my experiences with MS SQL Server. =)

  • I've been waiting for someone to bring this gem of a book to light on /. because Greenspun dares to insist that

    a. Perl isn't very good for anything on the web but grinding over .html files

    b. The best web server out there, while free as in beer, is not free as in speech.

    I know this bunch of readers must have had at least *some* conditioned negative response to anyone who discounts the value of the Perl/Apache complex.
  • I thought it went to a good cause, which was the reason I had the impulse to link to his site. The bit about a lens was just a joke! Sorry if anyone didn't appreciate it.

    Chris
  • This is far and away the most useful book I have ever read on the subject of web publishing.

    I have used Philip Greenspun's advice, code, and bits and pieces of information for over two years, now. His diatribes were the deciding factors in my decision to base my webserver on AOLserver; and for my decision to back the mighty AOLserver with the equally mighty PostgreSQL (well, 6.1 wasn't really mighty.....;-( but 6.5 is...) I have not regretted my decision.

    Philg's book is right on the money. He skips the fluff -- and gives you the stuff.

    I do wish the nudes were not present, as I would love to trumpet from the highest hill my recommendation to all -- which I can't, even though the nudes were very tastefully done (none are frontal, BTW.). Oh well, I've pasted over the nudes on my personal copy, so that if anyone comes in my office and picks it up, they won't be offended (my office is in a church.....). Of course it's a free country -- he is as free to publish those pics as I am to paste over them.

    It is nice to see Philip's hard work receive some accolades by this site.

    And, the book is available for free online -- but, let me tell you, the hardcopy is worth the cost.

    My heartfelt thanks to Philip -- and to Slashdot; even though I don't always agree with either.

    Lamar Owen
    WGCR Internet Radio
    1 Peter 4:11
  • I don't know what his actual rank is, but he does teach a course or two - I know, because you can read the course descriptions on the web.

    I've bought both of his books, and although there is certainly overlapping content between them, I find them well worth reading. They've probably made HP a healthy amount of money since he endorses their products so strongly. In gratitude, HP donated a monster server (worth a few hundred thousand dollars) to serve his web pages. I don't think he actually needed it - his pages have always been among the net's fastest - but it was a thoughtful gesture. MIT's network connectivity is - cough - somewhat adequate to the task :-).

    Anyway, the books are fantastic. Buy 'em.

    D

    ----
  • XML is a printed representation of structured data. RDBMS is a solution to the problems of atomic transactions, concurrency control, and isolation of users from seeing the results of incomplete transactions made by other users. See the db chapter of my book (available for free at photo.net) for more on this.

    A lot of folks get confused on this point because journalists are so confused.
  • Stand by, AOLServer 3.0 is coming down the pipe now and its open source! The documentation has already leaked out on the AOLServer mailing list and the license will likely be a GPL clone.
  • Granted, this second edition is more open-minded than the first, but comments from the author like this are bound to stick in the craw of more than a few web developers:

    "The only conceivable way to write a correct Perl program IMHO is cutting and pasting from someone else's code."

    "the only thing that a Web nerd can usefully do with Perl is grind over a bunch of HTML files and touch them up"

    "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."

    Yes, language wars are boring and we all have our favorite tools, but you have to expect strong reactions from comments like that.
  • Isn't GPL free enough? AOLserver 3.0 will be available under GPL (though personally I prefer to spend my time thinking about the user's problem (data model, flow)) than mucking about with someone else's C code.
  • I have yet to find an application where the two-pronged attack of AOLserver-tcl plus PostgreSQL's extended subset of SQL-92 could not handle.

    One of the applications I am working on is an online broadcast AM radio station pattern plotter and coverage predictor, with output in JPEG or DXF format. Of course, PostgreSQL includes GIS features that facilitate this, but, I have yet to have to dig into any other language to perform the work. TCL has a hard time with numerics -- but PostgreSQL doesn't.

    Oh well...

    Ykybhtlw you grok the meaning of YMMV without expanding the abbreviation.

    Yow!

    Lamar Owen
  • This one really hurts. I run a small research project at the Lab for Computer Science (same building as the AI Lab). But I can't be a professor because I'm an officer (CEO actually) of arsdigita.com, a $6 million Internet services company. Given that ArsDigita is doubling every six months, I can't just wave goodbye to my friends here and kick back at MIT. Also, the MIT CS building is dog-unfriendly. So overall it isn't so bad to have the job that I do. The bottom line is that I designed and teach 6.916 and MIT undergrads and grad students can learn from it (so can everyone else since all the course materials are available free on the Web, including three textbooks, three psets, and all the lecture notes; Caltech, University of Munich, and NYU have already adopted the course or portions of the course). The students don't really care whether a teacher has a particular bureaucratic title or not.
  • Well, I guess these quotes resonated with Perl weenies. Frankly, I'd forgotten having written them. Both Perl and Tcl are fine, I guess, if what you're doing is bridging the Web to an RDBMS (which is what I'm doing). If I were building another computer-aided engineering system (see my resume for what a loser I used to be), I'd get back into the language religious wars (I'd be choosing between Lisp and Java, I guess).
  • One of his better ideas concerned kicking obnoxious people off a community website. The problem to overcome: people kicked off can easily get a new nick and come back. His solution: implement a "Microsoft mode" where instead of being out-right disabled, the person experiences all sorts of phoney but realisistic errors. Eventually, he gets so disgusted/fed-up that he leaves and doesn't come back. When I heard of this, I thought it would be a great idea for first-posters on slashdot. But then I realized that it wouldn't work for two reasons:
    1) The source is open, so anyone can see it's there and not be fooled by it.
    2) It only works if it isn't widely disclosed. Otherwise, the person knows to go and get a new nick anyway.

    Albeit, the idiots here don't read the source, and it still might worthwhile to implement it.
  • I read "Travels with Samantha" online in its entirety as well. I had eyestrain when I was done, but it was worth it.


    -Mars
  • Come on, Philip. The reason you're not an MIT professor isn't just that you're an ArsDigita officer. You've pissed off too many people at MIT (mostly intentionally). I say that with the greatest respect.

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...