Martin Pool's blog

First thoughts on arch/tla

Tom Lord's arch version control system seems to be coming along quite nicely.

I first looked at it some months ago but was scared off by documentation that made it a bit hard to understand what was really happening inside. A lot of the design concepts were not really stated, and this can give a worrying impression that there is no strong design.

(I think in tools for technical users it's really important to make the documentation expose enough of the internal model that they can feel comfortable with it and make predictions about cases that are not explicitly described. I think R5RS does this moderately well, for example, but I haven't seen anything that does such a good job for Common Lisp.)

Subversion's manual, by contrast, begins with a clear high-level description of what's happening inside Subversion — not the bits and bytes, but rather the concept of how trees are versioned.

This now seems to be addressed and a clear design can now be seen under the arch tutorial. They do this in a nice way: peeking under the covers at each stage of the tutorial, so you can see what effect it's having on the archive files. And arch is particularly suited to this, because it stores history in an excellent Unixy way: directories containing gzipped patches plus some metadata.

This is very reassuring: you can imagine recovering all your history even if all arch implementations went away, or writing a new compatible implementation (which has happened a few times.) Few version control systems have these desirable properties. It also shows excellent Unix taste to use plain files when possible.

Some particularly nice features of arch from WhyArch

Tom Lord on Subversion

I really like Subversion. It small and simple, and the idea of write-only versioned trees is quite brilliant. I wonder now if, if you're going to go to the trouble of switching from CVS if it's worth going further afield. Unscientifically arch seems roughly as stable as Subversion, both being at about the 1.0 level.

Tom Lord gives his ideas on what went wrong with Subversion, though "went wrong" is perhaps too harsh.

That post actually is quite a good little lesson in the mistakes you can make in large-scale architecture and planning, rather along the lines of The Mythical Man-Month.

On the other side of this "unambitious" question, you can point to Linux being an architecturally unambitious reimplementation of Unix, as compared to many microkernel projects that have languished. I think almost any project does many things which in retrospect are mistakes, but even making a number of mistakes does not necessarily mean you'll fail.

Perhaps another problem with Subversion is that at the moment the performance is not stellar. Committing, for example, the entire 2.6.0 kernel source takes a long time. That would normally be entirely forgivable for a pre-1.0 project, but the write-only database is something that ought to be easy to make blindingly fast; not being so seems to indicate an abstraction inversion problem in building it on top of a read-write database.

Tom reckons leaping to adoption of W3 standards such as WebDAV was one problem for Subversion. He may be right. One problem with W3 standards is that they sometimes seem to be written with less implementation experience than IETF standards traditionally have been. Finally they seem to have admitted this after a long time and they are going to a native svn protocol over SSH, which I think is what most potential users have been asking for all along.

Subversion might also show something about the desirability of doing quick proofs of concept as Graydon has done with monotone, before deciding you've got the right solution.

Mind you I don't think Tom's posts to the Subversion mailing list were written in such a way that they could be understood. Whether you're right or not, walking in and saying "you're doing this all wrong" without details just rarely works.

What would make Subversion parallel to Linux? If it was compatible between versions; faster than CVS in 95% of cases; had a fast & easy coversion program from CVS and just simply ran over SSH then I think it would be close.

distcc and AOSS Awards

If you're here looking for information about distcc's nomination for the AUUG Australian Open Source Awards, please note that the correct home page is distcc.samba.org.

Thredbo

I went skiing up at Thredbo the other week. It was very relaxing. The weather was generally good, though the snow softened towards the end of the week.

We stayed at Alpenhorn, which was pretty nice. Contrary to their web site they do not actually have 802.11. They had exactly 3 CDs on continuous rotation in the living room for the whole week: Jamiroquai, St. Germain and REM. I don't need to hear them anymore. :-)

Even on the last day, when it had rained overnight and conditions were degenerating, Pete saw a TV anchor on the slopes gushing about the “perfect conditions”. What crap. Chomsky was right.

Freak of the week

