Project MAC, where we met S at MIT A the Software Arts building where we worked together T and the attic N where VisiCalc was written
Other writings on our personal sites:

RSS Feeds:



Comments from Frankston, Reed, and Friends

Wednesday, April 23, 2003

DanB at 12:07 PM [url]:

Book sharing

Bob just asked me to post something about this, since he's too tied up with conferences and maintaining his tools, etc. (see below). His request: "...someone should put up a story about the new problem on colleges � the effort to crack down on the crime of book sharing by the Paper Industry. It�s about time we stopped this willful violation of copyright!"

I guess Bob is concerned that if students are being sued for sharing their record collections within their dorms, why isn't it a problem that they share textbooks while studying? And, horror of horrors, the bookstores even help by letting them participate in a "Used Book" racket, depriving the publishers of yet more sales. In addition, when you read the textbook, if there is a passage you especially feel is important to you, you can write it down in your notes, preserving it for after you finish using the book and mixing it with other works. As I pointed out in my essay on paying artists, copyright holders are trying to put absolute legal and technical restrictions that don't have physical counterparts on media without showing how it all fits into a rich ecosystem that helps advance the arts and sciences. It is clear that they think it helps advance the fiscal quarter-to-fiscal quarter pocketbooks of the current distribution middlemen of the works of some small subset of artists, but is that what we as a society want?

There, Bob, I put up the story...

Tuesday, April 22, 2003

BobF at 4:55 PM [url]:

Another Example of Being Precise, Accurate and Completely Wrong

I just reposted my essay on Leap Seconds because I made mistakes in simplifying the HTML I had created in Microsoft Word. I use Word to write the essays because I like some of the features that assist me when writing but Word doesn't know when to stop being helpful and tries to preserve the accidental properties of the presentation of the text. One of the features of HTML is that it separates the presentation from the content. There are cases when the precise details of the presentation are important but that's the exception.

There many other examples such as distinguishing between upper and lower case in user names and passwords. The DNS correctly ignores the distinction between Frankston.com and frankston.com but some programs care which creates unnecessary confusion and worse.

I had a similar experience when I shaved off my beard (in the 70's) -- people asked me when I grew my mustache.

The Museum of Science in Boston has an exhibit on computers that includes a short video that purports to show how the Internet works. It is colorful and entertaining and very accurate and detailed and it completely misses the point. It shows how packets are put together on the corporate LAN that mixes Internet Packets (IP), with Novell and AppleTalk and all sorts of other packets. It then shows how a router/gateway picks out the right packets and massages them to send them out to the outside Internet. This is how some, if not most, corporate LANs work but it completely misses the point that the value of IP is in simply ignoring all that other debris and the accidental properties of the mechanisms in the middle. NATs are simply warts and not architecture. A layered approach that separates the model from the accidental properties of a given implementation can then look at these properties in context.

This touches on the more complex question of what is "truth" and our tendency to confuse the logicians model of truth with the far more complex one used by humans -- you can't tell whether "no no" means "yes" or "no!" without context and even then, you can't quite be sure. Those who disagree can respond with "yeah yeah" to show their disagreement.

These are fascinating and complex issues but for now, I'll just finish explaining what went wrong -- I normally use a VBA program to generate simple HTML but the broken security model in Word didn't let me run the program so I decided to do it manually by editing the document that Word had saved but I didn't quite get it right. So I went back to using the VBA program by working around that problem for now. . (Do you really want to know about what was wrong in translating (%lt;[a-z]+) [^/>](/?%>) to #1#2 in Epsilon (an Emacs)?) No wonder I don't have time to write (or, more to the point, proofread) -- I spend my time fixing the tools that are supposed to make it easier!

And that security model -- another topic I need to write about. There is something fundamentally wrong with treating "trust" as a Boolean value. It's bad enough to have to answer the question "when did you stop beating your wife" since yes/no doesn't work. How do I answer the question "do you trust" when I have no concept of the bounds of trust are?

There is a value in having people provide simplistic answers to what they think are simple problems. When they get it right they do produce useful results. When they are wrong they can do a lot of damage but mostly they just create annoyances that we can deal with while taking advantage of the useful aspects. The real mistake is in seeing our ability to work around the problems and limitations as validating the bad solutions.

BobF at 1:30 PM [url]:

The End of Leap Seconds??

I'm revisiting the leap second because there is news and I see it as a useful example in why bad things happen because of good people trying to do the right thing as if there were one right thing.

I was pleasantly surprised when friends pointed out an entry on SlashDot saying that the International Time Committee was considering getting rid of leap seconds. I have written about them in the past (Leap Seconds and under Annoyances). The reason I called it just an annoyance is that I would have seemed obsessed if I tried to make it a major issue. In skimming the SlashDot discussion I found the usual confusion between underlying concepts and the use of the concepts.

Very simply, time is a complex concept. For some purposes it is vital to know the time to the nearest nanosecond. But for human use, it is more important that we agree on a name of an interval so that we coordinate. That's why we created time zones rather than using local time. They were created by the railroads which observed that the position of the sun in the sky was less important than knowing when the train would arrive. The trains were fast enough to make it an issue.

The ITU failed to grasp the way people use time. I don't want to trivialize a complex disorder but it makes me think of aspects of Asperger Syndrome which is a pervasive developmental disorder characterized by an inability to understand how to interact socially. It's similar to assuming that a phone call is completed when the other phone rings as opposed to when it is answered by a human or, in many cases, an answering machine.

One of the Slashdot entries told about a very expensive experiment ruined because it spanned a leap second and only some of the researchers took the leap second into account. It's easy to deal with big things like leap years because they are so visible and we know when people are being precise or approximate.

But there is no reason to think of minutes as having other than 60 seconds. It's uncommon and rarely visible. We simply assume that every minute is the same and our algorithms for working with time don't allow for a description of the kind of minute. If we did we would have pervasive complexity throughout our algorithms and still wouldn't solve the problem since we don't know the intent of a time span. If someone says to wait 30 seconds, is that really 30 seconds or is it half a minute?

At the panel on The Origins and Impact of VisiCalc I was reminded of this issue in seeing how surprised people were that we created a product people could use. But I couldn't image doing it any other way. If I'm going to write a quick utility I do emphasize ease of coding but if I'm creating a product for people to use then I have that in mind and do trade-offs between implementation issues and the conceptual model people need to use the product.

It's also easy to err in the other direction -- imposing naive user models deep into the design of systems. We can't simply declare the value of pi to be 3 because we want it to be. There is less awareness of the problem of imposing inappropriate measures just because they seem precise.

Lest I leave the wrong impression, it is not people vs machines. It is the naive assumption that one's technical concerns are all that exist, let alone matter. The arguments about precision vs accuracy in the Slashdot discussion are typical. It's important to understand them. But, as with the concept of Quality of Service, one must step back to ask what one means by quality. One cannot simply ignore a quality like maximizing people's choice just because it doesn't have a simple metric.

The leap second is problematic in its own right in creating a fundamental inconsistency between time as defined by ITU and time as computed by the devices upon which we depend. More important, perhaps, is its as an example of the difference between being technically correct and completely wrong.

And, for that matter, the twenty first century started with 2000, not 2001. Why? Because it's a name and it makes more sense to use the first two digits. Of course, in the name of petty consistency we should call it the 20th century but let's not.

For more, see the Archive.

© Copyright 2002-2008 by Daniel Bricklin, Bob Frankston, and David P. Reed
All Rights Reserved.

Comments to: webmaster at satn.org, danb at satn.org, bobf at satn.org, or dpreed at satn.org.

The weblog part of this web site is authored with Blogger.