Salon








 

T A B L E__T A L K

Multiplayer gaming on the Net: Are you addicted? Share your tales in the Digital Culture area of Table Talk

- - - - - - - - - -

R E C E N T L Y

Apple and the snake
By Scott Rosenberg
Gil Amelio's peevish corporate memoir paints Steve Jobs as the devil
(04/10/98)

The Quicken and the deadbeat
By Andrew Leonard
How Intuit and Microsoft are saving us all from bankruptcy and crushing personal debt. Or not
(04/09/98)

Dear author
By Pamela LiCalzi O'Connell
What happens when a novelist puts his e-mail address on the book jacket?
(04/08/98)

Popcorn with your operating system?
By Scott Rosenberg
Microsoft beams its vision of computing's future into your local multiplex
(04/07/98)

Gene blues
By Jeffrey Obser
Why you should think twice before betting your life on genetic testing
(04/06/98)

- - - - - - - - - -

BROWSE THE
21ST ARCHIVES

- - - - - - - - - -












CONSIDER THE SOURCE | PAGE 2 OF 2
- - - - - - - - - - - - -

At any rate, you will definitely need a very modern computer (you know, one less than six days old), bulging with RAM and disk space. The assorted README files for the various Mozilla builds are hilariously blasé about this: "Having at least 128 megs of memory will make your debugging experience noticeably less agonizing." "You should be ok with a 400MB disk partition ..." "One of our beta testers had a machine with only 64MB of physical RAM (VM was off) and it ran out of memory trying to link."

In other words, do not try this on your 386.

What about the actual code? As I mentioned earlier, there's an awful lot of it -- although nearly 40.3 percent of the file space is eaten up by the Netscape Public License included in every separate file. (And in case you're wondering, I arrived at that percentage through a painstaking scientific process called "making it up.") The NPL is a complex legal document that can be summed up, roughly, as "You may modify this source code. You may not sue Netscape if you screw it up. We are not responsible for any system crashes, memory corruption or emotional anguish on your part. May cause drowsiness, headache, dysmenorrhea and cramp. Please stand behind the white line. Do not operate heavy machinery."

Even without the repetition of the NPL, there's still a lot of code to muck through. If your programming experience up to this point has been making buttons go up and down on your Web pages and writing simple Visual Basic programs to calculate your net worth, chances are good you're going to be somewhat overwhelmed.

But then maybe you're not interested in actually making changes, or qualified to do so; you just want to see what the code looks like (the "don't want to stare at the car accident, but feel compelled to" factor). Nothing wrong with that. Unfortunately, the rumor mill has it that a substantial amount of the time it took to prepare the source for release involved "sanitizing" the comments to remove the obscene language and various bits of comment graffiti that litter the source code of most commercial products. ("Joe's memory manager really blows goats. I wrote this next function as a grotesque kludge to get around it. Joe sucks and should NOT get any more stock options at the next performance review.")

The result of this is a dearth of gripping, suspenseful reading in the Mozilla source code. John Grisham it's not. What few comments remain are of this sort, from the library that does networking, in reference to the function:

NET_ChangeMaxNumberOfConnectionsPerContext:

/* set the maximum allowable number of open connections at any one
* time on a per context basis
*/

Such depth, such texture, such intricacy of plot. Only occasionally does something amusing slip through:


/*
* nesting deeper and deeper, harder and harder, go, go, oh, OH, OHHHH!!
* Sorry, got carried away there.
*/
struct lo_FormElementOptionData_struct {

If you're interested in exploring the source code to find specific features and make them stop, I'll warn you ahead of time that a close reading of the code shows no trace of the following functions, which one thinks must be there, but aren't:

suckUpAllRemainingSystemMemoryAndCrash()
manglePerfectlyLegalHTML()
generateRandomAnnoyance()
gratuitouslyBehaveDifferentlyFromIE()

On the other hand, all traces of Java have been conveniently pre-removed for you (ostensibly for licensing reasons, but no one is going to complain too hard about the added stability, either). And I'd like to make a point of mentioning line 75 of the file pa_tags.h, part of the HTML parsing library, which defines the BLINK tag.

Just one small comment, snuck in when no one was looking, would disable this blight on the existence of designers everywhere -- and, I think, go a significant ways toward making this particular geek's springtime the best one yet.
SALON | April 13, 1998

Laura Lemay has been making fun of Netscape almost as long as Netscape has been around, and isn't about to stop now. But she does think the source code release is pretty darn neat.

- - - - - - - - - -
T A B L E_T A L K
Lost in the Netscape source code? Come to Table Talk's Digital Culture discussion area and share the experience.








Salon | Search | Archives | Contact Us | Table Talk | Ad Info

Arts & Entertainment | Books | Comics | Life | News | People
Politics | Sex | Tech & Business | Audio
The Free Software Project | The Movie Page
Letters | Columnists | Salon Plus

Copyright © 2000 Salon.com All rights reserved.