Slashdot:

We've got a related project called 'GridShell' that may be of some interest to the readers. Basically, it gives a slick WebUI as a front-end to an AI Grid Computing interface. As an added bonus, we've included our new implementation of the AWESOME new programming language 'SequenceL', which will AUTOMATICALLY and INTELLIGENTLY PARALLELIZE and DISTRIBUTE ITSELF across pretty much any Grid of Grids or Clusters or SuperComputers or whatever. You can check it out now at http://gridshell.sourceforge.net [sourceforge.net]

Thanks!

-Will MacBraswald, Jr.
Creator, GridShell

PS - Why didn't the /. editors want to post a story about this?

dmarti to Sun...

Don Marti writes:

This is in response to the press release at: http://biz.yahoo.com/prnews/030828/sfth013_1.html

Scott, do you really think you're going to get any ink, except another of the "Desperate Sun Scrambles for Relevance" stories that are so common this year, out of getting into bed with SCO and its other licensee, Microsoft, on the Linux lawsuit?

Take your goofy little back-from-the-dead Solaris x86, your vast selection of 100 approved servers, and your thundering herd of -- ooo, I'm shaking in my boots -- 600 ISVs, and either play nice or shut up.

I can't recommend that anyone even consider an OS platform whose marketing position statement is, "almost as good as Linux, not as much compatible hardware and software, but Darl McBride is really scary! Booga, booga!"

I'm sorry you overpaid for a Unix license when the free software handwriting was on the wall, but we all make mistakes. Next time you have to kill Solaris x86 for lack of interest, I'll be happy to help you shop for a Linux distribution whose support people will talk to you without giggling.

The real problem with C-R systems

Karsten has a pretty good page about the problems of CR systems, but I don't think he pays quite enough attention to the problems of using From addresses as an authenticator.

At the moment there is a certain amount of spoofing of From addresses. This can be done as a social-engineering attack, such as when sending a virus from security@microsoft.com. Or it can be done as a “Joe Job” to incidentally annoy or harm somebody the spammer dislikes. But neither of these is a really strong motivation.

However, if many people started filtering by From address either through TMDA or some other mechanism then you can bet that spammers would start forging them.

As other people have pointed out, to fix spam you need to address the economic problem: spam is cheap to send. Making spam expensive to send by e.g. requiring hashcash will penalize desirable communication such as mailing lists.

A good way to make it expensive is to impose hefty criminal sanctions. It is theft of service and it is unauthorized access to a computer system. In some cases it is merely akin to these existing crimes, but in the more common case where spammers actually break into a zombie machine to send spam it is very clearly illegal. We just need enforcement, and perhaps for the law to be made more clear.

Something on the order of $1000 for a small offense and three years in prison for a repeated offender ought to provide an appropriate deterrent. Some would-be spammers might baulk at the idea of being on the other end of M0NSTER C0CK!!11

In the case of heroin, criminalizing supply has increased the price, but demand still remains high. However, I suspect that people hawking penis-enlargement devices are less addicted to spam than others are to heroin. Hopefully, increasing the cost of would reduce the overall voulume.

On the other hand, making it more clearly criminal might attract a more desparate element. There are already reports of organized crime gangs being involved in say credit-card theft. Increasing the proft margins might encourage them to move into spamming, which might make the whole thing rather more nasty than it currently is.

TMDA Loses

From Kuro5hin:

If TMDA sends any "challenge" messages at all, it has completely failed. It is no good and must be removed. It's a kick in the fucking teeth to anyone who receives one. How would you like it if every single website you visited, no matter what page it was, just to view a page (not sign up for an account, but to provide the basic transaction of HTTP -- delivery of pages, like delivery of email is the basic transaction of SMTP), asked you to fill in a challenge/response to prove you weren't an address harvesting robot?

