Go to content Go to sidebar Go to buttons

The secret history of the Betamax

Sony v. Universal, also known as the “Betamax case”, is a bit of legal history so beloved of geeks, passed on from grizzled hacker to Slashdot newbie, that it deserves the title of “myth”.

The story goes like this: Once upon a time, an innovative consumer-electronics company called Sony invented a wonderful machine called the Betamax, which could record TV shows on tape. Then a big mean entertainment conglomerate called Universal sued them, saying that people could use the Betamax to break copyright laws and it was Sony’s fault. Universal sued Sony over and over and over again, until finally the United States Supreme Court gave Sony a pat on the head and a big hug and said they hadn’t done anything wrong. And in the years that followed, Universal earned millions and millions of dollars by selling its movies and TV shows on tapes that could be played in Sony’s machines. The moral of this story is that innovative content-liberating technology is good for everyone, even big mean entertainment conglomerates.

There is, however, a small detail of history that didn’t make it into the myth.

At the same time that Sony was developing the Betamax, Universal’s parent company, MCA, was developing a playback-only video medium, the laserdisc. MCA wanted to partner with Sony on developing laserdisc playback machines and convince Sony to discontinue the Betamax. So, in September 1976, top executives of MCA and Sony met to discuss videodisk development. At the very end of their discussion, the president of MCA and Universal threatened to sue Sony if the Betamax were not discontinued or modified. Akio Morita, steeped in the Japanese way of doing business, was certain that MCA would not follow through on its threat; as he told a colleague, “friends don’t sue”. Except, of course, they did.

If Universal’s negotiators had been savvy enough to shut down the videocassette industry without suing, or if they had swayed one more Supreme Court justice, then they still would be collecting millions and millions of dollars from home video sales. They just would have been comforted knowing that their customers’ home video equipment used a non-recordable medium.

The moral of this story is that big mean entertainment conglomerates are not always as dumb as they look.

source: Bargaining for Advantage

Another kind of bug you can get in the hospital

As I have previously noted, most people who use spreadsheets don’t appreciate that spreadsheets are programs, and that when you have programs, you have bugs. And when you rely on spreadsheets in the emergency room, those bugs can have severe consequences:

The patient was a 3-month old baby showing “clinical signs of meningococcal sepsis with petechiae, purpura, and shock” (whatever that might mean). The baby needed a precise concoction of twelve different drugs for treatment.

The dosages were calculated using a spreadsheet template which calculates required dose from weight, age, and so on. In a standard version of Excel it is possible to “lock” particular cells so they cannot be inadvertently edited. For example, you would lock the cell which stores the formula for the calculation, so that you can’t accidentally write over it.

Unfortunately, the software used here wasn’t the full-blown version of Excel or some functional equivalent, but something called PocketExcel. It doesn’t allow locked cells; someone tabbed into the wrong field and overwrote the calculated dose with the baby’s weight. Ouch!

via the haskell-cafe mailing list

The agenda

A few weeks ago, teacher/author/blogger Kathy Sierra announced that she had received death threats as comments on some blogs run by other prominent figures in the tech-blogging community. (The blogs were soon shut down. The fellow who posted the comments that Kathy1 interpreted as death threats has denied any malicious intent.) This led to an outpouring of sympathy from her readers, fellow-bloggers, and other people in the IT field.

One thing that surprised me about the response was the number of other women bloggers who said that they, too, had received death threats. (See, for example, Reclusive Leftist, Min Jung Kim, and apophenia.)

At any rate, most of the follow-up postings on IT blogs that I read shifted focus from the assault against Kathy to the general issue of “civility”, or the lack thereof, in blogs. Credible threats to commit murder and rape were subsumed in a more general category, one which included hyperbole, personal insults, and general bad language.

Then Tim O’Reilly, Kathy’s friend and publisher, drafted a Blogger’s Code of Conduct, posting it just in time for the New York Times to write about it. In the Times article, Tim gets first mentioned in the third paragraph; likewise for Wikipedia co-founder Jimmy Wales. Kathy, “a high-tech book author from Boulder County, Colo., and a friend of Mr. O’Reilly”, makes her debut in the eleventh paragraph, as a member of “the insular community of dedicated technology bloggers2”.

