I learned how to use nested scopes. It's too bad that Python didn't have
them before! As explained at
http://www.norvig.com/python-lisp.html,
Python Pre-2.1 did not have lexical scopes. In Python before
version 2.1 there were only two variable scopes per module: global
scope and function scope. In Python 2.1, released in April 2001, if
you do "from __future__ import nested_scopes", you add a third
scope, block nested scope. In Python 2.2, this is the default
behavior. Without nested scopes you are allowed to nest a function
definition (or a lambda) within another, but the inner function can
only reference global variables, not the variables of the outer
function.
I taught another Python class at EFF. It's a lot of fun to teach people
to program in Python.
Using my logic gates code, and assuming you start with BITS=3, you can
do things like
> >>> xor_gate = gate(150)
> >>> print xor_gate[(0, 1, 1)]
> 0
> >>> xor = lambda x: xor_gate[x]
> >>> print map(xor, map(binary_tuple, range(8)))
> [0, 1, 1, 0, 1, 0, 0, 1]
A huge amount is known about Boolean functions,
and I don't know most of it.
I found Cox's conjecture very interesting:
the hardest-to-realize Boolean function of n variables using AND and
OR (and starting with the values and their complements) is the n-input
XOR. This seems very plausible, but I don't know how to prove it.
I'm sure PLD people are still studying efficient ways of realizing
Boolean truth tables.
The AT&T telemarketers are really persistent, and don't seem to keep
any record of whom they spoke to, or when, or what they heard. So I've
personally gotten over a dozen calls from them. And I've now explained
for the third time that we don't have a default long-distance carrier
at all, and we select one each time we want to make a long-distance
call. So therefore we aren't willing to adopt AT&T or anyone else as
our default carrier.
However often I explain that, and also talk about
VarTec's
lower-than-AT&T long distance rates, AT&T keeps calling me back
as though they've never spoken with me before.
"The most important thing we want to do is be true to our own values
in football, which we believe are the values reflected and brought to
bear more broadly in our society," he said.
(NFL Commissioner
Paul Tagliabue)
It's been a long time since I experienced the wonders of seismology
puns, but this appeared in Sumana's diary:
Matt told us that one could drive to Half Moon Bay to cross from one
tectonic plate to another. I asked whether he enjoys doing that.
"Yes," he said. "To a fault."
The real and imaginary parts of impedance are called
resistance and reactance while the real and imaginary
parts of admittance (the reciprocal of impedance) are
called conductance and susceptance.
(Jon B. Hagen, Radio Frequency Electronics: Circuits
and Applications)
Maybe I should go back to college.
Later on, Hagen says:
Digital processing of the IF signal makes it possible to realize any
desired filter amplitude and phase response. Good performance
requires sufficient processing power (available in general-purpose
digital signal processor (DSP) chips) and high-speed high-resolution
analog-to-digital converters. The prospoed standard for advanced
television (ATV) requires substantial digital processing at the
receiver, not only for obviously digital tasks (decoding, etc.) but
also for signal processing, such as adaptive multipath signal
cancellation.
Some people seem still not to believe this today!
... you write to
Rachel and
she responds, so to speak, by turning up in your supermarket forty
minutes later.
... or when you have a dream about Wolfgang and she wakes you up by
calling you.
Seen in an old edu-sig post:
"We have to reinvent the wheel every once in a while,
not because we need a lot of wheels; but because
we need a lot of inventors." - Bruce Joyce
(quoted by Jeffrey Elkner, who attributes it to the book
Discovering Geometry)
He responded derisively, stating that the university was free but the
compiler was not.
Richard Stallman, in Open Sources
slashdot had a link to an interesting piece about
space elevators (which I'm used to calling orbital towers).
It seems that they might be feasible.
If you had to climb to LEO under your own power -- as by walking up
stairs -- but you could rest at any point -- it would take under
four years, assuming that you could climb the height of the Empire
State Building each day. Food, oxygen, and restrooms are serious
problems, as is temperature -- considering how difficult it is to
climb Mt. Everest, which is just about 2% of the way to LEO. But
it would be very rewarding! You could climb up the tower, coming
out there other end, so to speak, four years older, much stronger,
very hungry, and receiving an "I climbed most of the way out of the
Earth's potential well and all I got was this lousy t-shirt" or
"I gave myself 400 megajoules of gravitational potential energy
and all I got was this lousy t-shirt" or "I accelerated myself
into low Earth orbit and all I got was this lousy t-shirt" shirt.
(OK, so that 400 megajoules calculation is bogus -- it's based
on multiplying the minimum energy used to climb the Empire State
Building by the ratio between an estimate of LEO height and the
Empire State Building's height. Since the Earth's gravity
falls off as you get higher, though, it's actually much easier
as you go -- so you could climb faster and with less energy
expenditure and acquire less potential energy. I should do the
integral and found out how much energy you actually store.)
On a more serious technical note, there was an interesting claim
that you can use measurements of gzip's compression efficiency
on various files in order to detect, in a statistically significant
way, what language and document type they are, and even who wrote
them. I got several e-mail messages about this result, but I
haven't found a good link to a good explanation of it yet. If I
see a link, I'll link to it. But that's an interesting claim,
and it goes on to say something like "you can identify individual
authors based on how well gzip compresses their works" (so we could
just look at the sizes of federalist.1.txt.gz, federalist.2.txt.gz,
etc., to sort out the authorship controversy?).
I tried running something like
#!/usr/bin/python
compression_level = 9
import zlib, sys
results = {}
def entropy(s):
# return zlib's estimate of the compression efficiency of s
# (measured in bits per character)
return len(zlib.compress(s, compression_level))*8.0/len(s)
for i in sys.argv[1:]:
try:
e = entropy(open(i,"r").read())
results[e] = i
except:
pass
k = results.keys()
k.sort()
for i in k:
print ("%.6f"%i), results[i]
and nothing jumped out at me.
In completely separate Python news, Python threads seem very easy to
use. Maybe I'll write some multithreaded programs soon.
I thought this discussion in my
draft recursion appendix for my Python class 4 handout
came out well:
There's a common saying in programming that recursion has to have a
"base case" (to prevent an infinite loop). Some people interpret this
to mean that there must be a number which gets smaller all the time
and a different rule to handle the situation when that number reaches
the "bottom". This view of recursion is somewhat too narrow; if you
think of recursion as a loop, or as a trip through an enchanted
forest, the point is simply that, if you don't want to stay there
forever, there must be some way out, and you must be able to reach the
way out. We don't necessarily have to say what the way out _is_.
It doesn't necessarily have to be a "number always getting smaller";
maybe a fairy shows up and waves a magic wand, or maybe you find a
door in the side of a stone, or climb a tree and are carried away
by an eagle, or fall through a trap door and end up somewhere else
entirely. The point is just that there should be a way out. And,
if you want to get out, you should come to it eventually.
It's true that the most common recursion examples do use a variable
which gets constantly smaller (or constantly larger), or a sequence
type whose _size_ gets constantly smaller. But this form is not an
absolute requirement. There are good reasons to write recursive code
where the objects you're dealing with may well grow _and_ shrink,
perhaps many times, before you've reached the end. (One common
example is a queue technique, where you have a sort of to-do list.
You won't be done until the to-do list is empty, but you may well add
and remove things many times before you're done. Furthermore, the act
of doing one thing on the to-do list may well involve adding other
sub-tasks to the end of the list, so that the list actually appears to
get longer, much as your room may temporarily become messier while
you're re-organizing it.) There are even, in principle, sometimes
good reasons in computer science to write recursive functions which
don't necessarily terminate at all. You just wouldn't want to call
them in an actual program with input which makes them loop forever,
or you'll be waiting a long time for the results.
I had some success with udon noodles, shichimi togarashi, curry
powder, green curry paste, soy sauce, teriyaki sauce, basil, bamboo
shoots, baby corn, and sesame seeds. Problems: too much
shichimi togarashi or curry paste, too little time cooking the
bamboo shoots and corn. Also, I didn't have any tofu. But
the teriyaki-shichimi togarishi-curry combination is pretty nice.
It seems like some of the best-tasting sauce/spice combinations
involve something sweet (hoisin sauce, teriyaki sauce, the House
of Tsang stir-fry sauce) together with something spicy (curry or
chilis).
I had no idea that the people killed in that plane crash were
so young. According to 20 Past Midnight:
1959: Buddy Holly dies at age 22
1959: Richie Valens dies at age 17
1959: The Big Bopper died (all three in the same plane crash)
I wrote this helpful Googlewhacking code, which should assist you
in automating your Googlewhacking searches.
(However, Gary Stock
"consider[s]
it unsportsmanlike; Google may consider it illegal". I didn't
think of that before writing this.)
You can also use this module as a start to a Python equivalent of
the Sucks-Rules-o-Meter. But
my module is a quick hack; it's not
elegant
robust portable.
#!/usr/bin/python
"""google module by Seth Schoen.
Defines method matches(L), which, given a list L of strings,
returns the number of hits for the search terms represented by
the elements of L which Google suspects would exist.
For example, google.matches[("superstitiores", "suadere"]) equals 1."""
import sys, urllib, string
def extract(line):
n = string.find(line, "Results")
o = string.find(line, "seconds.") + len("seconds.")
return line[n:o]
def n(line):
# A regular expression would be much nicer here!
# Maybe it would be more reliable, too.
e = extract(line)
for repetition in range(2):
n = string.find(e, "</b>") + len("</b>")
e = e[n:]
n = string.find(e, "<b>") + len("<b>")
o = string.find(e, "</b>")
return int(filter(lambda x:x in "0123456789", e[n:o]))
def contains(line, phrase):
return string.find(line, phrase)>-1
def matches(terms):
search = "http://www.google.com/search?q="
search = search + string.join(terms, "+")
for line in urllib.urlopen(search).readlines()
if contains(line, "Results "):
if contains(line, "Search took"):
return n(line)
break
else:
return 0
if __name__ == "__main__":
x = sys.argv[1:]
print x, matches(x)
The entire
Linux kernel source will be read by a machine over an Internet
radio station. There is something very interesting about this;
it reminds me of the sort of clever and original thing that we imagine
happened in the past "before the assimilation of x to private
enterprise". (This kind of phrase is a sort of
meta-Leonardonics.)
I took the 12 Folsom out and had a huge lunch at the India Garden
on Folsom, then walked in a loop to Trader Joe's and Rainbow, and
caught the 12 Folsom back home. This led to my finding out
experimentally where the
DNA Lounge is, which is
good to know because I'm hoping to go to
CodeCon later this month.
Now I have a large case of soymilk and some other food items, and
I'm extremely full. And I got a big box of
Next
to Godliness laundry detergent, which should last over a year.
(I've never managed to use up one of those boxes; I always moved
before it was gone, or lost it, or gave it away!)
There's an
antiquarian
book fair coming up in San Francisco next weekend.
There's an interesting article mentioned in (East Bay) Zack's diary
about
Richard Register. Maybe I will pick up those Jane Jacobs books
and start trying to get a perspective on city planning. Some of the
most interesting people I know are architects.
"People found the city because they love other people."
(Dar Williams, "Mortal City")
Register thinks that cities should be dense and small, so that people
can use public transit and so that they won't sprawl and consume lots
of land area.
It's interesting to think about different factors which have
environmental impacts (and also affect the cost of living in a city,
and the subjective feeling, and the appearance and culture of the
city). So one thing is how much land is used; another is how the
land is used; another is whether people have to drive; another is
how fast the transportation is; another (stressed by Jane Jacobs, I
remember) is how well commingled different kinds of things are.
One nice thing about the Mission District is that there are
restaurants, supermarkets, laundromats, and similar things near my
home. That means that I don't need to drive or even take
transit to get to those things. But that doesn't mean that
the Mission is particularly dense or that it's laid out the way
Richard Register might prefer.
Jeff Waugh's signature points out that, because GDK stands for
GTK Drawing Kit and GTK stands for GIMP Tool Kit and GIMP stands
for GNU Image Manipulation Program and GNU stands for GNU's Not
Unix, GDK is an acronym for "GNU's Not Unix Image Manipulation Program
Tool-Kit Drawing-Kit".
I continued my tradition of sending long letters to women.
Since 1997, I have sent at least 400 pages in just seven letters
to women (and I suspect that the true number is closer to 500
pages). That's far from all of my letters to women in that
period, and only includes paper, not e-mail.
Someone might suspect from the lengths and genders involved that
many of these were love letters, but as far as I can tell, only
one of those I mentioned was meant that way.
And he said, Do it the second time. And they did it the second
time. And he said, Do it the third time. And they did it the third
time.
(1 Kings 18:34 (KJV))
I remember, two years ago, making a digression from one very important
conversation into another. The second conversation pertained to a
trend toward technology products which were hard to understand or
modify, and a culture which had begun to stigmatize understanding
and improving technology (instead of praising it as creative or
innovative). I'm working on a concept now which I think summarizes
this trend and others, and I'm thinking about the idea of "guild
freedoms". More on this later, I think.
Zack took me to Ti Couz.
In a conversation about
Darren Lo, I mentioned
The
World's Most Complicated Card Trick.
I went to a CalLUG meeting where there was a presentation by
these people (Springbox)
which was actually among the best presentations I've ever seen
at a CalLUG meeting. (I hadn't heard of Springbox before, and
I thought it might be "yet another product pitch" -- but it was
actually extremely technical.) Maybe I was just biased because
there was actual Python code in the presentation.
My impression is that the people behind Springbox are brilliant
people with an excellent technology, very much work experimenting
with and holding great promise. On the other hand, they seem
to think like 1964-era MIT AI enthusiasts: they have the sense
that if only we can collect and formalize enough facts
about language in a gigantic database, we will produce software
which actually has common sense and understands the real world.
They do have a very powerful infrastructure for collecting many
people's insights about many languages used in many different
domains, within a single distributed database which collects
syntax, semantics, and empirical facts under one roof. This
doesn't mean that it can solve the problems of AI and understand
the world!
The technology behind this project has been updated a bit
from 1964, so there's Python, regular expressions, recursive
descent parsing, object orientation, inheritance, polymorphism,
modern computational linguistics techniques, symbol versioning,
cryptographic signing, and even a peer-to-peer file sharing
network. No kidding. And they've found legitimate uses for
all these things, so they aren't just buzzwords. That might
be the most impressive part of all.
I do want to take a look at this and maybe try writing some
functions, er, symbols within their scheme, to see if I can
attack some real problem. The syntactic stuff also reminds
me a little bit of the declarative logic programming
languages from SICP; I remember using pattern
matching in Scheme to do a little phrase structure grammar
thing back when I took CS61A (this is why everyone at Berkeley
ought to take Ling 5 and CS61A at the same time -- two great
tastes that go great together), but regular expressions from
PCRE are SO MUCH MORE EFFICIENT than the pattern
language in the toy database system they create in Scheme as
an example in SICP.
I then pestered the speaker with lots of questions about how
you would teach the Springbox system to understand Latin (word
inflections, flexible word order, irregular verb conjugations
and noun declensions), and he answered those very capably,
showing that he'd really thought extensively about how to parse
natural languages through formal methods. Then I spent a long
time trying to Wake (him) Up From The Boolean Dream.
After that lecture, I went to Blake's with some people to see
Sumana perform stand-up comedy (along with a few professionals
who opened for her). She's really very funny, and I had a nice
time, even waiting through the professionals' acts (many more
jokes about drugs and sex, but wow, that bagel joke
made my week).
French and Indian War, groan, snicker, these young upstarts who
actually know something about history and politics... there
need to be fewer drunk people in the audience.
My mom says that the "Forgotten New York" web site shows
what I looked at when I was a baby (note, not what I looked
like): Hunts Lane in Brooklyn.
Darn, after I said that the comedian made my week with his comment
about liking bagels, Peter Junger goes and makes my week again:
It's not so much a matter of believing them as estopping them.
Mary Gardiner
has a new policy for her diary. (I've never tried writing a
diary policy; maybe I should create a List of the Terms of Service Under
Which this Content is Provided to You.) The problem she mentions is
an interesting one. I remember that Phil Agre was very unhappy
about the Wayback Machine
when I mentioned it to him. People who have been Internet users for
a long time will be surprised, perhaps unpleasantly, when other people
start to learn "ancient history" about their beliefs, activities, or
lives.
I decided to draft a Terms of Service for
the use of this diary. What do you think?
If I keep reading boing boing,
I will have no free time left at all. But Google is having a
programming
contest where you can get a chance to win the use of your
program on the actual Google archive.
Wednesday, on my way to work, I proved that n-input NAND is universal
and also that n-input NOR is universal.
Given an n-input NAND, use NAND(x,x,x,...) to get NOT(x). Now use
NOT(NAND(a,b,c,...)) to get n-input AND, and NAND(NOT(a,b,c,...)) to
get n-input OR. You can get 1 and 0 in various ways, including
NAND(x,x,x,...,NOT(x)) or AND(x,x,x,...,NOT(x)). You can get 2-input
AND via AND(a,b,1,1,1...), and 2-input OR via OR(a,b,0,0,0,...). With
two-input AND, two-input OR, NOT, and n-input AND, it's straightforward
to implement any truth table by brute force.
You just write a sum of products, which is to say you start with
an enclosing OR (you can get a 2^n input OR by cascading n-input
ORs and applying 1 to any unused inputs), and apply it to a series
of terms, each of which is an n-input AND which produces a 1 if
and only if a condition corresponding to a particular truth table
row is met.
For example, with two-input NAND, the brute force implementation
of XOR, which has the truth table
A B result
-----------
0 0 0 ("AND(NOT(A), NOT(B))")
0 1 1 ("AND(NOT(A), B)")
1 0 1 ("AND(A, NOT(B)")
0 0 0 ("AND(A, B)")
will be OR(AND(NOT(A), B), AND(A, NOT(B))). This kind of synthesis
should be familiar to anyone who has ever done synthesis from a
truth table using AND and OR gates.
The brute force implementation of three-input XOR with three-input
gates looks like
A B C result
-------------
0 0 0 0 ("AND(NOT(A), NOT(B), NOT(C))")
0 0 1 1 ("AND(NOT(A), NOT(B), C)")
0 1 0 1 ("AND(NOT(A), B, NOT(C))")
0 1 1 0 ("AND(NOT(A), B, C)")
1 0 0 1 ("AND(A, NOT(B), NOT(C))")
1 0 1 0 ("AND(A, NOT(B), C)")
1 1 0 0 ("AND(A, B, NOT(C))")
1 1 1 1 ("AND(A, B, C)")
or OR(AND(NOT(A), NOT(B), C), AND(NOT(A), B, NOT(C)), AND(A, NOT(B),
NOT(C)), AND(A, B, C)).
Interestingly, three-input XOR is not universal, because it can be
implemented with two-input XOR, and two-input XOR is not universal
for two inputs, let alone for three. So we have two examples of
gates which are always universal, when scaled up to any size, and
two examples of gates which are never universal. (Actually, n-input
AND and n-input OR are also not universal. Neither can produce even
a single-input NOT.)
Oh, I left out the proof that n-input NOR is universal. OK, if you
do NOR(x,x,x,..), you get NOT, and then you use that to get OR,
and then you use that to get AND, and you're back in exactly the
situation you had with NAND. That's not surprising.
Biella took me to SVLUG. Thanks!
Jim Tyre pointed out
what
happens if you sue yourself (in case you've ever wondered).
We have considered whether respondent/defendant/beneficiary should be
awarded his costs of suit on appeal, which he could thereafter recover
from himself. However, we believe the equities are better served by
requiring each party to bear his own costs on appeal.
The judgment (order) is affirmed. Each party shall bear his own costs.
Oreste Lodi v. Oreste Lodi, 173 Cal.App.3d 628 (1985).
The Moffitt brothers came to visit, and we had a nice time.
Yesterday, I went to an EFF party and then to Kate's Harikuyo
party in Berkeley. That was fun. I sat next to a woman who
was playing an artistic game in which someone draws a letter and
then you (the player) have to draw things which turn the letter
into something interesting. It's essentially a test of artistic
creativity.
So her friend kept giving her Roman letters -- which she
did a nice job with -- and I decided to throw her a challenge
by drawing some non-Roman letters (from the Greek,
Hebrew, and Cyrillic alphabets). Sure enough, she did an excellent
job with them. Michelle theorized that it's not actually harder to
turn letters from a foreign alphabet into art than it is to do the
same with own's own alphabet; that seemed surprising to me, somehow.
Capital sigma: a bowtie. Shin: an erupting volcano. Capital
omega: a neuron (releasing neurotransmitters into a synapse).
And so on. I forgot what she did with the aleph, but all of her
work was very impressive.
I stayed over in Berkeley and then went to Berkeley Bowl in the
afternoon on my way back to San Francisco. There, I ran into
Sumana and Leonard! The former had just taken the
CBEST, and
showed me a notice which prohibited her from disclosing any
part of the test to anyone else (presumably including that
notice, which reminds me of one of the things I disliked about
the Linuxcare severance agreement which I have yet to sign).
Americans have such a compulsion to follow directions printed
on stickers and signs and warning labels! It's so bad that
we can actually believe
that
shrinkwrap licenses create valid contracts, which
is complete nonsense.
On the other hand, CBEST claims that
test
takers have already agreed to a variety of rules,
including a non-disclosure agreement, before they even arrive
at the testing center. Can this be true? Wouldn't Sumana have
heard about it if it were?
Sumana complained that, on
a test
of beliefs about personal identity and survival,
only at the last question did I find out that,
hypothetically, I have a "soul" that only lives whilst my body lives,
and that upon my death is reborn in some new body, and that dies with
no hope of rebirth if I'm cryogenically frozen. (Whew!) This would
have changed my answer to the previous questions (e.g., "shall we
destroy your body and recreate it elsewhere or shall we transport your
body physically?"), since I had been operating on the there-is-no-soul
assumption. It's completely consistent for me to change my beliefs
when I receive new information! I've been assessed unfairly!
and that was exactly my problem and exactly the reason I failed to
survive.
I had a nice time on Sunday. I went with Zack to India Garden (hmmm, I
continue to like spicy food much better than he does) and to Central
Computer, where we didn't buy any computers, but I bought a PS/2 to AT
keyboard adapter and also an AT to PS/2 keyboard adapter (although
probably what I wanted was two AT to PS/2 adapters). The adapter is
working well -- right now, I'm finally using my wonderful Model M
keyboard. Click! Click! Click!
I really like these firm keyboards, and I've found (and some people have
said) that they're more comfortable to type on. I know that I can type
faster on a Model M than on any other keyboard I've ever used;
maybe that's not a good thing. But it feels better and more natural.
I've been starting to think about wrist angles, and the angles I seem to
form with a Model M are not right but somehow not necessarily as
extremely wrong as with other keyboards.
I also met up with Anirvan at the book fair at 7th and Brannan (it would
have been at 8th and Brannan, but that half of the convention hall was
taken up with the bridal expo). He'd just come from the Alternative
Press Expo -- or APE -- where he'd picked up a huge number of comic
books.
The ABAA's major California book fair alternates between San Francisco
and
Los Angeles, so that it's like
def abaa_book_fair_location():
if year%2:
return "San Francisco"
else:
return "Los Angeles"
Currently, not year%2, so the big fair is in Los Angeles and a much
smaller fair (with about half as many dealers) is held in San Francisco
one week later. The big fair supposedly gets about 250 exhibitors and
the smaller fair about 150.
I saw some dealers I knew (or who knew my father) and got to look
through the copy of De non necandis ad epulandum
animantibus, which I mentioned in my Advogato diary when I saw
it at the fair last year. (The dealer, Hosea Baskin, who showed it to
me then was back again for this fair. He's from Northampton.)
One thing I saw in that text was a selection of typographic contractions
in Greek. So there are lots of abbreviations and combinations of
letters which are printed in certain ways in old Latin (or other Roman
alphabet) printing. For example, "et" is often abbreviated "&" --
even when it's not a word by itself -- so you could see things
like "all the l&ters of an alphab&". (But some printers seemed
to feel that "&" should stand for the word for "and" in the language
which was being printed -- so you might see "I wanna hold your h&".
Some people still do this in their own personal shorthand notations.)
There are lots of other examples; I have a handbook which gives a table
of common abbreviations in Latin. Many people have seen an "n" after a
vowel written as a line or tilde over the vowel, for instance. But I'd
never seen abbreviations like that in Greek texts. A strange and
interesting example was a (non-final) sigma inside a circle, for an
"-os" suffix.
Michael Thompson, from L.A., was back with his history and philosophy of
science and history of computation collections. These are very
impressive; he had works by Boole, de Morgan, Vannevar Bush, Claude
Shannon, and so on. (The Shannon book, The Mathematical Theory
of Computation, 1st ed., which he sold me last year, was back
again, at nearly twice the price. I do imagine that it's getting harder
to find, and not just because I bought a copy.) He also had (again)
the copy of Mind with Alan Turing's paper "Computing
Machinery and Intelligence": "I propose to consider the question 'Can
machines think?' [...]"
Another dealer had some first edition Norbert Weiner titles and some
late-1800s magic stuff which probably all cost an arm and a leg.
You can compare all this with what I
wrote about last year's San Francisco book fair.
Anirvan talked to several people about
BookFinder. All of them had
heard of it, and most of them used it!
Anirvan and I talked about how expensive rare books are. Sometimes
you can buy dozens of new books, or more, for the price of a single
rare book. Examples are easy to proliferate; I have a Simon Finch
catalogue and a Dover catalogue... (No, Simon Finch wasn't at this
fair, though he was probably at the L.A. fair.)
I talked to my father's friend David Bayer (an avid book collector)
a few years ago about why people wanted to have original copies of
things when they could easily be photocopied and digitized. He
suggested that I read Walter Benjamin's "The Work of Art in an
Age of Mechanical Reproduction", which I still haven't done.
Nick says that Graybar Electric
Company is worthwhile. I might try going there.
Michelle was talking to me about the mounting numbers of books I have
which I haven't read. I want to remedy that. And I want to read
particular things.
I made a list -- or better a pile -- of books which I want to read
urgently, or at least as soon as possible. There are eighteen of
them. Adsit omen.
It's difficult to sort these books into categories, but one way of
breaking them down is as follows: Philosophy, 6. Social sciences, 4.
Law, 1. Medicine, 1. Economics, 1. Performing arts, 1. Literature,
biography, and memoir, 4.
I might read another book for work: Electrical engineering, 1. But I
won't include that in my list of 18 for now.
Leonard's link to his song
Three Years Ahead of the Japanese made me
want to go back and check on what was happening to me around this time
other years. So where better to look than my "poems" directory, where
the filesystem preserves the date and time each piece was finished?
Unfortunately, there are some things there which I'm not allowed to talk
about (however much I might like to!). But We Can Reveal that on
Sunday's date four years ago, I was writing my California Mandated
Reporting Song.
If you want to hurt yourself or if you want to harm your kid
(if you'll harm him in the future, or if you have said you did) [...]
zork went down on Sunday with some mysterious hardware problem, and
Nick and I ended up making contact in strange ways -- I paged him,
I hailed his character in TW2002, and ultimately he managed to
e-mail me his phone number.
Anyway, it was almost midnight, but Nick didn't have an ATX power
supply. It turned out that I didn't either. But a motherboard he
had around (which turned out to have come from a slot machine!)
had both AT and ATX power connectors. After a long effort, I
managed to disconnect an AT power supply from a computer I had
sitting around here. It almost seemed that the person who built
the case had tried to make it as difficult as possible to
extricate the power supply; problems just kept arising, one after
another.
To take just one example, the AC power lines which lead from the
power supply to the switch (screwed into the front of the case)
turned out to be commingled and even topologically linked with
all of the LED connectors which ran from the case to the motherboard.
But those connectors turned out to be bundled together with zip
ties, so that just unplugging them from the motherboard still
left them connected -- topologically -- to the AC power lines. (I
think this is pretty bad wiring practice, to twist live AC wires
with low-voltage DC LED indicator leads.) So I had to cut the zip
ties, which were in a particularly inaccessible place, in order to
be able to unplug the LEDs and get their wires free and then get
those free of the switch and then unscrew the switch and remove it
and get the power supply out. Perhaps you get the idea, although
I'm not particularly good at describing mechanical problems in words.
Everyone who's even built and then un-built a PC will probably
imagine the kind of thing that was happening to me.
I ended up taking a taxi ride up to Cortland with a bag containing
a power supply, a pair of VGA cards, a screwdriver, a multimeter,
and a CD-ROM drive. I got to see Nick and Elise's new place for the
first time; it's above a video store, and very nice. (I haven't
seen Elise in quite a while, either.)
Nick worked for many hours on zork, although I left after a little
while, after I started to fall asleep over a copy of A Little Java, a Few Patterns, a book by the authors of The
Little Schemer. (It teaches an amazing amount about
object-oriented programming, and very little about Java itself. These
computer scientists are really big on abstraction and generality; they
say that The Little Schemer isn't mostly about Scheme,
either.)
Using some of those parts, Nick got zork back up on Monday morning.
Sorry if anybody wanted to read this diary or this entry earlier;
I would have posted most of this entry if zork had been up.
Two more results to tack on:
- Any universal n-input gate can produce a 2-input NAND. Proof: Since it is
universal, it can produce 1; it can also produce n-input NAND. Then
NAND(a,b,1,1,1,...)=NAND(a,b), so it can produce 2-input NAND.
- A 2-input NAND can produce any universal n-input gate. Proof: The 2-input
NAND can produce unary NOT (NOT(x)=NAND(x,x)). The 2-input NAND can also
produce 2-input AND (which we know because it's universal, but we can also
write it explicitly as AND(a,b)=NOT(NAND(a,b))=NAND(NAND(a,b), NAND(a,b))).
Now, a 2-input AND and an n-input AND can produce an (n+1)-input NAND,
because AND(x,AND(a,b,c,...))=AND(x,a,b,c,...). Therefore, 2-input AND
can produce n-input AND for any x. Therefore, 2-input NAND can produce
n-input AND for any x. But unary NOT and n-input AND produce n-input
NAND, so 2-input NAND can produce n-input NAND. We already know from
earlier that n-input NAND is universal.
This shows that "being a universal n-input gate" is exactly equivalent to
"being able to produce 2-input NAND"! If you can produce 2-input NAND,
you will be universal; if you can't, you won't.
I'm hoping to find some inductive rules along the lines of
"if you take
a universal n-input gate and [...], you will get a (non-)universal
(n+1)-input gate"
or
"if you take
a non-universal n-input gate and [...], you will get a (non-)universal
(n+1)-input gate".
If I could find enough such rules, they might be broad enough to give a
recursive decision procedure to determine whether any given gate is universal.
So one example is "if you take a universal gate and add a new input
which is ignored, you will get a universal gate".
It seems that adding a new input can always be seen as composing gates in
some way (although I haven't thought out how to write that), so there might
be some inductive rules about composing gates with one another.
I spent a while talking to a new EFF volunteer, who's going to start
next week.
In the evening, I went over to Berkeley to hear the lecture by James
Bamford. He's the author of The Puzzle Palace and
Body of Secrets. I stopped off at Soda Hall first, and
there I saw several people I knew from undergraduate life or from
CalLUG. Some of them are going to graduate!
The Bamford lecture was fascinating; Bamford told all sorts of stories
about the NSA (even in the unclassified world, that place accumulates
anecdotes like a huge anecdote magnet) and about his FOIA experiences.
The NSA twice attempted to have him prosecuted criminally for his
work in writing The Puzzle Palace, but eased off a bit
in the preparation of Body of Secrets.
Bamford astonished the audience by telling them about the
Northwoods plan
("Justification for US Military Intervention in Cuba"),
in which the Joint Chiefs of Staff contemplated making terrorist
attacks in order to frame Cuba and provide a pretext for an
invasion to topple Fidel Castro. I knew about Northwoods because
it was reported on Cryptome; most people in the audience hadn't
heard the story, and gasped as Bamford quoted some of the
possibilities the government had been contemplating. (This was
an example he gave for the importance of FOIA and of independent
investigative journalists. He encouraged public policy students
to consider becoming journalists themselves.)
I spotted John Gilmore at the lecture, and tried to catch up with
him; I ended up falling in with a whole cypherpunk krewe which
had turned out to catch the event, and we ate dinner together at
a Thai restaurant on Northside. I met
Prof. David Wagner
in person for the first time.
I had heard of or seen most of the people who were present at
dinner, but I still had a hard time putting names to faces. The
company was extraordinarily geeky, smart, and accomplished.
I talked about GNU Radio with some of the people involved, and
discussed the influence that the project might or might not have
on the BPDG.
Dave Del Torto, on the dietary habits of people at the dinner table:
"We have an echelon of carnivores over here."
James Bamford, on the difficulties of researching the NSA:
"I couldn't get a lot of senior officials to talk to me.
In many cases, the problem was that they were dead.
... So, I found a way around that."
"Nobody's suing people who actually infringe
copyrights anymore. Everyone is suing people
who make devices," Lemley said. "The [studios]
are going after the creation of new
technology."
(Mark Lemley, in the
L.A.
Times)
Andrea saw me on TV -- the Bamford lecture was covered by local TV
news, and they had shots of the audience.
I had a nice time at BayFF and saw many old friends and
unindicted co-conspirators. (I haven't been indicted either,
so that's nice.)
There were lots of Linux people there, and people from other
connections. The audience asked nice questions and the EFF
lawyers gave good answers.
I didn't get to give my "In 1995, I read a virus" commentary
on the expressive content of code. I'm hoping that, if I tell
enough lawyers about it, the phrase "In 1995, I read a virus"
may make it into some law review article.
I met Eric Blossom of GNU Radio fame, and went to dinner for
the second night in a row with a bunch of freedom-loving geeks
in Berkeley, although it was a completely different crowd with
no overlap at all. The people who went to Bamford's talk were
just not the same people who went to EFF's talk, which doesn't
quite make sense to me.
"Will you read me a story?"
"Read you a story? What fun would that be? I've
got a better idea: let's tell a story together."
(Photopia)
I saw Nathaniel at BayFF, and he told me about the paper
"Language Trees and
Zipping", by Dario Benedetto, Emanuele Caglioti, Vittorio Loreto.
I wrote about this a few days ago, and it turns out that I got it
wrong. I thought it was just about compression ratios; it's actually
about something much more subtle. So I'll have to try to experiment
with that a little more.
Given a universal n-input gate, adding an ignored input yields
a universal (n+1)-input gate. That is, if U(a,b,c,...) is universal,
then U_new(a,b,c,...,N)=U(a,b,c,...) is also universal.
So, I've been studying what happens if you compose a new 2-input
gate with a universal gate (not vice versa, yet). I found some
straightforward results. Let U(a,b,c,...) be a universal n-input
gate from which we will produce a new (n+1)-input gate which takes
the inputs a,b,c,... and the new input N by using some 2-input
gate with inputs U(a,b,c,...) and N. Then
- U XOR N can be used to produce U XOR U, which is 0; then
with N=0, U XOR 0=U, which is universal.
- U XNOR N can be used to produce U XNOR U, which is 1; then
with N=1, U XNOR 1=U, which is universal.
- U OR N can be used to produce U OR U, which U, which is
universal.
- U AND N can be used to produce U AND U, which is U, which
is universal.
- U AND NOT N produces U AND NOT U, which is 0, and so U AND NOT 0,
which is U.
- However, (NOT U) AND N is not necessarily universal. For example,
let U be an n-input NAND. Then (NOT U) AND N is (NOT NAND(a,b,c,...))
AND N, which is AND(a,b,c,...,N), which is not universal.
- U OR NOT N produces U OR NOT U, which is 1, and so U OR NOT 1,
which is U.
- However, (NOT U) OR N is not necessarily universal; for example,
let U be NOR; then (NOT U) OR N is (NOT NOR(a,b,c,...)) OR N, which
is OR(a,b,c,...,N), which is not universal.
- U XOR NOT N gives U XOR NOT U, which is 1, and then U XOR NOT 1,
which is U.
- (NOT U) XOR N gives (NOT U) XOR U, which is 1, and then (NOT U)
XOR 1, which is U.
- U XNOR NOT N gives U XNOR NOT U, which is 0, and then U XNOR NOT 0,
which is U.
- (NOT U) XNOR N gives (NOT U) XNOR U, which is 0, and then (NOT U)
XNOR 0, which is U.
There are probably only sixteen ways to combine U and N this way,
although some of those I've given are actually trivially
equivalent, like (NOT U) XOR N and U XOR NOT N, which I examined
as separate cases but which always yield exactly the same value.
The problem is that there are sixteen ways to combine U and N
by composing 2-input gates with U. (Perhaps there are more and
I've miscounted.) But there are many other possibilities for
what a new input could "do" to a universal gate, aside from just
being an input to a gate composed with it. I don't have a
convenient notation for many of these.
PRO-ANOREXIA SITES RAISE CONCERNS
A growing number of sites devoted to promoting anorexia is
raising concern among health officials. Groups have begun
to take their concerns to ISPs and content providers with
sites such as Yahoo! removing such content citing them as
harmful or threatening.
<http://www.latimes.com/technology/la-000010755feb12.story>
One of the amazing things about free speech and maybe about the
large world of the Internet is that it sometimes seems to be
only a matter of time before a seemingly universal consensus is
broken by somebody who advocates what had seemed like a
problem to everyone else. (Compare
Artists for
Earthquakes, the Bay Area's leading seismicity advocacy
group. SF
Weekly coverage,
Pigdog
Journal coverage. Fortunately, Artists for Earthquakes is a joke.
The pro-ana sites
aren't, as far as I can tell. Somehow I am reminded of the disclaimer
I saw in one edition of Scot's Discoverie of Witchcraft
where Scot talks about how to kill birds and bring them to life again.
One editor felt compelled to tell people that Scot's method wasn't
reliable and, in any case, was cruel to animals. This is true; the
editor seemed to feel that such was the power of Scot's narrative
that it might actually seduce some would-be present-day charlatans
into attempting to kill and revive birds using King James-era
magicians' methods. Or again when people describe pyrotechnics
recipes and some of them are reprinted -- we are always tempted to
say "Do not try this at home; anorexia may be hazardous to your
health (and is cruel to animals)".)
(Sumana wants to create abiding works.
Don't you?)
There is a high school ritual of writing essays about the
unintended truth of the poem "Exegi monumentum aere perennius".
Everyone gets to make the observation that Horace spoke truer
than he knew, because even the things he held up as metaphors
for permanence ("cum tacita virgine pontifex") did not last as
long as his own poetry. It's not a very original observation,
since it seems to appear in every discussion of
"Exegi monumentum aere perennius". So a different lesson from
this poem -- outside the "Horace did achieve what he
claimed to have achieved" -- might be the difficulty in getting
a sense of eternity.
Stewart Brand talks a lot about this in The Clock of the
Long Now (I've just ordered Time and Bits,
which will be very interesting). We tend to think of long time
spans in terms of the accumulated small changes in things we know,
but it seems that those things may not even exist in a few hundred
years. (We expect to be able to watch the progress of state changes
on an object to which we hold a reference, only to find that the
object has passed out of scope and been garbage collected. Insert
"scrap heap of history" joke here.) I was told yesterday by a Russian
I encountered in Soda Hall that it was funny that we spend so much
time studying U.S. history, because "U.S. history is so short!
My city is older
than your country".
Rome was already getting up toward Moscow's present age when
Horace wrote, yet Rome fell, too, and the current "city of Rome"
has very little cultural, civilizational, political continuity
with the ancient Rome.
NOUVEAU venu, qui cherches Rome en Rome
Et rien de Rome en Rome n'aperçois,
Ces vieux palais, ces vieux arcs que tu vois,
Et ces vieux murs, c'est ce que Rome on nomme.
Vois quel orgueil, quelle ruine: et comme
Celle qui mit le monde sous ses lois,
Pour dompter tout, se dompta quelquefois,
Et devint proie au temps, qui tout consomme.
Rome de Rome est le seul monument,
Et Rome Rome a vaincu seulement.
Le Tibre seul, qui vers la mer s'enfuit,
Reste de Rome. O mondaine inconstance!
Ce qui est ferme, est par le temps détruit,
Et ce qui fuit, au temps fait résistance.
THOU STRANGER, which for Rome in Rome here seekest,
And nought of Rome in Rome perceiu'st at all,
These same olde walls, olde arches, which thou seest,
Olde Palaces, is that which Rome men call.
Behold what wreake, what ruine, and what wast,
And how that she, which with her mightie powre
Tam'd all the world, hath tam'd herselfe at last,
The pray of time, which all things doth deuowre.
Rome now of Rome is th' onely funerall,
And onely Rome of Rome hath victorie;
Ne ought saue Tyber hastning to his fall
Remaines of all: O worlds inconstancie.
That which is firme doth flit and fall away,
And that is flitting, doth abide and stay.
(Bellay/Spenser; the translation is remarkably literal!)
Don Marti gave me some "Open / DRM-free technology" stickers.
They are great! EFF will be passing some out at the RSA conference.
I'll try to bring a few to CodeCon.
I'm trying to confirm a certain claim about the North Korean government.
That government hasn't been much help, but I found its
official news agency (with a
web site located in Japan, because there's apparently no Internet
service to North Korea). Take a look at
a few days'
headlines; they are fascinating reading.
In 1998, the poem "Mardi Gras (Shoulders of Giants; A Summoning)",
when for Carnaval I went up onto a mountain to talk to my dead.
Did you ever invoke your dead and pour them a libation? When you
were a rationalist and a materialist?
In 2000 -- give or take a few days -- the Chinese New Year
celebration and the parade and the endless dragon, and the people
who are all going somewhere and who all have purpose in life,
and all have context in their lives. I ask her to climb up on
my shoulders to see better, and she refuses. Did she not believe
that all of her horizons in every direction would have given way?
I am about to invite her for Valentine's Day, am making plans.
In 2001, I hear Professor Lessig, and I correspond with Jim
Tyre. I have already decided to move to Shotwell Street and have
been trying to pack.
The
January CPTWG antitrust benediction by Bob Schwartz
("Fifty Ways to Set a Standard", to the tune of "Fifty Ways to
Leave Your Lover") is now on-line.
But to actually build technology that enforces a degree of control
over content without creating some horrid security framework turns out
to be despicably difficult.
(Martin Lambert, SealedMedia)
I went to CodeCon with Biella!
Brad Templeton made
jokes!
My mom and my sister are visiting!
Zack (of
the East) wrote a document discussing my discussion of a problem
earlier posed by Sumana.
A lot of people came to my "Meet my mom and my sister" party on Saturday night. We had a very substantial turnout.
Biella came and cooked sancocho. I cooked a stir-fry and (what was new) a miso
udon soup. It was very successful -- my sister agrees. There was a huge amount of food at the party, including several cakes, several soups,
dolmas, samosas, and so on.
Thanks to everyone who attended. I'm glad so many people were able to meet my family, and vice versa. I'm told that you were a big hit with them.
Nathaniel helped with the following conclusions:
- If U is a universal gate, then U(0,0,0,...)=1 and
U(1,1,1,...)=0.
- If U is a universal gate, then NOT(U) is not a universal
gate.
- Contrary to what I said earlier, NAND and NOR are the
only universal gates with two inputs. (Only four
gates satisfy the first rule above, and these are NAND, NOR,
and the two gates which are equivalent to unary NOT. Unary
NOT is not universal.)
We have conjectured that m-input NAND and m-input NOR (for each
m such that 2<=m<=n) are the only universal gates
with n inputs (assuming that the other n-m inputs are simply
ignored where m<n).
Nathaniel and I also talked about the Hofstadter problem of
how to write "x is a power of 10" using Hofstadter's "TNT"
system. We didn't solve it, although we did stay up late.
I know that solutions are available on the net, but I want to
try to work it out by myself.
A huge touring expedition with my mom and my sister, first stopping
by our cousins' house for brunch, and then going out to Russian
Hill and seeing my mom's old apartments, from when she lived in
San Francisco in the 1970s. We walked to the
San Francisco Art Institute,
where she used to work, and took in some of the views there; then
we walked down to the Cannery and took a cable car (an amazing
amount of fun at night!) back to Market Street. We had dinner at
Taqueria Cancun.
My arms have become pretty sore again.
Si Pergama dextra defendi potuit, etiam hac defensa fuisset.
(Aeneid II, 291-2)
The Supreme Court granted certiorari in Eldred v. Reno!
Free Mickey!
(we should organize "prior art parties" to brainstorm ideas to prevent
patents)
(Phil Agre, on RRE)
(@Sigma) so if you deploy fighters in MSL,
(@Sigma) they eventually get garbage collected
On Cryptome today:
While substantial domestic and international laws exist, proposals
abound to improve the working of our intellectual property system both
at home and abroad. At home, we can dedicate more funding to the fight
against intellectual property theft, and better coordinate among
federal agencies involved in the effort, as well as between federal
and state authorities. Moreover, we can do a better job of making it
clear to all Americans that the theft of intellectual property is a
crime, and that it hurts us all. Abroad, we can bring pressure to bear
on countries that are recalcitrant in efforts to rein in piracy and
counterfeiting; we can encourage the development of intellectual
property laws and enforcement through targeted foreign aid for
training and equipment; and we can prevail on all countries (including
our own) to eliminate the use of illicit intellectual property within
their own governments. Billions of dollars are being stolen, hundreds
of thousands of jobs lost. It is worth the effort to do all we can to
stem the tide.
(Senator Joseph Biden,
Theft of American
Intellectual Property: Fighting Crime Aborad and at Home)
I can't read the PDF from here to know what other things Biden
says in order to shift our language and culture in this direction.
Nathaniel completely solved the problem. I'm still trying to
understand his solution, and, when I do, I'll explain it here.
My mom and my sister continued their visit, and my mom's friend
Alex took us all over the city on a great tour -- Bernal Hill,
South of Market, the Embarcadero, the Marina, and over the Golden
Gate Bridge and out to Muir Woods. It was fabulous.
After an hour's walk or more in Muir Woods, under a cloudy sky, we
went to The Stinking Rose for dinner. I love garlic.
At City Lights, during our little tour of North Beach, I got
three books, on war crimes, the philosophy of mathematics, and the
control of nature. (Conveniently enough, the books are
titled Crimes of War, Introduction to
Mathematical Philosophy, and The Control of Nature.
This should leave fairly little doubt as to what each is about.)
I never really get out into the City or into the Bay Area unless
people come to visit. My mom and Rebecca are only going to be
here through Friday, but we should get to do a bit more
last-minute touring.
On the second day of CodeCon, the guard at the door of the DNA
Lounge asked me for ID, and of course (I say of course)
I didn't have any. As I've told a few people now, to their
surprise and apparent incredulity, I don't smoke, drink, or drive.
So I don't carry any government ID with me, at all, ever, unless
I am going to an airport (when I use a passport). When I work places
which issue employee ID, I'll carry that to be able to identify myself
at work. I think not carrying ID is usually a feature, not a bug,
from a privacy point of view.
I have large-scale and small-scale comments about the ID request.
The large-scale comments are about liquor laws, liability, drinking,
cultural norms, identification, and government monitoring and
surveillance. I'll skip over those for now.
The small-scale comments are that CodeCon was a conference, not a
party; furthermore, it was a conference about privacy and
anonymity, and there's some profound irony in having to show
government ID in order to attend an anonymity conference. Inside,
programmers were talking about virtual circuits, encrypted links,
and store-and-forward protocols; some of the programmers were using
pseudonyms. Outside, people were being carded.
It's unfortunate to think that people without ID, or people under
21, might have been turned away from CodeCon. Considering the
theme and focus of the event, I can't imagine any reason why either
of these groups should have been unwelcome. (I remember an earlier
incident at LinuxWorld
when a 13-year-old
programmer was turned away and
I was unhappy about that. But
CodeCon prided itself on being more inclusive and community-oriented
than large corporate-sponsored shows like
RSA -- so much so that
CodeCon actually used HTML to display the content on its home page,
where the RSA Conference used Flash.
I've attended dozens of trade shows, academic conferences, and
industry conventions, and never until CodeCon was I asked to show
government ID at any of them.
A song.
On the second day of CodeCon,
the guard asked for ID,
to prove my age as
twenty-one or older,
how could CodeCon insist on ID?
Praveen told me the following three jokes last week. (I'd heard the
first one before, but not the other two, I think.)
Of course, jokes are always funnier when read out loud with proper
timing and other showmanship, but you can take these and read them
to somebody else to make up for that.
- Q. What do you get if you cross an elephant with a grape?
- A. |elephant| |grape| sin(theta)
OK, so
- Q. What do you get if you cross a mountain climber with a grape?
- A. You can't cross a mountain climber with a grape, because a
mountain climber is a scaler.
Finally,
- Q. What's the line integral around Rush Limbaugh?
- A. 0, because Rush Limbaugh is conservative.
My mom and my sister and I visited Michelle and Sumana, and I ended
up staying late at Sumana's place and talking about a number of
things, not least Sumana's logic homework. I copied down the
famous "problem 8" and then solved it on BART. Since Sumana didn't
want any spoilers, my solution is in ROT-13.
Qrsvavgvbaf. Vs n Obbyrna shapgvba cuv(c,d,e) unf gur cebcregl
gung cuv(c,d,e)=cuv(d,e,c)=cuv(e,c,d), gur shapgvba vf pnyyrq
plpyvp. Vs gur beqre bs gur guerr vachgf vf ragveryl
veeryrinag (n fgebatre pbaqvgvba), gur shapgvba vf pnyyrq
pbzzhgngvir.
(n) Ubj pna jr gryy jurgure n shapgvba vf plpyvp ol ybbxvat ng yvarf
gjb guebhtu frira bs vgf gehgu gnoyr?
Gur gehgu gnoyr ybbxf yvxr
c d e
1. 0 0 0
2. 0 0 1
3. 0 1 0
4. 0 1 1
5. 1 0 0
6. 1 0 1
7. 1 1 0
8. 1 1 1
naq jr abgr sebz gur qrsvavgvba bs n plpyvp shapgvba gung yvarf
gjb, guerr, naq svir nyy arprffnevyl unir rdhvinyrag inyhrf, naq
yvarf sbhe, fvk, naq frira nyy arprffnevyl unir rdhvinyrag inyhrf.
Guhf, gur grfg vf fvzcyl gb frr jurgure yvarf gjb, guerr, naq
svir unir gur fnzr inyhr sbe cuv, naq jurgure yvarf sbhe, fvk, naq
frira nyfb unir gur fnzr inyhr sbe cuv.
(o) Ubj znal qvssrerag plpyvp shapgvbaf cuv rkvfg?
Yvar bar bs gur gehgu gnoyr znl unir nal inyhr (rvgure mreb be bar).
Yvarf gjb, guerr, naq svir zhfg or rdhny, ohg pbhyq unir rvgure gur
inyhr mreb be gur inyhr bar. Yvarf sbhe, fvk, naq frira zhfg or
rdhny, ohg pbhyq unir rvgure gur inyhr mreb be gur inyhr bar.
Yvar rvtug znl unir nal inyhr (rvgure mreb be bar). Rnpu bs gurfr
sbhe cbffvovyvgvrf vf vaqrcraqrag bs nyy gur bguref. Gurersber,
gurer ner gjb gb gur sbhegu cbjre gbgny cbffvovyvgvrf, be fvkgrra
qvssrerag fhpu shapgvbaf.
(p) Vf vg cbffvoyr gung n shapgvba vf plpyvp, lrg abg pbzzhgngvir?
Gurer ner fvk cbffvoyr crezhgngvbaf bs gur vachgf gb cuv (fvapr
gurer ner guerr vachgf, naq guerr snpgbevny vf guerr gvzrf gjb
gvzrf bar, be fvk), naq jr pna nffvta n qvssrerag inevnoyr gb gur
inyhr pbzchgrq ol cuv va
rnpu pnfr. Guhf, yrg
n=cuv(c,d,e)
o=cuv(d,e,c)
p=cuv(e,c,d)
naq ntnva
q=cuv(d,c,e)
r=cuv(c,e,d)
s=cuv(e,d,c)
Hfvat gur qrsvavgvba bs n plpyvp shapgvba, jr xabj gung n=o=p,
naq nyfb gung q=r=s. Bayl bar nqqvgvbany vafvtug vf arprffnel:
gung, fvapr c, d, naq e rnpu unir inyhrf pubfra sebz gur frg
(0, 1), vg vf abg cbffvoyr gung abg(c=d be d=e be c=e) -- ng
yrnfg bar cnve bs inyhrf zhfg or rdhny gb bar nabgure.
(Vs guvf jrer abg fb, gurer jbhyq or guerr qvfgvapg inyhrf, pubfra
sebz n cbby bs gjb cbffvovyvgvrf!) Gung zrnaf gung
(c=d be d=e be c=e).
Abj, vs c=d, gura n=q, fvapr gura cuv(c,d,e)=cuv(d,c,e). Fvzvyneyl,
vs d=e, gura o=s, fvapr gura cuv(d,e,c)=cuv(e,d,c). Naq vs c=e,
gura p=r, fvapr cuv(e,c,d)=cuv(c,e,d).
Fvapr (c=d be d=e be c=e), vg'f arprffnel gung (n=q be o=r be p=s).
Ohg guvf zrnaf, fvapr n=o=p naq q=r=s, gung vg'f arprffnel gung
n=o=p=q=r=s. Gurersber, gur shapgvba juvpu jr vavgvnyyl nffhzrq
jnf plpyvp zhfg nyfb or pbzzhgngvir.
Gur sbyybj-ba dhrfgvba: qbrf guvf erfhyg punatr vs gurer ner guerr
gehgu inyhrf vafgrnq bs gjb?
Vg pna. Pbafvqre gur shapgvba beqre(c,d,e); pnyy gur guerr cbffvoyr
vachg inyhrf 1, 2, naq 3, naq gur guerr cbffvoyr bhgchg inyhrf
"nfpraqvat", "qrfpraqvat", naq "ercrgvgvir". (Jr pna fnl gung
nfpraqvat=1, qrfpraqvat=2, naq ercrgvgvir=3, vs lbh yvxr. "nfpraqvat",
"qrfpraqvat", naq "ercrgvgvir" ner whfg zrnag gb vzcebir uhzna
ernqnovyvgl.)
Abj,
beqre(1,2,3)=nfpraqvat,
beqre(2,3,1)=nfpraqvat,
beqre(3,1,2)=nfpraqvat,
beqre(3,2,1)=qrfpraqvat,
beqre(1,3,2)=qrfpraqvat,
beqre(2,1,3)=qrfpraqvat,
beqre(nalguvat ryfr)=ercrgvgvir
r.t. beqre(1,1,1)=ercrgvgvir (orpnhfr fbzrguvat vf ercrngrq)
r.t. beqre(3,2,2)=ercrgvgvir (orpnhfr fbzrguvat vf ercrngrq)
r.t. beqre(1,2,1)=ercrgvgvir (orpnhfr fbzrguvat vf ercrngrq)
Fb "nfpraqvat" zrnaf "gur vachgf, ernq yrsg gb evtug va n
plpyr, pbagnva gur frdhrapr 1,2,3". "qrfpraqvat" zrnaf
"gur vachgf, ernq yrsg gb evtug va n plpyr, pbagnva gur
frdhrapr 3,2,1". Naq "ercrgvgvir" zrnaf "gur vachgf qb
abg pbagnva rvgure gur frdhrapr 1,2,3 be gur frdhrapr 3,2,1,
orpnhfr ng yrnfg bar bs gur vachg inyhrf vf ercrngrq".
Vg fubhyq or pyrne gung guvf shapgvba vf plpyvp, orpnhfr n
plpyvp crezhgngvba bs gur vachgf bs na nfpraqvat beqre vf
fgvyy nfpraqvat. N plpyvp crezhgngvba bs gur vachgf bs n
qrfpraqvat beqre vf fgvyy qrfpraqvat. Naq, pyrneyl, ab znggre
ubj lbh punatr gur beqre bs n ercrgvgvir vachg, vg jvyy fgvyy
or ercrgvgvir.
Ubjrire, guvf shapgvba vf
abg
pbzzhgngvir, orpnhfr beqre(1,2,3)=nfpraqvat naq lrg
beqre(3,2,1)=qrfpraqvat. Fb jura guerr qvfgvapg gehgu
inyhrf ner cbffvoyr, fbzr plpyvp shapgvbaf ner ab
ybatre pbzzhgngvir. (Ba gur bgure unaq, fbzr plpyvp
shapgvbaf ner fgvyy pbzzhgngvir. N fvzcyr rknzcyr jbhyq
or gur shapgvba cuv(c,d,e)=1, juvpu vf pyrneyl plpyvp naq
pbzzhgngvir.)
Ol jnl bs sbeznyvmvat jung gur beqre shapgvba qbrf, nygubhtu
EBG-13 qbrfa'g ernyyl bofpher gur npgvba bs guvf Clguba pbqr
fb jryy,
qrs beqre(c,d,e):
vs c<d naq d<e:
erghea "nfpraqvat"
vs d<e naq e<c:
erghea "nfpraqvat"
vs e<c naq c<d:
erghea "nfpraqvat"
vs c>d naq d>e:
erghea "qrfpraqvat"
vs d>e naq e>c:
erghea "qrfpraqvat"
vs e>c naq c>d:
erghea "qrfpraqvat"
erghea "ercrgvgvir"
Gung shapgvba vf n guerr-inyhrq shapgvba juvpu vf plpyvp ohg
abg pbzzhgngvir.
Watch
this space!
The Supreme Court docket number for the Eldred appeal
is the golden ratio, phi. Adsit omen.
I read
Biden's "Theft of
American Intellectual Property" report. It reads like a BSA
and RIAA report. Perhaps that's because it quotes so many statistics
and claims from BSA and RIAA reports. (The EFF is mentioned by name;
the report claims that we might appeal the Felten case, which isn't
true any more. There's also some bragging about the courts' rejections
of free-expression arguments against the DMCA. How often do we get
to see publishers gleeful that a court was unpersuaded by a first
amendment argument? See generally
the EFF amicus brief in American Amusement
v. Kendrick, which has no page numbers in the HTML version;
start at "The district court's reticent application of First Amendment
principles to this new medium echoes the incremental and inconsistent
way in which courts historically treated new communications
technologies" and keep going from there.)
Are statistics inherently convincing? Do we need reports on
"people who died because they couldn't afford patented AIDS
medicines", "people who couldn't afford college because copyrighted
revised-edition textbooks were too expensive", "years of jail time
faced by programmers for writing useful software banned under DMCA",
"millions of dollars spent fending off copyright industries in
order to bring you the VCR, photocopier, and portable digital music
players"?
Biden's report is upsetting to me, because it's practically pure
ideology and propaganda, in sharp contrast with my own ideology
and propaganda. Its choice of words goes out of its way to include
language which I go out of my way not to use. (Nathaniel,
take note!) "Theft, stolen, steal, wrong, hurt, thief, pirate,
own, take, owner, property, thieves, protect, property." No.
"Control, monopoly, power, restrict, deny, prevent, censor,
government, monopoly, limit, artificial, balance, legislation,
technology."
If "language shapes the way we think, and determines what we can think
about", Biden's report may be particularly disturbing to me because
the Senator doesn't speak my English very well.
It is worth reading that report, and refuting it, if you can find a PDF
viewer somewhere. But how could we begin to explain to Biden himself
what's wrong with it? "Senator, linguam Latinam discere debes, ut me
intellegas!"
The foghorns are blowing this evening. I like them a lot. Or is
it possible that we can't hear them in the Mission and I'm hearing
something else instead?
Nathaniel proposes a different version of the joke:
- Q. What do you get if you cross a mountain climber with a tse-tse
fly?
- A. You can't cross a scaler with a vector!
Yesterday I wrote that
I've attended dozens of trade shows, academic conferences, and
industry conventions, and never until CodeCon was I asked to show
government ID at any of them.
The RSA Conference made two in a row; they are now going with
show-issued photo ID, and you are supposed to show government ID in
order to get it. Yuck. Here are some other observations from
the conference:
Cool things: EFF decoder rings. Light-up yo-yos. (Websense had
them in blue, Wiley had them in red. I like Wiley's better, because
they say "Wiley" instead of "Websense" on them.) Digital signatures
and various timestamping and other technologies to improve their
trustworthiness. An Enigma machine (presented by the National
Cryptologic Museum). An official NSA code wheel.
Best of show: Datacard Group's
demo of attacks on smartcards using differential power analysis,
differential fault analysis, and other techniques. They had a live
demonstration of the ability to extract key information from
tamper-resistent smartcards by observing things such as exactly
how much power the card consumed at each moment. Smartcards actually
use different amounts of power depending on the particular
calculations they're performing, and this profile can be used to
obtain precise information about what's going on inside a card, to
the point of extracting some of its secrets. It was amazing to see
the power consumption monitored on an oscilloscope; the engineer
from Datacard Group pointed out the individual parts of the DES
algorithm and the precise moment that the card began each
calculation.
Famous people: Kevin Mitnick,
John Draper,
Phil Zimmermann. I gave them all decoder rings. Bruce Schneier
was signing books, but wandered off. Alex Katalov dropped by, and
I must be sure to give him some things to take to Russia.
Unusual: A
Weil Gotshal
attorney dropped by to talk for quite a while about copyright
and the DMCA. Weil is a law firm famous for representing copyright
holders (they would probably say "copyright owners") and has
been opposing counsel in recent court cases. The attorney who
visited the booth was very nice, and was the first person with
whom I've ever had a face-to-face conversation who strongly
supported the DMCA. I gave him a "Coding Is Not A Crime"
sticker.
Cute, yet disturbing: Sony has produced a fingerprint reader which
looks really cute as it reads your fingerprint.
Censors: WebSense (in the booth
right next to us),
SurfControl, and at least
three other censorware vendors (mainly targeting businesses) were
exhibiting at the show. Most firewall vendors seemed to advertise
their firewalls' ability to perform censorship functions.
Cool: there were various new fast hardware crypto products which
theoretically could let you add encryption to all sorts of networks
or devices without degrading their performance at all. Huge
performance numbers were mentioned and not substantiated.
Dumb: fast, transparent hard drive encryption in hardware with
removable hardware tokens. OK, cipher algorithm? 56-bit DES.
Annoying: Internet access kiosks forced all access to go through a web
proxy, so no SSH. I spent about half an hour trying to get SSH to
work before I satisfied myself that the proxy would never allow it
at all (and I didn't have httptunnel software running anywhere at
the other end; maybe I should remember to do something like that
before I go to a conference in the future).
Sad: The computer security world contains all sorts of people --
like censors -- and is genuinely diverse in an ambiguous kind of
way, so that one couldn't say something like "I like the security
community" or "I dislike the security community". It might be
that they, as the Eastern District of Pennsylvania said of the
Internet in 929 F. Supp. 824, 842 (E.D. Pa. 1996), are "as
diverse as human thought".
Speaking of code wheels and ROT-13, I have a theory that anything can
look like a funny joke in ROT-13, if punctuated properly.
Ubj havsbezyl qvfgevohgrq vf gur zngrevny bs gur
npghny havirefr?
Jr unir abgrq gung fgnef ner pbyyrpgrq gbtrgure va tnynkvrf!
(Craebfr, Gur Rzcrebe'f Arj Zvaq, ng 328.)
This one is even better:
Naq jnf Wrehfnyrz ohvyqrq urer nzbat gubfr qnex Fngnavp zvyyf?
Oevat zr zl obj bs oheavat tbyq! Oevat zr zl neebjf bs qrfver!
(Jvyyvnz Oynxr)
Cryptome has a report
from Bill Stewart (who recommended that I see the Datacard Group's
demo) about the Datacard Group's demo at RSA. (Bill also says
that "Dallas Semiconductor just recently merged with Maxim
Semiconductor", which is interesting to me -- I'm pretty familiar
with each company's products.)
I'm having a nice time teaching Python classes, but nobody is doing
homework, or writing programs in everyday life, and you can't really
learn languages without using them.
I learned to use ipchains and iptables on Thursday, but I can't say why.
Michelle should be congratulated!
I went to Berkeley to try to go on a 5 km walk with Michelle to
support the
Berkeley Free Clinic,
but we ended up going on a different 5 km walk instead.
In the Berkeley Bowl, I had a panic attack for the first time in
almost four years.
The
GameSpot
feature on Abandonware is well-done and raises great questions about
copyright.
Video games are more likely than other creative works, like books,
music, or movies, to go out-of-print, I would guess. Publishers
have a stronger sense that games go obsolete, and certainly the sales
of a game decline substantially within just a few years.
One of the results of this is that it can be difficult to obtain games
from only a few years ago. Another is that it can become
impossible to find certain games from a relatively long time
ago (which could mean "ten years" in video game history). Since
digital copying is pretty cheap, and most games continue to have
some devoted fans, copyright must have something to do with the
scarcity of many out-of-print works. And here much of the
disappointment is that this scarcity is artificial.
The publishers quoted in the article are completely correct that
copyright doesn't lapse when works go out of print. I've suggested
before that maybe it should, or at least maybe there should be a
compulsory license for out-of-print works, so that you could
legally reproduce an out-of-print work without asking permission,
provided that you paid a fixed statutory royalty to the copyright
holder for each copy you made. (Some copying is already fair use
and already does not require permission or a royalty; this should
be repeated frequently, to counter blatant lies like the
legend I saw on some VHS tapes recently: "Any unauthorized use or
duplication is a violation of copyright.")
So I'm talking in particular about cases in which you would be
forbidden by copyright law to make a copy. Under a compulsory
license scheme, you could make that copy and then pay a certain
number of dollars to the copyright holder, and not be committing
copyright infringement.
I mentioned this on a mailing list and got a reply arguing that
copyright should not lapse when works go out of print,
for various reasons, including the likelihood (at least with
books -- it's not as common with video game software) that works
will be reprinted (yielding new royalty payments) or that derivative
works such as movies will be made (also yielding new royalty
payments).
The reply argued that
if an old book has gone out of print and gets a movie
made from it, the author may make more money from book sales associated
with a reprint for the movie than she did from the first run of sales.
Thus authors would be justifiably upset at any rule cancelling their
copyright after a work goes out of print.
It went on to propose (as I understood it) that copyrights should have
to be renewed periodically, which was true in the old days. This
has the effect of providing a clearer indication of when copyrights
expire, as well as who, if anyone, is actually interested in
continuing to enforce the copyright. (Today, completely forgotten
copyrights are still valid, in principle.)
I continue to be bothered by the idea of things going out of print
on account of copyright; maybe I'm spoiled by the low cost of
digital copying.
My sore throat, which has been hanging around in some form for a
week or so, turned into a weird cold or something this morning.
I finished Aronson's The Social Animal, the first of
eighteen books on my reading list.
There's a new
World's Longest Palindrome (but it makes even less sense than the old record).
It would be an interesting programming or CS assignment to beat some
such record. I can imagine Knuth writing a problem like that: "Set a
world record for..."
Litigation is expensive.
I don't feel sick any more, which is very nice.
Zack
Weinberg sent me a programming problem which I think I
solved correctly. I have a feeling that this problem has
been solved before, but I've never seen anyone else's solution.
I'm waiting to see if he agrees with my approach.
Ricochet
service is coming back, but I don't know where my modem
went.
I have this mental list of "what's wrong with the movies", which
started when I went to picket the Metreon and then began growing
later that evening when I wrote a poem called "The Other Trouble
With the Movies". I think my official count is up to four things,
but (via Boing Boing)
Thomas Greene,
in response to Valenti's op-ed,
articulates his own problem with the movies:
"Only two in ten films ever retrieve their production and marketing
investment from domestic theatrical exhibition," Valenti whines.
Well of course; but that's because they're ridiculously expensive
cartoons that no one over the age of fifteen really wants to watch.
But the obvious solution isn't hijacking people's computers and
turning them into set-top boxes, but rather making cheaper movies that
adults actually care to attend.
There's a moment in The Wizard of Oz
when Dorothy picks an apple off a tree and the tree
protests, "Hey there! How'd you like it if someone
came and tried picking things off you?" Abashed, Dorothy replies,
"I ... don't know. I suppose I didn't think of that." A churlish
response, one Dorothy doesn't give, might be "Why should
I think of that? After all, I'm a person and you're just a tree.
I'm supposed to pick things off of you." But it is the entire
point of the scene to call into question a difference so casually
assumed.
(Fish, The Trouble With Principle)
Lunch with Cory, dinner with Praveen, arm injuries (less severe
by far than Fred's, though chronic rather than acute), funny
thoughts and feelings, strange tidings. This is a week of
great power and portent. Everything is moving and at risk.
There is a bright and big halo around the full Moon tonight.
"Contract and release, contract and release; was human life or
human action ever any other than this?"
(Dehnen
und entspannen.)
... namque omnem cursum mihi prospera dixit
religio, et cuncti suaserunt numime divi ...
(III, 362-3)
I read the funniest thing ever yesterday, and it's under privilege.
Funny lawyers, file your jokes in open court! Don't put
them in privileged correspondence which only a handful of people will
ever see.
You try to type "Harlan Tarbell" and end up typing "Harlan Tarball".
I got up at 4:00 to go to
CPTWG in Los Angeles with
Fred and Cory and Eric Blossom. I got back home at about
19:00, or about 15 hours later.
I think I'll have to write more about CPTWG later on.
So, a bunch of technology industry CEOs
sent a letter to a bunch of Hollywood CEOs to urge
"co-operation" between their industries instead of the SSSCA. I
got really upset when I read that (much as I oppose the SSSCA) and
wrote the following two criticisms:
I was at the Copy Protection Technical Working Group today along with
two other people from the EFF staff. Although we strongly oppose the
SSSCA, like its predecessor the DMCA, we're not exactly pleased with
much of what comes out of CPTWG. The major corporations involved have
set up a false dichotomy between "government mandated copy controls"
and "voluntarily agreed-upon copy controls".
IT and CE companies, under lots of pressure, present the alternatives
as "we negotiate a compromise with copyright industries (via CPTWG,
etc.)" or "Congress regulates us". The largest technology companies
in the world are saying that it's going to be one or the other.
My colleague Fred von Lohmann presented another alternative: technology
companies build products that consumers want and that don't assume that
consumers are criminals. They can insist that they, not copyright
holders, will design their products.
The fact that none of the large technology companies will take _that_
alternative seriously -- at least in public -- shows what's happened
since 1984, when the Supreme Court prevented movie studios from using
copyright law to keep the VCR off the market. Sony, the defendant in
the Betamax case, ought to be ashamed of itself. It fought hard to
establish its right to sell the VCR without Hollywood's interference,
in the face of a tremendous legal onslaught against that technology.
Today (and I do mean _today_, as in "six hours ago in Los Angeles"),
Sony is negotiating deals with movie studios to help them restrict the
next generation of digital home recording devices.
These voluntary inter-industry meetings produce closed standards and
government mandates in which consumer interests and innovation are,
at best, an afterthought. In some cases (such as BPDG's work), existing
products are made less functional, and new technologies are banned
outright. This sort of process is not something to be proud of.
It's also misleading for CPTWG participants to claim that the
_results_ of such a process will be "voluntary" standards in place
of regulation. The MPAA's Fritz Attaway, who's in charge of the
BPDG-related "enforcement group", said this morning that, "in order
to achieve universal compliance with the [restrictions on recording
digital television broadcasts], most everyone agrees that some kind of
government mandate is probably required". That doesn't sound too
voluntary to me.
and then, a few minutes later, a similar and slightly shorter
message:
I was at the CPTWG and BPDG meetings in Los Angeles today. The
computer industry CEOs' letter misleadingly calls these inter-industry
meetings "voluntary" in a way which will cause many readers to confuse
two senses of "voluntary".
The BPDG copy-restriction process is "voluntary" in the sense that the
companies involved are meeting voluntarily and nobody has forced them
to meet. However, the standard they produce is _not_ intended to be
"voluntary" in the sense that companies will have a choice about
whether or not to implement it. BPDG participants are meeting with
the full knowledge that many of them will lobby the FCC or the Congress
to mandate that digital TV receivers contain certain restrictions on
recording and other aspects of their design.
Fritz Attaway of the MPAA this morning told the BPDG's "parallel
enforcement group" (which he is leading) that, "in order to achieve
universal compliance with the [recording restrictions], most everyone
agrees that some kind of government mandate is probably required".
So this process isn't voluntary in the broader sense of avoiding
compulsion or mandates. Indeed, the "affected industries" intend
the process to end with a legally binding rule affecting the design of
_every_ digital TV receiver, even outlawing continued production of
current devices.
The technology companies which participate in these discussions and
claim to oppose government regulation and technology mandates are
being somewhat hypocritical, because they hope that the government
will mandate _their technology compromises_ instead of choosing what
to mandate in some other way. They are not even considering the
possibility that the government wouldn't mandate _any_ copy
restriction technologies (the status quo since the 1984 Betamax
decision with occasional but troubling exceptions).
As we fight the SSSCA -- which is an urgent battle indeed -- we should
not accept the idea that the proper alternative is "voluntary
inter-industry consensus negotiations, etc.". The proper alternative
is for copyright industries to get out of the business of banning new
technologies which frighten them.
The good news this morning is that Intel, which was one of the
signatories to the letter criticized above (and is one of the CPTWG
and BPDG participants and has even designed many of its own DRM
schemes), took
an
unprecedentedly strong pro-consumer position in the SSSCA hearings
and apparently stood up for technology. Dan Gillmor's article, which
I've linked to, has some great commentary.
In a related message:
There are two achingly beautiful and tragic stories about life and
cheating:
The common thread through all of these exploits is that they've
all pushed the envelope of what constitutes cryptanalysis.
Before side-channel attacks, cryptographers never thought about
using information other than the plaintext and the ciphertext to
attack algorithms. After the first paper, researchers began to
look at different side channels, invasive side channels, attacks
based on introducing transient and permanent faults, etc.
Suddenly there was a whole new way to do cryptanalysis.
Crypto-hacking = cheating.
Several years ago I was talking with an NSA employee about a
particular exploit. He told the story about how a system was
broken; it was a sneaky attack, one that I didn't think should
even count. "That's cheating," I said. He looked at me as if
I'd just arrived from Neptune.
Cheating is one of the basic tenets of security engineering.
Conventional engineering is about making things work. It's the
genesis of the term "hack," as in "he worked all night and
hacked the code together." The code works; it doesn't matter
what it looks like. Security is different; it's about making
sure things don't NOT work. It's making sure security isn't
broken, even in the presence of a malicious adversary who does
everything in his power to make sure that things don't work in
the worst possible way at the worst possible times. A good
attack is one that the engineers never even thought about.
Good attackers cheat.
(Bruce Schneier, "The Future of Crypto-Hacking", _Crypto-Gram_, July
15, 1999, http://www.counterpane.com/crypto-gram-9907.html)
What magical showmanship can do was brought home to me
forcibly when a party of twelve magicians, including myself,
went to see the play _The Charlatan_ in which Frederick
Tilden was playing the leading role of Cagliostro, the
magician. We sat delighted at the magic and illusions that
he presented from time to time in the play. When he
produced a rosebush from a seed which he planeted into a
bit of sand in a clear glass flower-pot, we were completely
mystified. After the show, we went back stage, met Tilden,
and invited him out to dinner. . . .
[...] Tilden [protested, when praised for his skill], "Why,
boys, I'm no magician. I do not do tricks. You have me all
wrong. I am just an actor."
"Oh, no," said we, "You are a magician. Didn't we see the
wonderful magic you performed in the theater this afternoon?
. . ."
He leaned back and laughed. "Do you mean to say those simple
tricks fooled you?"
Then Tilden gave us an excellent talk. He said that when he
was chosen to play the part of a noted magician, Cagliostro,
he determined to make himself feel like a great magician and
act the part. He studied what he thought a man like
Cagliostro would do and what he would say in the emergencies
which the play brought forth. . . .
He decided that things could be produced and vanished from
places which an audience would least suspect. In this
instance, the man who appeared most innocent of helping him
was the villain, a lawyer who tried to expose Cagliostro
and prove him to be a faker. So Tilden thought his best
helper would be this disturbing lawyer, a skeptic who sought
every way possible to undo the magician. In the eyes of the
audience, this lawyer and the magician were bitter enemies.
In reality, it was the lawyer who helped create the illusions.
When the lawyer lifted up the paper cone from the flower-pot
to see that there was no tricker, he put the flowers into
the cone himself in readinesss for the production a moment
later. And Tilden, in his mastery of showmanship, put his
effects over as though he were the greatest magician in the
world.
(Harlan Tarbell, quoted in Henning Nelms, _Magic and Showmanship_)
So, Fred gave a great presentation which turned into an argument
with a movie industry lawyer who didn't understand why the BPDG
rules might pose a risk to free speech. It seemed that the
other lawyer was completely unfamiliar with EFF's argument that
there is a first amendment right to publish computer programs.
Fred's presentation got called "entertaining", but several people
ended up protesting that (among other things) it was off-topic
because it wasn't technical enough. "You can't entertain us
here, this is the entertainment industry!"
Eric Blossom gave a technical presentation which nobody could
call off-topic and which produced lots of requests for more
information; it was a concise overview of GNU Radio which I
suspect sent shock wave through the "affected industries" to
the extent that they considered its implications. Eric is a
very good and interesting presenter, so I urge everyone who
has the chance to hear him.
All the things you said to me today
Changed my perspective in every way
(The Cranberries, "Dreaming my Dreams")
In a thread about the importance of the Betamax case, we were
asked rhetorically to think about what would have happened to
technology if it had gone the other way. Fred said that it
wasn't just a rhetorical question:
A bit of history on this point -- we *know* exactly what the movie studios
thought consumers should have instead of the VCR: **DiscoVision**, a large
format optical playback-only medium, was in development by MCA at the time.
For a variety of technical reasons, the thing never worked. And, perhaps
most important, DiscoVision would have kept the means of video production
firmly in the hands of the studios.
(Fred von Lohmann)
[Main]
Contact: Seth David Schoen