Even if you don't believe that "every" person would use TMDA, you should at least see what happens to websites that demand hoop-jumping, like the New York Times -- people are openly willing to post to message boards asking for copyright-breaking reposts, direct links and login details rather than jump through any hoops just to see the article. No sane human likes jumping through hoops, and should DETEST jumping through hoops to benefit someone else rather than themselves.

You might think "I'm worth it", and people who want to mail you should jump through a hoop. Well, you're not. I am worth it, however. If you want any technical support for my software, you will NOT use TMDA or any other such system. If I discover you have used it (by getting a challenge), you go on my shitlist and never, ever receive my support again.

I love your "if configured correctly" dreaming. Here's a fucking good idea: if all mail servers in the world were "configured correctly", none of them would be open relays! The amount of spam in the world would drop dramatically, as spammers would have to use their own mail servers to mail out every single spam, as opposed to raping thousands of broken, badly configured open relays. Here's another idea. If nobody replied to SPAM (remember, we're in a fantasy world where pink unicorns roam the land and all anti-spam systems are configured correctly and I never get bounce or challenge messages for replying to people), spammers would give up! Hey! This fantasy, make-believe world is pretty good!

2.4.20 NFS bug

I think Gavrie Philipson and I found a bug in 2.4.20 NFS that can cause files to read back as being full of nuls. I'm just going to see if I can make a little test case.

SCO's MIT Experts not actually from MIT

SCO alleged a couple of months ago that code copying between Unix and Linux was detected by a team from MIT, amongst other things. Laura DiDio, effusive as ever, seemed terribly impressed in an interview with Sam Varghese:

SCO hired three separate teams of code experts, including a group from the Massachusetts Institute of Technology. According to SCO, these groups all found code in Linux that purportedly originated in the Unix System V kernel and not BSD.

It now remains to be seen whether IBM and its teams of legal experts can refute the findings of SCO's experts in court. Expect reams of documentation and lots of minutiae!!!! I'm glad I'm not the judge on this case. As an aside, I give SCO credit for getting the best legal and technical advice. Their attorney David Boies is top notch and spent 31 years working for IBM's attorneys and you don't find a group with more technical prowess than MIT (though the great minds at Stanford University in California would beg to differ!).

Seriously though, the fact that legal and technical experts of this calibre are willing to take SCO on says something. In an age of "experts for hire" it's still questionable whether people of this calibre would lend their names to a case that lacked merit.

Yes, Laura, I'm sure everybody else is also glad you're not the judge. :-) (Does anyone take seriously an “analyst” who uses quadruple exclamation marks?)

It's interesting that DiDio uses the phrase “lend their names”, when the one thing this group has not done is put their names to their work. Indeed, they apparently specified in their contract with SCO that their names must not be revealed. Sometimes there are good reasons to work anonymously, but if you won't put your own name on your work, it seems unfair to put down the name of a university. Did MIT really want its good name associated with such a travesty?

And what precisely does “group from MIT mean?” It might mean “people working at MIT”, or it might mean “some people who went to MIT but dropped out.” It's vague but suggestive — prime FUD material.

The truth is now out: according to an article in MIT's The Tech, the second is the case: the people involved had had some kind of link with MIT in the past, but they are certainly not employed at the moment.

What a tangled web we weave.

Microsoft relies on Linux to survive worm

In InformationWeek (no public link apparent), Mitch Wagner writes:

Microsoft says Linux isn't fit for the enterprise, but it's using Linux to help protect its servers from denial-of-service attacks. Web requests aimed at www.microsoft.com no longer go to machines on Microsoft's network. Instead, they're handled by the Akamai Technologies Inc. caching system, which runs Linux. A Microsoft spokeswoman says the goal is to "help ensure customers can get to the Blaster worm patch to protect their computers. Microsoft is using Akamai's extensive worldwide network to distribute the massive traffic that is illegally being directed at Microsoft by hackers."

Web servers? We have one we use, and one we sell. If our customers don't like it, we tell them to see figure one.

Ethics of photographing a car crash

Ethics of photographing a car crash