And since then, I’ve seen just scads and scads of commentary on Tim’s proposed code. Meanwhile, Kathy is no longer doing speaking engagements and is wondering what she can do to attract less negative attention.

One of the less-obvious signs of social privilege is the ability to set the agenda. Even the bloggers who have fervently denounced the very concept of a Blogger’s Code of Conduct have, by posting their criticisms, accepted the agenda that Tim set.

I don’t want to impugn Tim’s integrity and I don’t doubt his good intentions. But notice how this is no longer a discussion of online threats to murder, maim, or rape, which (as previously noted) seem to predominantly be issued by men against women. It’s a discussion of online incivility, defined to include a wide range of peccadilloes that both men and women commit. It’s no longer a story about Kathy; it’s a story about Tim. Indeed, in his most recent blog posting on the subject, Tim remarked: “It concerns me that Kathy Sierra, whose bad experience triggered this discussion, thinks that a code of conduct such as I proposed would do no good.”

The agenda has been reset. That’s the patriarchy in action.

Fortunately, there are some people interested in re-resetting the agenda. April 28 will be the day for a…

Take Back the Blog! Blogswarm in support of the rights of women to participate fully in all aspects of our society, including specifically online in the world of blogging but indeed everywhere and at all times, day and night, without fear of harassment, intimidation, sexual harassment, online stalking and slander, predation or violence of any sort.

Sounds good to me.

Amid all the other commentary sparked by what happened to Kathy, I was pleased to discover siderea’s comparison of misogyny with Martians-are-out-to-get-me psychosis, Seth Godin on misogynous bullying by a New York Times author, Liz Henry’s call to action, and…hell, I can’t keep track of them all. So I’m glad there’s a chance for people to write more on this subject and a place where it can all be brought together.

1 Are all bloggers, even those who have never met, on a first-name basis with one another?

2 Insular? What are we, Amish? When the Times manages to write about blogs without status anxiety dripping from the paper, the same issue will have a banner headline on page one saying “MESSIAH ANOINTED IN JERUSALEM”.

Fact-checking a fact-checker