I was returning from a trip to the Baltimore inner harbor when I came across a car up in flames almost near my house. Since I had my camera, I couldn't resist (at the time) to take pictures of the scene before the emergency vehicles arrived. After I took the pictures, I was notified by a spectator that the driver was still inside. When the firemen put out the fire, I couldn't make out anybody inside. At this point, the police pushed everyone back. It was not only until later that night when the news came on, did I confirm that the driver did indeed die. Now here I am, with an undeveloped roll of film of the whole incident. What should I do?

Shooting memorials and landmarks

photo.net:

... I assume you mean different than the standard tourist shot - middle of the day, dead on with lots of tourists around. The first thing you do is visit the monuments during morning and evening light. You get low angle light and shadows, which should add depth and interest to your photos. Also, many monuments are lit up at night, so you have opportunities to do available light photography. You'll need to know how to turn off the flash on your P&S camera, as well as have some way to stabilize the camera - a tripod is best, but you could sit the camera on something and use the timer.

jay double blog

jdub, GNOME's head beekeeper, has a cool new blog.

Listening to

Sonic Youth, a thousand leaves

A great all-day-breakfast of an album. The distortion sections can be hard to take if you're not in the right mood, but provide an interesting crunchiness against the gentle feelings elsewhere:

Pitchfork say:

If Huck Finn was an LSD distributor on the Mississippi, circa 1968, this is the song he'd listen to as he dangled his naked feet in the water, sitting on the edge of his raft that he constructed from VW Bus tires.

SCP/SFTP/SSH URI Format draft

draft-ietf-secsh-scp-sftp-ssh-uri-00.txt

lp0 on fire

Origin of the message "lp0 on fire"

Sourcefrog moved

Sourcefrog is moving machines to a new host at OzLabs, because it's previous host is starting to get disk errors... remain in your seats.

Hanging Out with Smart People

Rusty's slides from OLS are now up on the web. They are amusing and thoughtful.

This is what really should be in "Software Engineering" classes, but I've never heard of it being taught.

ACPI on an Evo N610c

I have an Evo N610c that I am trying to get working with Linux.

This machine doesn't have useful APM support, so power management will only work with ACPI. If you run a kernel with APM, it will work fine on AC power, but lock up fairly quickly when suspended, as other people have documented.

The stock 2.4.21 ACPI support doesn't recognize enough of the hardware to be useful. Possibly an ACPI patch for 2.4.21 would make it work, but I'd like to stay with a maintstream kernel if I possibly can.

2.6.0test2 looks more promising: it will detect all the hardware, can control the fans from software, and does not crash. It can even do an orderly shutdown when the power button is pressed, courtesy of acpid. However it cannot suspend yet, either through ACPI or swsup. It needs more investigation.

2.6.0test2 also recognizes the touchpad/clitmouse, but gpm and X11 don't see the events from it. Apparently the Synaptics touchpad is like a PS/2 mouse, but not quite the same. Strangely enough it did work with the plain ps2 driver in 2.4, so perhaps something is broken in Synaptics support.

How to debug kernel problems

Step-by-step instructions on how to debug kernel problems. Kind of patchy, and they assume a fair level of knowledge and confidence, but still a good start.

Only you...


Credit: Amos Haven

The Scoop on Microsoft's SCO Licence

Infoworld's Robert X Cringely[0] says:

What does it cost to license an OS you don't really need? A cool $6 million. That's the figure a Microsoft sales pro let slip when asked why the Redmond boys acquired a Unix license from The SCO Group. According to my source, the pro said Microsoft ponied up because "SCO needed money for their lawsuit problem." SCO PR dude Blake Stowell issued a staunch denial, saying MS wants the code for its Services for Unix product. Still, $6 mil would certainly keep SCO attorney David Boies' legal machine nicely oiled -- and the news is sure to make thousands of Microsoft conspiracy theorists happy.

[0] Not the real Robert X Cringely, but a credible source nevertheless.

Shock and Awe - Primary Sources

Shock and Awe - Achieving Rapid Dominance.

The military posture and capability of the United States of America are, today, dominant. Simply put, there is no external adversary in the world that can successfully challenge the extraordinary power of the American military in either regional conflict or in "conventional" war as we know it once the United States makes the commitment to take whatever action may be needed. To be sure, the first phase of a crisis may be the most difficult\x{2014}if an aggressor has attacked and U.S. forces are not in place. However, it will still be years, if not decades, before potential adversaries will be able to deploy systems with a full panoply of capabilities that are equivalent to or better than the aggregate strength of the ships, aircraft, armored vehicles, and weapons systems in our inventory. Even if an adversary could deploy similar systems, then matching and overcoming the superb training and preparation of American service personnel would still be a daunting task.

Given this reality that our military dominance can and will extend for some considerable time to come, provided we are prepared to use it, why then is a re-examination of American defense posture and doctrine important? The answers to this question involve (1) the changing nature of the domestic and international environments; (2) the complex nature of resolving inter and intra-state conflict that falls outside conventional war, including peacekeeping, and countering terrorism, crime, and the use of weapons of mass destruction; (3) resource constraints; (4) defense infrastructure and technical industrial bases raised on a large, continuous infusion of funding now facing a future of austerity; and (5) the vast uncertainties of the so-called social, economic, and information revolutions that could check or counter many of the nation's assumptions as well as public support currently underwriting defense.

Honour among theives?

jp (not that jp) writes:

Apparently it's okay to be a killer, a mass murderer, a pedophile, a rapist, a bank robber, a drug dealer, a hitman and an arsonist, but it's not OK to share Metallica MP3's over the internet.

Distribution GPL Clause and SCO's Licence

SCO think they have been very clever.

SCO's recently announced licensing scheme applies only to Linux end-users, and does not permit redistribution or access to source.

Let's assume, just for the sake of argument, that there really is SCO copyrighted code in the Linux kernel, unlikely though that presently seems. Let's also ignore, just for the time being, that SCO have in the past and continue to distribute the kernel under the GPL, thereby granting a perpetual licence to modify and redistribute it.