(I've got to blog about this before my distinguished homonym does...)

The letters section of the latest New Yorker includes the following “Editors’ Note” (the hyperlinks are my own):

The July 31, 2006, piece on Wikipedia, “Know It All,” by Stacy Schiff, contained an interview with a Wikipedia site administrator and contributor called Essjay, whose responsibilities included handling disagreements about the accuracy of the site’s articles and taking action against users who violate site policy. He was described in the piece as “a tenured professor of religion at a private university” with “a Ph.D. in theology and a degree in canon law.”

Essjay was recommended to Ms. Schiff as a source by a member of Wikipedia’s management team because of his respected position within the Wikipedia community. He was willing to describe his work as a Wikipedia administrator but would not identify himself other than by confirming the biographical details that appeared on his user page. At the time of publication, neither we nor Wikipedia knew Essjay’s real name. Essjay’s entire Wikipedia life was conducted with only a user name; anonymity is common for Wikipedia administrators and contributors, and he says that he feared personal retribution from those he had ruled against online. Essjay now says that his real name is Ryan Jordan, that he is twenty-four and holds no advanced degrees, and that he has never taught. He was recently hired by Wikia—a for-profit company affiliated with Wikipedia—as a “community manager”; he continues to hold his Wikipedia positions. He did not answer a message we sent to him; Jimmy Wales, the co-founder of Wikia and of Wikipedia, said of Essjay’s invented persona, “I regard it as a pseudonym and I don’t really have a problem with it.”

Updated to add: Apparently, according to some Wikipedians, it's OK to lie about your credentials on your user page because (a) it helps disguise your true identity from Bad People; (b) all Wikipedians are equal, regardless of how many formal degrees they have, so no harm is done by a Wikipedian who lies about how many formal degrees he has.

Frivolity

There are many Deep and Meaningful and Significant things I would like to ramble about at great length, which of course is one reason why I haven’t posted anything here for six weeks. So here’s a shallow and insignificant thought for the day.

Our microwave oven has a button touch-sensitive blob labelled “ADD MINUTE”. If you push it, it doesn’t actually add a minute to the cooking time; it adds thirty seconds. But if the timer is already above a certain threshold, or maybe when you push the button enough times in rapid succession, each press does add one minute to the cooking time.

But now I have a vision of the world’s most concise microwave-oven interface (imagine putting this on one of those itty bitty cubes): two buttons touch-sensitive blobs, “+” and “✕”. If you press “+” the time on the clock goes up by ten seconds, and if you press “✕” the time on the clock triples. So thirty seconds is “+✕”. One minute is “++✕”. Five minutes would be “+✕✕+✕”. (From what I’ve read about ternary arithmetic, I suspect that making “✕” use any factor other than three would make the average button-pushing sequence longer, but I’m too lazy to work out a proof.)

I release this innovative user interface into the public domain for the benefit of microwave-oven users everywhere. Please, don’t be too effusive in your thanks.

P.S.: As long as I’m on the topic of weird number systems, I direct your attention to golden-ratio base, a system for representing numbers in base φ (or, if you’re a Da Vinci Code fan, base PHI). Since φ+1 = φ2, any integer can be represented by a finite sequence of base-φ digits, even though φ is irrational. There must be some practical use for this, but I haven’t thought of one yet.

The graphic designer's revenge

How did the American Library Association get away with using the original Mac OS menu font on their Bill Gates poster?

Computers were invented to keep track of boring things

One reason I haven’t been doing much blogging recently is that I’ve been spending a lot of time learning Haskell, a computer language with a number of intriguing features. Since I have previously remarked on weaknesses in Java’s type system, I thought I would start by remarking on Haskell’s type inference. Unlike many of the language’s other intriguing features, this one is easy to demonstrate and its benefits are easy to explain.

Consider this Haskell program:


main = do str <- getLine
          let n = read str
          putStr "Twice that is "
          putStrLn (show (n * 2.0))

Like C, C++, and Java, Haskell is statically typed: every variable has a type that is known at compile time. Unlike those other languages, though, you don’t have to explicitly declare the type of a variable when the compiler can figure it out. The compiler knows that str is a string, because that’s what the standard library function getLine returns1. The read function is polymorphic and can translate a string into any of a wide variety of Haskell types, but the compiler can still figure out the type of n, because it shows up later as an argument to *; since 2.0 is a floating-point number, then n must be one as well.


sethg@henbane:~/Desktop/hs$ ./a.out
3.5
Twice that is 7.0
sethg@henbane:~/Desktop/hs$ ./a.out
42
Twice that is 84.0
sethg@henbane:~/Desktop/hs$ ./a.out
0x10
Twice that is 32.0
sethg@henbane:~/Desktop/hs$ ./a.out
fred
Twice that is a.out: Prelude.read: no parse

I realize that programmers get into fervent religious wars over the question of static vs. dynamic typing, but I think I can avoid getting roasted by either side if I point out that if you have to use a statically typed language, it would be nice to use one with type inference. Why should we humans have to keep track of those tedious details if the computer can do it for us?

PS: Notice how in the code, the read function appears before the call to print the phrase Twice that is, but in the output of the running program, the error message from read appears after that phrase. That’s lazy evaluation, another intriguing Haskell feature….

1 Actually, getLine is type IO String. Explaining how the output of this function gets bound to a variable of type String would require explaining Haskell’s monadic IO system, which I’m not ready to do just yet.

If only we had a Standard Generalized Markup Language!

If you’ve been participating in various Web-based forums for a while, you may have noticed the great variety of ways you can avoid polluting your fingers with HTML.

  • Some venerable bulletin-board systems use UBBCode™. See, in HTML, if you want to make something boldface, you use <b>codes surrounded by angle brackets</b>, but UBBCode™ uses [b]square brackets[/b], which are obviously superior.
  • Some blog software uses Markdown, where you can generate an ordered list by putting a digit in front of every list item and create a first-level header by starting a line with “#”. Others (including the software that runs this humble site) use Textile, where you use “#” to make an ordered list and “h1.” to make a header.
  • In the Wiki world, you can usually make a link to another page simply by writing the page title in CamelCase. If you’re composing a page on a MoinMoin wiki and you want to link to a page with normal capitalization, you put the page title in [square brackets]. But if you’re using TWiki or MediaWiki, you put it in [[double square brackets]]. And of course, if you want the text the user sees on the screen to be something other than the name of the page the link points to, TWiki and MediaWiki provide different ways to do that.

Of course, you can use HTML-style tags and escaping within most of these markup languages, but they all have their obscure rules lurking in the background regarding what they’ll accept. TWiki doesn’t allow newlines within an HTML tag (e.g., between an element name and its attributes). If you write an HTML tag in Textile with escaped angle brackets (like “&lt;b&gt”, Textile will happily translate those escaped characters back into angle brackets. (Guess how I found that out.)

Why this Babel of markup languages? I can imagine three justifications:

  1. HTML is hard.
  2. The alternative markup languages can be easily translated into valid (X)HTML on the server end, whereas if users are expected to type HTML into these little text boxes, then they’ll input “tag soup” that mucks everything up.
  3. Alternative markup languages allow you to add markup features that HTML doesn’t have1.

To which I say

  1. And these other systems aren’t? Users who can’t stand typing in all these angle brackets are better off using one of the new Javascript-based Web WYSIWYG editors.
  2. That’s why we have tools like TagSoup and HTML Tidy.
  3. It would be better to add those features with language extensions that are consistent with HTML2, and then use XSL on the server side to rearrange things.

Some day, perhaps, in my Copious Free Time, I will write my own damn blog software that takes its XML straight. I’m sure there are three or four other geeks in the world who would appreciate such a thing. In the meantime, if you want to write a comment on this fine blog for posterity3, you have to use Textile markup. It’s really quite easy once you get the hang of it.

1 Footnotes, for instance.

2 The user could, for example, put <span class=”footnote”>(body of footnote)</span> wherever he or she wanted a footnote marker, and the server could move that text to the end of a document and put the appropriate footnote mark in its place.

3 Hello, posterity!

Three words no sysadmin wants to hear

I’m in the middle of moving ropine.com services from the old G4 in our basement to a virtual server at OpenHosting. (Virtual hosting is cheap enough these days that a cheap virtual server plus a cheap DSL line costs less than the static-IP DSL line that we have now.)

The first thing I moved over was the email. In the past, I’ve turned up my nose at sendmail, because although it’s the traditional Unix MTA, it’s been a poster child for insecure code. But OpenHosting comes with sendmail already set up, and I was tired of all the effort it took to get my MTA and my spam filter and my IMAP server to make nice to one another, and I decided to take advantage of whatever my ISP and its Linux distribution had done to make my life easier. (I am coming to the realization, in my old age, that every hour spent administering my computer is an hour I don’t spend using it.) And besides, sendmail hadn’t had any embarrassing security holes in a while.

So imagine my delight to see an article on LWN.net that begins: “It’s been a while since we had a good sendmail vulnerability…but we need wait no longer. Sendmail 8.13.6 has just been released in response to a security issue which could lead to a remote root exploit.”

(“Remote root exploit” is security-geek shorthand for “a way for someone who doesn’t even have an account on your machine to connect to it and take it over”.)

Hopefully, if anyone has actually figured out a way to take advantage of this security hole, nobody has yet bothered to use it against me (and if they try now, it’s too late). But maybe I should go to the trouble of setting up qmail or postfix after all.

I found this on The Web™

Since when did “XHTML” grow a trademark symbol? Especially since the W3C’s own trademark list describes this term as “generic”?

via Elliotte Rusty Harold, who has a completely different reason for complaining about that document

Previous

  • Atom 1.0 feed
  • LiveJournal feed
  • Send me mail
  • Published with TextPattern
  • Powered by MySQL
  • Powered by Debian GNU/Linux