The GPL would not allow SCO to distribute the kernel under a proprietary licence. SCO aren't doing that: they're allowing Red Hat et al to continue distributing it, but in addition SCO are demanding fees from end users. I think this doesn't put Red Hat in breach of the GPL, because they're not the ones imposing the extra conditions. And the GPL (leaving aside SCO's previous distribution) doesn't apply to SCO, because they're not the ones distributing it. SCO think they're very clever.

There's a catch.

Even assuming there is proprietary SCO code in the kernel, SCO are not allowed to demand money from end users. As Eben Moglen pointed out, copyright holders can't use of a work, only distribution. SCO has no grounds to demand money from people who are merely using Linux and not distributing it — and these are the only people to whom their new licence applies!

SCO is playing up a misperception that you there is some kind of "right to use" in copyright law, which must be purchased. There is not.

Check and mate in two moves.

SCO "Intellectual Property Licence for Linux"

SCO have released some sketchy details on their licence package for Linux. They suppose that end users will pay them $700 per computer for the privilege of continuing to use software to which they already have a valid licence.

The most glaring problem is that nowhere do SCO define what IP rights SCO are supposed to hold. As Eben Moglen explains, there *are* no possible rights that SCO could hold: they have licenced any copyright material; they don't have patents; and trademarks don't apply. As a potential (yeah sure) licensee, nowhere am I able to find out about the potentially infringing works without signing an onerous nondisclosure agreement.

This is at odds with most copyright cases, where the first step is for the aggrieved party to present the original and supposedly copied material.

The SCO support site at iwethey.org has a couple more interesting questions for people considering signing:

  1. If you read the contracts between Santa Cruz Operation and IBM (Exhibits A, B, C and D) you will see that IBM has purchased an "irrevocable, perpetual" license to AIX. Now SCO wishes to use that license to extract $3 billion from IBM. While SCO Group may not sue you immediately after you sign their papers, what would happen if SCO Group needed more money or Darl McBride wished to purchaes a new Harley? Would it be a prudent business decision to sign a piece of paper that ties you to Darl "contracts are what you use against partners" McBride?, to sign a piece of paper that ties you to SCO Group? Will your licenses be (as IBM's are) "irrevocable and perpetual"?
  2. Thus Darl McBride appears to be saying "Pay me and I promise not to sue you. Forget that I am suing another company right now, forget that I sued my last employer and I've stated on a tape recording that I view contracts as weapons, not as something that produces a win-win for all parties. Forget all that. If you don't pay me I'll sue you."

Jon Corbet on indemnification

Jon Corbet, editor of LWN.net, has an interesting hypothesis about SCO's continued bleating about indemnification by software vendors:

There sure has been a big push recently on the fact that Linux vendors don't indemnify their customers against IP claims. Of course, a lot of proprietary software vendors fail to do that too, but that's a digression...

Forbes has been a good SCO mouthpiece through all this. Consider

http://www.forbes.com/2003/08/05/cz_dl_0805ibmlinux.html

But what if five years from now a court rules in SCO's favor and by then you've deployed Linux on thousands of servers throughout your company? Will you be forced to cough up fees to SCO at gunpoint? Or will you rip out all your Linux servers and replace them with something else? Either way you've got a costly headache.

I wonder if the real strategy isn't this: do everything you can into pushing, manipulating, and shaming vendors into promising some sort of indemnity to their customers. At that point, SCO pulls out the stops and goes after those customers with all the lawyer squads it can muster. The customers will, of course, go to their vendor to get them to pay off SCO and make it go away. Said vendors, besieged by angry customers, give in and write a check. SCO laughs its way to the bank.

The vendors likely see this, and that can only stiffen their resolve to not make promises about other peoples' code.

To stress the obvious: the problem with blanket indemnities, and the reason why they're rarely given, is that they can expose the party granting the indemnification to unbounded legal risk, even if they act in good faith and there is no underlying infringement. A party can make a frivolous claim which the vendor would still be required to defend.

The Forbes piece should not really be dignified with a response, but here are just a few problems with this single paragraph:

  1. As Moglen points out, SCO have already reneged on their original licensing of this code under the GPL. What grounds does a potential licensor have to believe that they will not demand additional fees later on?
  2. As Moglen also points out, there do not seem to be any legal grounds for SCO to sue end users, and so those users are not in need of any indemnity.
  3. SCO has not publicly produced any evidence that there is even a whiff of an an infringement. Does Lyons really suggest users fork over thousands of dollars in licence fees with no real proof that they're necessary? If so, I have a bridge to sell him.

OSDL Position Paper

Professor Eben Moglen and the OSDL released a concise position paper on SCO. If you only read one thing about the issue, read this: it explains why SCO's claims are spurious, and why no Linux user needs to pay SCO for a licence.

From OSDL's summary:

1. SCO has yet to file a lawsuit against end users, nor has it shared publicly any information on what software code might infringe its copyright or trademark trade secret claims. Absent specific factual and legal information from SCO, how can any individual or company threatened with a potential lawsuit respond appropriately?

2. Moglen points out that copyright law is not relevant to customers ''using'' Linux. In much the same way that readers can enjoy a book or a newspaper without a copyright license, so can users of software - unless they have agreed to additional use restrictions in, for example, a shrink-wrapped box of software. Copyright law does restrict modification, copying and redistribution, however these activities are all allowed under the GNU General Public License (GPL) for GNU/Linux and other free software.

3. Moglen says SCO itself continues to distribute Linux under the GPL. He argues that users should be free to modify, copy and redistribute Linux since users can go to the SCO even today and download Linux with a GPL license. Hence, users of Linux already have a license - from SCO - that already allows them to do the things that SCO claims are infringing.

"Failure to come forward with evidence of any infringement of SCO's legal rights is suspicious," Moglen says. "SCO's public announcement of a decision to pursue users, rather than the authors or distributors of allegedly infringing software, only increases doubts."

People wondering about where other large companies stand on this might take a hint from the summary at the bottom of OSDL's press release:

OSDL - home to Linus Torvalds, the creator of Linux - is dedicated to accelerating the growth and adoption of Linux in the enterprise. Founded in 2000 and supported by a global consortium of IT industry leaders, OSDL is a non-profit organization that provides state-of the-art computing and test facilities in the United States and Japan available to developers around the world. OSDL sponsors include Alcatel, Cisco, Computer Associates, Dell, Ericsson, Force Computers, Fujitsu, HP, Hitachi, IBM, Intel, Linuxcare, Miracle Linux Corporation, Mitsubishi Electric, MontaVista Software, NEC Corporation, Nokia, Red Hat, SuSE, TimeSys, Toshiba, Transmeta Corporation and VA Software. Visit OSDL on the Web at www.osdl.org.

New Depths in Tasteless Spam

From: The American Resolve <sales@theamericanresolve.com>
Subject: The American Resolve Prayer and Tribute Poster
Date: Fri, 1 Aug 2003 08:58:17 -0700
X-Spam-Status: No, hits=2.9 required=4.0
        tests=BAYES_60,HTML_80_90,INVALID_MSGID,MIME_HTML_ONLY,
              PRIORITY_NO_NAME
        version=2.55

The American Resolve Logo

A Tribute for Posterity

"The American Resolve" prayer and image is intended to render a tribute to the victims of 9/11 and to exalt the spirit of America.

This September and always, let us display "The American Resolve" at every household, every government precinct, every corporate premise, every learning center and every public and private environment.

Please log on to www.theamericanresolve.com to own and treasure this magnificent, commemorative memento and help us help do a lot of good to the children victims and starving children wherever they are.

Reading Code

From Salon:

"It's funny," says Dave Thomas, a Dallas software consultant and co-author, with Andrew Hunt, of "The Pragmatic Programmer," a 1999 book on software design methods. "Colleges spend a lot of time teaching people how to write code, but very few teach them how to read code. When you think about it, we programmers spend most of our time reading code, not writing code."

That's very true. Here I am with six multi-hundred page PDFs open, trying to work out what EFI, BMC, MP, etc mean...

I hear Tridge used to teach operating systems by (amongst other things) paging through files of the Linux kernel with emacs and etags, describing how different things worked. I think that would work a lot better (at least for the good students) than hearing vagueness about how things work in theory or writing toy programs. Writing toys and studying theory is important too, but I think many students miss the illumination of seeing actual large programs.

Ward Cunningham's Signature Survey program[,] a "method for browsing unfamiliar code," Signature Survey scans through source code and compresses lines of text into a single punctuation symbol. Operating on the assumption that a file's size is proportional to the number of punctuation marks separating individual elements (packages and files in Java, for example), Signature Survey offers a quick guide to programming thickets and areas of quick repetition.

"It's a satellite system for looking over large bodies of work," Cunningham says. "It lets you use your own human pattern recognition to see variation over the whole program. It also leads you to interesting parts of the program to read."

Thomas says his own preferred technique is to import a program's contents into Microsoft Word and reduce the zoom factor as far as it will go. The resulting 50-page image leaves little for the eye to make out other than jagged patterns of text and blank page. Still, even these patterns can reveal peculiar anomalies in developer mood or style. "Sometimes the structure is easier to see at that level than if you're digging around line-by-line," he says.

Pithy

Can you imagine if Nick Moffit worked in corporate communications?

Globochem spokesman Nick Moffit stated "also, ha ha SCO."

Archives 2008: Apr Feb 2007: Jul May Feb Jan 2006: Dec Nov Oct Sep Aug Jul Jun Jan 2005: Sep Aug Jul Jun May Apr Mar Feb Jan 2004: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 2003: Dec Nov Oct Sep Aug Jul Jun May