A lot of things have been going on over the course of my trip, so
here's a quick update, which necessarily leaves out a lot.
Happy palindromic year, the last such until 2112. A neighbor and I
reasoned that about 1/(b^(n/2)) numbers of length n digits in base b
are palindromic (although I think that's not exactly right).
I flew into Boston for the vacation and was reminded of Michelle a
lot during my brief stay there, because of a memorable trip to that
city with her.
I got some interesting Python code from
Michael Hudson, who
attacked
the ZD problem enthusiastically, deploying both mathematical reasoning
and programming acumen. Maybe I'll post some of his code here at some
point; it came out much more efficient than mine.
It seems that the
"Superpolynomial Subexponential Runtimes" song from the RSA patent
expiration party is
not the earliest example of such a song!
John Gilmore says, in connection with what I wrote about people who
feared sound cards on account of the capabilities they gave to the
public:
Actually this was the reaction of the telco folks (and the phone
phreaks) to the ~1980 introduction of the Apple-Cat // modem by
Novation for the Apple II. It could generate and detect touch-tones,
and could also detect some sorts of signals on the phone line, like
ringing tones or busy signals or voice. This was a 300 baud modem,
with a 1200 baud half duplex (Bell 202) mode as a later extra add-on.
It didn't even permit general D-to-A or A-to-D on the phone line; all
modern modems do that. But it still worried people!
In Northampton, I saw my friend Sarah, who was busy packing most of
the time I was around. She left for a year in Ghana as a
Fulbright Scholar, and
I'm really proud of her! I also saw my friends Maya and Brita, who
are doing neat things a little closer to home, and I had a good time
all around.
I got a cold while I was out here. Darn.
Ole Craig took me to lunch
at Haymarket in Northampton. Thanks, Ole!
That was one stop, as it turned out, in the ritual of eating in many
of my favorite Northampton restaurants. I'm still working on the
Northampton restaurant circuit tour, and I'll have to come back again
to continue it (not that San Francisco doesn't have great places to
eat -- these places just have such sentimental value for me).
For the new year, I went off to Eric's house in Hopedale -- for my
seventh annual new year celebration with him. This year, we cut back
a bit on the technology, although I spent some hours writing a C
program which would render the current number of seconds remaining
in the year in a bit-mapped font on a text terminal. That was fun.
The most impressive part was that I was writing it in ANSI C, in the
vi editor, on a Macintosh laptop running Mac OS X. Their Unix
implementation is that real and that good -- I had
a perfectly functional C compiler, a Bourne shell, and a full set
of BSD-style shell utilities.
I was really impressed with how much Unix has gone into Mac OS X.
They even have an X server, a GIMP port, and ssh and sshd. I felt
right at home in that terminal window, even as various graphical
applications were running around me.
My program built a large array, and, converting the seconds count into
its component digits, sequentially copied rows from the appropriate
digits' bitmap arrays into the larger array. Then the filled part
of the larger array was printed out, centered horizontally, after
the screen was cleared. It worked great!
We played Monopoly (Eric won, displaying substantial business
acumen) and a great game called
Cranium which I first
encountered at Anirvan's party. It was a small party, but a very
nice time. I ate lots of cannoli, as I usually do if they're
around.
There's a TradeWars 2002 game starting at dasbistro.com
in honor
of 2002; to play, just
telnet to port 2002 of
dasbistro.com.
I had heard something about
a car which runs on vegetable
oil, but until this trip to Massachusetts, I hadn't actually
seen one. My mom and I noticed such a car on the highway
around Holyoke; we also noticed that it was going about 70 miles
an hour and passing trucks! One of the best parts is the bumper
sticker promoting the project: "Drive Vegetarian".
I wrote a little search program for
my father's book business
so that you can do on-line searches through a portion of his
inventory (from his own web site, rather than using
ABE or
BookFinder).
Danny Yoo has
been writing Scheme in Python, and the result is his interpreter
PyScheme. It's impressive. It can now run lots of useful things, like
((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x)))))
which is a Scheme program which prints itself out (a "quine").
I don't watch TV, generally, but my mom got me to watch
Crossing Over with
John Edward, which was impressive, but didn't really shake
my impression that John Edward is a cold reader. Is there anyone
today with the stature of Houdini who could go head-to-head with
the television mediums by imitating their work?
One of the difficulties is that people who go to appear on John
Edward's show are eager to be read by him and enthusiastic when
he reads them -- and in general they believe or suspect that he
has the ability to do that. So there's a difference between
the reaction of a subject who takes the reader seriously as a
psychic and the reaction of a subject who's just been told by
the reader that the reader is a charlatan.
This alone could make this sort of competition impractical. Houdini
could compete on spirit manifestations, because the spirit
manifestations could be observed regardless of whether you believed
in them, and they had no connection to the mental or emotional
state of the participants in a seance. So one medium could produce
a particular manifestation and Houdini could produce the same
manifestation and then everyone except Arthur Conan Doyle would
think that Houdini had debunked the medium. (Doyle, according
to Gardner, would conclude instead that Houdini was a medium as well,
despite Houdini's protestations to the contrary.)
This pattern doesn't cross over, so to speak, to Edward's style of
mediumship. Here so much of the significance is in the subjects'
reactions to the readings -- if they exclaim "Yes, my cousin Laura!"
or "Oh, yes, that's my wife!" we think that Edward is doing a good
job. If they care, we think so all the more. If a
skeptical mentalist could do "the same reading", the subjects
couldn't sustain the same sort of enthusiasm and interest. For
all the power of the suspension of disbelief, we still perceive a
difference between watching a play in which firefighters struggle
to extinguish a blaze and observing that the theater we're in has
just caught fire.
One of the most obvious manifestations of this difference is that
almost all of Edward's subjects conceive of themselves as his allies:
he's helping them get in touch with their lost loved ones. This is
something for which they are
profoundly grateful
and something for which they may have waited for a long time.
Everyone in the show I saw was certainly exhibiting this attitude.
There were no challenges to the medium's authority or veracity, no
criticism of him, no specific questions from the subjects to test
him (Rosabelle, believe!).
I just can't imagine admittedly-fraudulent mediums' subjects showing
that same sort of gratitude, co-operation, and encouragement!
Leonard has
some
pictures from the party; I show up in a few of them. They're
funny!
I agree with Sumana's answer to Hofstadter's problem of explaining
what it means for a number to be a power of two. (There is no
loophole there; an odd number times an odd number always yields
another odd number.) Another possibility is to write
prime(x) = not exists a such that exists b such that a!=1 and b!=1
and a*b=x.
power_of_two(b) = not exists f such that exists d such that f!=2
and prime(f) and d*f=b.
To yesterday's "prime(x)" we would need to prepend "x!=1 and".
I took up Martin Pool's
long-time
recommendation
and bought a copy of the CD Lift
Your Skinny Fists Like Antennas To Heaven by Godspeed
You Black Emperor!, whose name, like Yahoo!'s, contains an
exclamation point (according to some people's typographical
conventions). It is actually a two-CD set. Parts of it seem
very good to me. I still haven't paid enough attention to the
second CD, but I really enjoyed the first.
It appears that you can
find Godspeed
You Black Emperor on the net.
Thanks for going CD-shopping with me, Brita!
I had a bit of a "this day in history" experience while writing
a letter in the Logan airport. (I got home OK and am refraining
from writing Yet Another Airport Security Commentary in my
diary for the time being. If I don't stop myself, I will write
something about airport security every single time I get on an
airplane, which will be often). Leonard's diary does
this for him automatically, and I think that's what prompted
Sumana to mention that she met him a year ago.
Thanks to my own web diary, I can look up some of what I was up
to a year ago. I was still working for
Linuxcare, and I thought
that too obvious to mention. I had just written a poem called
"Tenebra Appropinquante: A Year 2000 Problem", which I still
have and have still not published. (That poem, in turn, looked
back at what I was doing in early January 2000, now two years ago.) I
was working on a great hardware project (a 480-watt 7-segment
incandescent digital display, which was used in counting down to the
new year). I received some powerful electrical shocks because I worked
on telephone and lighting systems with live current without wearing
gloves. My arm injuries were very troubling and very different
from what they are today (numbness rather than shoulder pain,
for example).
You could try browsing my
web diary from a year ago to see what I thought was worth
sharing at that point. I hadn't begun this diary (vitanuova),
so everything there is originally taken from Advogato.
Mailing a couple of postcards, I flew to San Francisco from Logan
via Midway on ATA (famous for being cheap and also for being the
only U.S. airline whose name is a Hayes modem command). Midway seems
extremely lame and boring compared to O'Hare. For one thing, all
the concessions are run by the same company! So for
example you might see five shops which sell sandwiches and
drinks, but each of the shops is selling exactly the same
sandwiches and drinks. At O'Hare, there are artworks on display,
there are several different restaurants (although I didn't actually
find any I was extremely enthusiastic about), and there's more of a
variety of things other than terminals. When you have to spend
some hours inside a building waiting, that's helpful.
I promised to forego the security discussion, so I will.
On the planes, I took a nap, and watched most of Along Came a
Spider without sound (amazing how you can still understand
it -- I once watched The Hot Zone without sound on
an airplane and similarly managed to understand it). The only
tricky part was the occasional plot twist, because sometimes the
details are explained only through dialogue. I also read most
of The Fellowship of the Ring, after buying a
paperback copy of The Lord of the Rings in an airport
bookstore at Midway.
It was amazing that the airport bookstore had almost no books I
wanted to buy. Practically everything was either recent novels
(trade paperback, mainly mass-market mysteries and thrillers and
romances) or self-help or tips for business executives. Is
that really all that bookstores sell to "regular people"? I
noticed that there were no technical books and no non-fiction
about anything (nothing narrative, nothing polemical,
nothing historical or critical). What's up with that?
Right before my trip, I bought Bamford's Body of Secrets,
which is his updated book about the NSA. So now I have both
The Puzzle Palace and Body of Secrets and
am strangely unenthusiastic about reading either one. Maybe I
have soaked up too much NSA history and passed into a cypherpunk
mode in which I only want to hear about contemporary legal and
technical issues in privacy and surveillance. On the other hand,
one thing that's irritating about many cypherpunks is their lack
of knowledge of history -- so I should be sure to avoid the trap
of paying attention to the present day to the exclusion of the
past.
The ridiculous thing is that
I don't even play pool.
Speaking of butterfly effects, my father's friend's decision to drive
me all the way to Logan instead of dropping me off at Framingham
meant that I waiting longer in the airport, felt more bored, and
probably consequently was more likely to buy The Lord of the
Rings at Midway (having already written my postcards at Logan,
and hence not having them available to write there). This, in turn,
will lead to my having read The Lord of the Rings,
which may affect things like whether, or to whom, I get married, or
how many years I live.
I was thinking about that because...
... I read Einstein's Dreams by Alan Lightman on the
first plane. Someone (my father?) got me a signed copy when it
came out in 1993, and I'd read it then, but I didn't appreciate it
so much at the time. Now I think it's absolutely wonderful. Some
portions are extremely Borges (down to Lightman and Borges
imagining similar scenarios); in fact, a few of the chapters would
have been entirely at home in any Borges short story collection.
One of the themes which persists through the whole book is an
admonition to love and take advantage of life and change. The
sad characters in the dreams are repeatedly those who shrink
from adventure and experience -- although the exact consequences
of doing so depend a great deal on the particular world in
which they find themselves.
One of the dreams had a Sliding Doors-style sequence
in which three different histories befall the same man at once.
This and other material in the book serves to make it clear that
something like whether you have read The Lord of the Rings
or not could actually determine how long you live, and how, and
with whom.
As Malcolm X says on that old Printers Inc. bookmark, "People
don't realize how a man's whole life can be changed by one book".
Two years ago, there was a report that Xerox color photocopiers would
embed a hidden record of each copier's serial numbers into each
copy it produced. Although this was fairly widely documented,
some people persist in disbelieving it. So today, in the course of
a discussion about the IFPI, SIDs, and trade sanctions against the
Ukraine, I decided to ask Xerox.
Xerox's response
clearly indicates that the claims are true:
The Secret Service has the ability to track a particular document to
the source equipment that has produced a suspect image. This information
is used for criminal investigation purposes only. The Secret Service does
not provide this information to private individuals or companies, nor
do they allow other parties to access this information. To detail how
these anti-counterfeiting systems work would only encourage the illegal
acts they are designed to prevent.
Praveen invited me to his friend's place, and we went off to
watch The Lord of the Rings, which turned out to
be sold out. So we went and had dinner at a place called
Golden Era,
in the Tenderloin, a vegetarian Vietnamese restaurant to
which Wolfgang took me on the last night she lived with me
in 1999.
Golden Era is great! Go there for dinner!
After this, Praveen's friend taught me how to play Go.
The famous Moxi (not to be
confused with Moxie, though the company's jackets amusingly
enough have orange letters on them) revealed itself.
I finished reading The Lord of the Rings.
My right arm got pretty sore again.
We got some unfortunate news at EFF which will probably be announced fairly soon -- and I tried to stay on top of
other things.
Biella was back from her vacation, and she and Zack and I went to the
BAD meeting in Berkeley, at Au Coquelet on Shattuck.
After that, I talked to Zack for a while, and felt sad, and went back and read some of the poems I wrote in
1998. As always, I was amazed: so, as it says on my wall (thanks, Willow),
quaecumque enim scripta sunt ad nostram doctrinam scripta sunt.
Romans 15:4
(Indeed, all the things that were written beforehand were written in order to teach us.)
I've written some Python code which finds port pairs, among other things, by parsing interrogation-mode
dumps. When it's a little cleaner and more capable, I'll publish it.
I'm going to go to MacWorld at the Moscone Center (to work in the EFF booth) and also plan to teach a
Python class at EFF in the evening.
A slashdot article mentioned that the CETI
project has sent
a message into space.
I found it was pretty easy to view the message with some Unix tools and a bit of Python, which we
can only hope has been invented on other planets. Here's what the message looks like to me -- though
I haven't tried to interpret the parts of it which are mathematical and quantitative yet, which would
be another good project. Note: there was artificial noise added to this signal. Also note:
you need a really wide browser or screen (over 127 characters) to view this properly. (You might
also be able to see it by saving it into a text file and then printing it out on a printer using a
monospaced font with a small point size.) Also note: there are bitmapped sketches of nude people here.
. . . . . . . . . . . . . . . . . . ... .
. . . . . . . . . . . . . . . . . . . .
. . .. . . . . . .. . . .. . . . . . . .. . . .
. . . . . .... .
. . . . .. . . . . .
. . .. .... .. .. . .
. .. . ..... . .. ..... ..... . .
. .
. .
. . . . . . . . . . . . . .. . . . . . . . . . .
.. . . . . . . ... . .. . . . . . . . . . .
. . .. . . . . . . .. . . .. . . . . . . . .. . . .
. . . . . . ... .
. .. . . . .. . . ... .
. .. .. .. . .. .. .. .
. .... ..... ... ..... ..... . .
. .
. .
. .. .. . . . . . . . . . . .. . .. . . . . . . . ..
. .. . . . . . . . . . .. .. .. .. . . . . . . . . ..
. . .. . . . . . . .. . . . .. . . . . . . . .. . . .
. . . .... . . . .
. .. . . . ... .. .. . . .... .
. .. .. .. .. ... .. .. . .. .. .
. .. .. ..... ... ..... . ... . .
.
. .
. .. .. .. . . . . . . . . .. .. .. .. . . . . . . . . . . . . .
. .. .. . . . . . . . . . .. .. .. .. .. . . . . . . . . .. .
. . .. . . . . . . .. . . .. . . . . . . . . . .. .
. . . .... . . . .
. .. .. .. . . . .. .. .. . . .. .
. .. . .. . .. . .. .. .. . .. . . .
. . ... ..... .. . ..... ..... . . .
. .
.
. . . . . . . . . . . . . .. .. . .. . . . . . . . . . . ..
. . .. .. . . . . . . . . . . .. .. .. .. .. . . . . . . . .
. .. .. .. .. . .. . . . . . . .. . . . .. . . . . . . . .. .. .
. . .. . . . .
. . . .. . .. .. . . . .
.. .. .. .. .. . .. . .. .. .. .. .. .. . .
. .. . .. . .... .. .. . . ..... ..... . .
. .
.
. .
. .
. .
. .
. .. .. . . .. . . ... . .. .. . . . .. . . .. .. .. .. . . . . . .
. .. .. . .. .. . . . .. .. .. .. . . .. . .. . . ... .
. . . . . . . .. . . . . . .. . . .
. . .... . . .... .... .... . .
. .. .. .. .. .. . . . . .. .. .. .. .. . . . . . .. .. .. .. . . . .
. .. .. .. .. .. .. . ... .. .. . .. .. . . .. .. .. .. .. . . .
. ..... . . . .. ... . . . . ..... . . .. .
. .
. . .. .. . .. .. .. .
.. .. .. .. .. .. .. .
. .
. .
. .
. .
. . .. .. . .. . . .. . . .. . .. .. .. . . ... .. . .. .. .. .. . . . . . .
. .. . .. .. .. . . .. .. .. .. . . . . . .. . .. .. .. .. . ... .
. . .. . . . . . .. . . . . . . . . .
. . .... .. . . .... . . . . . .
. .. .. .. .. .. . . . .. .. . .. . .. . . . . .. .. .. . . .. . . .. .
. .. .. .. .. .. .. ... .. .. .. .. .. .. . .. .. .. . . .. . .... .
. ..... . ... ... . . . . . . ... .. .
. .
. . . .. .. .. .. .. .. .. . . . . .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
. .
. .
. .. .. .. .. .. .
. .. .. .. .. .. .
. .
.
. . . . .. . ... . ... . ... .. ... . .. .. . . . . . .. . ...
. ... . . .. . .. . . . . . . . .. . .. . . ... . . ... . . . . .
. . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .
. . ... . . .. . .... .... ... ... . . . .. . .... . . . ... . . . ... .... .
. . .. ... . . . . . . . ... . . .... . .. . . . . ... . . ... . . .
. . .. . . . . . . . .. . . . . . . . . .
. ... . . . . . . . . . . . . . . . . . . . ... . ... . . . . .
. .
. .
. . . . . ... . . . . . . .. . . .. . ... . . ... . . .
. . . .. .. .. . . .. . . . . . . .. . .. . .. . .. . .. . . .. . . .
. . . .. . . . . . . . . . .. . . . . . .. .. . . .. .. . . . .. . . .
... . .. . .. . .... ... ... . . . ... . . . .... .... .... . . .... . ...
. ... .. ... ... ... ... .. .... ... .... . .. . . .. .. .. . . .. ... .
. . . . ... . . . ... . . .. . .. . ... . ... . . . . . . . .
. . . . ... . . ... . .. . . . . . . .. . . . .. . . . . . . . . . . .
. .
. .
. . . .. . . .. . .
. . .. . . . . . . .
. .. .. . . . . . . .. .
. . . .. . .. . . .
. .. . .. . .
. . . . . . .. . .
. . . . . . . . . . .
. .
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
... . ... ..................... ..................................... ... .. .. ............ .............................
. .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. .
. .
. ... . ... . . . . ... ... ... . . . ... .... ... . . ... .
. . . .. . . . . . . . . . . .. .. . . .
. . . .. . . . . . . . . . . . .. . . . .. . . . .. . . .
. ... . .. .... . . . ... . .... . . .. . ..... .... .... .
. . . . .. . . . . . . . . . . . . .. . . .... . . . .
. . ... . .. . ... . . .. .. . . . .. . .. . .
. . . .. .. . . .. .. ... . ... . . ... . .. . .. .. . . ..... . . .
.
. .
. ... ... . . . . . ... ... . . . . .. ... .... . . . . . .
. . . . ... . . . . ... . . . .. .. .. . ... .
. . . ..... . . .. . . . . . .. . . .. . . . . . .. . . .. . .
. . .. . .. . . ... ... . . . . .... ... . ... . . . . . .
. . . . .. . . ... . . . . . . . . . .... . . .
. . .. . .. . . ... . . . . .. . .. . .
. . . . .. . ..... . . . ... ... ..... . . . . .. . ... ... . ... .
. .
. .
. . ... . . . .. . ... . . . . . . . . . . . . . .
. . . . ... . .. . . ... . . . . .. .. . . . .. .
. . . ..... . . .. . . . . . .. . .. . . . . .. . . .. .. .
. ... . .. . . . . . . . . . .... ... .... . . . .... .
. ... . .. . . .... .. . . . . . . ... .. . . . .
. . ... . .. .. . ... . .. . . .. . .. ... .
. . .. .. ... ..... . . . ... ..... . . . . .. ... .... .. . .
. .
. .
. . . ... . . . . . . ... . . ... . .... . . . .. . .
. . . .. . . . . .. . . . . . .. .. .. . . . . . . .
. . . ... . . . . . .. . . . .. . . . . . . . . .. . . . .. . . . .
. .... . .. ... . . .... . ... . .... .... ..... ... . .... . . .
. .. . .. ... . .. ... . . ... . . . ... .... ... . . . .
. ... .. . .. . . ... .. . . .. . .. . . . .. . .
. ... .. . . . ... . . . . ... . ..... . . ... .. . . ..... . . ... .
. .
. .
. ... ... . . . ... ... ... . . . ... ... .... . . . . .
. . . .. . . . . . . . . .. .. . . .
. . . ..... . . . . . . .. . . .. . . . . . . . .. . .
. .... . .. . . .... .. . . .. . .... .... . . . .
. . . . .. . .. . . . . . . . .. . . . . .... . .. . . .. .
. . ... .... .. . . ... . .... . . . .. .... . .... .
. . . .. .. . .. ..... . . . ... . . .... . . . . .. .. . .. ..... . .. .
. .
. .
. .
.
. ... . ... . . ... ... .. . . . . . . . . . . . .
. . . . . . . . . . . . . . . .. . . . . . . . .. .
. . . . .. . . .. . . . . . .. . . . .. . . . . . . . . . . . . .. .
. ... .. ... .... ... .. ... . . . ... ... . . ... .. . .
. . . .. . . . . . . . . .. . . . . . .. . ... ... .. ... ... ... ... .
. .. . . . . .. . . .... . . . . . . . . . .
. . . .. . ..... . . . . . ... . ..... . .. . . . . . . . .
.
. .
... . . . . . . .. . . .. . . . ... . . . . . . . .
. . . . . .. . . .. .. .. . . . . . . . . . . . . . . . . . .. .
. . . .. . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . .
. .... . . . . . . . . .... .. . . . .... . . ... ... ... ... .. . .
. . . .. . . . . .. . ... .... .. .. . . . . . . . .. . . ... . . ... ... ... .
. . . . . .... ... . .. ... .. . . . . . . . . . . .
. . . .. ... ..... . .. . ... . .. . ..... . . . . . . . . . .
. .
.
. . . . . ... . .. .. . .. . . . . ... ... .. ... ... . .
. . . . . .. . . .. . .. . . . . . . . .. . . . . . . .. .
. . . . .. . .. . . . . . . . . . .. . . . . . . . . . . . . . . . .. .
. ... .. . . . .... . . . . .. .. . . . . . .... . .. .... .... .... . .
. ... .. . . . . . . ... .. . . .. . . .. . ... . . . . . . . . . ... .
. . .. . .. ... . .. . . . .. .... . . . . . . . . . .
. . . ... ... ..... . . . . . . . .. . ..... . .. . . . . . . . . . . . .
. .
. .
. ... . . . . . . . . .. . . . . . . . . . . . .
. . . . . . ... ... . . . . . . .. .. . .. .. .. . .. .
. . . .. . . .. ... . . . . . . . . . .. .. .. .. .. . .. .
. .... .. . . . . . . ... . . . . ... .... ... .... .... . .
. . . . . .. . .. . .. . ... . . .. . ... .. . .. .. .. .
. . .. .. . .. . .. . .. . .. .... ... . ... .. ... . . ... . .
. . . ... . . ..... ..... ... . ... . ..... . .. . .. . .. . .. .. .. . . . .
. .
. .
. . ... ... . . . . ... ... .. ... ... . . . . .. . .. . . .
. . . . . . . . . . . . . . .. . . . . . . .. .
. . .. . . . .. . .. . . . . . .. . . . . .. . . . .. . . . . .. .
. . . .... . . .... .... .. ... .... . . . . . . . . . . .
. . .. . . . . . . . . . . . . . . . . . .. . ... . .. . .. . . .. ... .
. .... ... . . .. ... . . . .. . . .. .... ... .... . .... . .... . . .
. . ... . . .. .. ... . . . . ... . . . . . .. . .. . . .. . . .. . . .. . . .
. .
.
.
. .
. . .
. . . .
. . . ... .
. .. . . . ... . .
. . .. . . . . . . . . . . . . . . . . .
. . . .... .. . . ... . .. ... . . . . . . . . . . .... . . .
. .... . .. . . .. . .... . .. . . .. . . . . . . . . . .
. . . . . . . . . . . . . . . . . .. . . .
. . . . . . . . ... . . ... .
. . . ..... . . . .. . . ... . . . .
. ... ..... ... .... . . .
. .. . ..... . .
. . ... .
. . . . . .
. ... .... . . ... . . ... .
. . . . . . . .. . . . . . . . . .
. . . . . . ... . . . . . . . . . . . . . . . . . .
. .... . . . .. . . . .. . . . .. . . . . . . . . .
. . . . . . . . . . . .... . . . . . .. .. .
. .. . . . ... . . . ... . . .
. . . . . . . .. ... .. ... . . .
. ... ..... .. ... . . . . .
. . . . . ... . .
. ... . . .
. . . . . .
. ... . . . . ... . . . .
. . . . . . . . .. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . ... . . . . .
. ... .. . .... . . . . . . . . . . . . . . . .. . ... . .. .
. . . . . . . . .. . . . . . . .. . . .
. . .. . . . . . ... . . . . .
. . . . ... . . . .. .. . .. ... . .. .
. ... ..... . . ..... . . . . .
. . . ..... .. . .
. . . . .
. . . . . . .
. ... ... . . ... . . ..
. . ... . . . . . . . . .. . . . . . .
. . . . .. . . ... ... . . . . . . . . . . .... . . . .. ... .
. ... . . .... . . . . . . . .. . . . . . . ... . . .
. . . . . . . . . .. . . . . ... . .. . . . .
. . .. . . . . . .. ... . .. . .... .
. . . ..... . . .. .. . .. ... . . . . .
. ... ..... . . .. .. . . .. . . .
. . ..... . . . . .
. .
. .
. . . .
. .. . .
. . . . . . .
. . . . . . . . . . . ... .
. . . . .. .. ... . . ... . . .. .
. . . . . .. . . .. . .. ... . . ... . .. .. . . . . . .. . .
. . ... . .. . . . . . . . . . . . . . . . . .
. ... . . . .. . . . . .... . . .. . . . . . . . .
. ... .. . . . .... . . . . .... . ... . .. . .... .
... ..... . .. . . .. . . . . . . . .
. . ..... . . ... . .. .. . .
. . ... . . . .
. .
. .
.
. ... . . .
. . ... .
. . . .
... . .... . . ... . ... . . . . . ... . . .
. . . . . . . . . . . . . . .
. . . . . . .. . . . . . . . .. . . . . .
. ... . . .... . . . ... . .... . . .
. . .. . . . . . . . . .. . . . . . . .. .
. . .... .. . .... . . .. .. . ... .... .
. . . . .. ..... . .. . . . .. ..... . . .. . .. .
. .
. . ... . . .
. . . ... .
. . . . .. . .
. .. . ... . . ... . . ... . . . . . . . . . .. .
. . . ... . . . . . . . . . . .. . . .
. . . . . . .. . . . . . . . ... . . . .. . . . . . .
. .... . . . .... . . . .... . ... ... . . . . . .... .
. . . . .. . . .. . . . .. . . . .. . . .. . ... . .. . .
. . .... .. . .... .... ... . ... . .... .. ... . .
. . . . . ..... . . .. . .. . .. . . . . ..... . .. . . .. . . .
. .
.
.
. . . .
. ... .
. .
. ... . . . . . .. ... . . . . .. . . . .
. . .. ... . .. .. . . . . . ... . .
. . . . . . . . . . . . . . .. . . . . .
... . . . . ... .. . .... ... . .... . . ... .
. . . ... . ... .... . . . .. . . . . ... .
. . ... . . . . .. . .. .. . . .
. . . .. . .. .. . . . . ..... . ... . .
.
.
. ... . . .
. . ... .
. . . . .
. . . .. .... . . . . . . . . . . . .. .
. .. . . .. .. . . . . . . .. . . .
. . . . . .. . . . ... . . .. . . . .
. .... . .. .. .. . . ... ... . . . . . .. . .
. .. .... . .. . . . .. . . .. . ... .. . .. .
. ... .. . .. . .... .. . ... ... .
. ... . .. . . . .. . ... . . . ... . .
. .
. .
. .
... . . . . . . . .
. . . . . . . . .. . . . . . . .
. . . . .. . . . . . . . . . .
. . .. .... .. ... . . . .. . . . ... ... ... . . . . .
. . . . .. . ... . . . .. . ... .. . . ... . ... .
. . . .. . .. . . . ... . . . . . .. . .
. .. . . . . . . . . .. . . .. . . . . . . .
. . . . . . .
. .. . . .. . .. . .
. . ..... . .... ... .
. .
. .
. .
. ... .. . . . . .. .
. . . . . ... . .. . .. .
. . . . .. . . . . . .
. . . .... .. . . . . . . . . . . . . . .
. . . . . . . .. . .. . ... .... . . . .
. . . . .. . . .. . ... .. . .. . .. . .
. .. . . . . ... . . .. . .. . . . . .
. . . . .. . . .
. ... .. . .. .
.. ..... .. .... ... .
. .
.
. .
. . . .. . . . . .. .
. . . ... . .. . .. .
. . . . .. . . . . . .
. . . ... .. . . . . . . . . . . . .. . . ... . . . . . .. . .
. .. . . .. . . . ... . . . ... .... . . .. .. . .. ... . . . . .. . .. .
. . . .. . . .. . .... ... . .. . .. . . . . . . . . . . . . . .. . . .
. . . . . ... ... . . . .. . . . . .. . . .... .... .... . . ... . . .. . .
. . . . . . . . ... ... . . ... . ... .... .. . .
. .. . . . ... . ... . ... . . .. . . . .
... .. . .. ..... . . .. . . ... ... . . .. . .
.
.
.
. .. . . .. . . .
. .. . . . ... . .. . . . .
. .. . .. . . . .. . .
. . . ... . . . . . . ... ... ... .
. . . .. . .. . . .. . ... . . .
. ... . . . . . . . .. . . .
. . . .. . . . . ... . . . .... .
. . . . . . .
. . ... . . .
. ... ... . . .
. .
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. .
. .
. ..... ............... .... ............. .. .. . ... ......... ..... ... ........... ........ .......... . .................
. .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .
.
. .
. ......... ... .
. .. . .... ..... .
. . .. . ... ... .
. .. .. . . . .
. ... ... . .. .. . . . . .... ... . .... . . .
. .. . . . . . . . .. .. . .. .. .. . . .
. .. .. . . . . .. . . .. ... . .. . .. .
. . . .. . . . . . . .. .... ..... . .
. . . . . .. .. . . .... . .. . . .
. .. . .. . . . .. . .. . . . .. .. .
. . . . . ... ..... .. .. .. .. . .. . .. .
. . . . . .... .
. . . . .
. . . . . .
. . . . . . .
. . .. . . . .
.. . . .. . .
. . . . . . . . .... . . .
. .. . . ... . .. . .
. . ... . . . . . .. .. .
. . . . . . . ..... . .
. . . . . . .. . .
. . . . . . .. .. .
. . . . ... .. .. .. .
. .. .. . .
. . . .
. . . . .
. . . . .
. . . .
. . .
. . . . . . .
. .. . . ...... ... .
. . . . ... .... . .
. . .. . ....... .. . . .. . .... . . . . .
. .. .. . ...... ... . .. .. .. . . . .
. .. .. . ........... . .. . . . .. .. .. . .
. ... ... . ......... .... ..... ... .
. .. .. . .......... . .. . .. . . .
. .. .. . .. ..... . . . . .. .. .
. .... .... ... .. ... ..... .. .. .. . ... .
......... .
. .
. .
. .
. ... . . . ... . . ... .. .. . . . . . . . .. . . . . .
. . .. . . . . . .. . .. . ... .. . .. .. ... . .. .. .
. . . .. . . . . . . . . . . .. . . . .. . . . . . . . . .
. .... . ... . . .... .... .... . . . . . . . . . . . .... .... .... .
. .. . ... . ... . . ... . . .... . . .. ... . . . ... .. .
. . .. . ... . . ... . . . . . . . . . ... . . .
. .. ..... . . . . ... . . . . ... . . . . ... ... . ... ... .
.
. .
. .. . . . .. . .. .. ... .. . . .. . . . .
. . .. .. . .. . .. . .. . . .. . . . . . .. ..
. .. .. .. . . .. . . . . . . . . .. . . . .. .. . . .
. . .... .... .. . . . . . .. . . . . ... . . . .. .... .
. .. .. .. .... .... . . .... .. ... . .. . .. ... .
. . ... ... .. . . .. .. . .. . . . . .. . ... ...
. . .. . .. . . . . . . . . . . . . . .. . .. . ... .
.
. .
. .
. .
. . . .
. . .
. . . .
. . . .
. . .
. . . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. ............ ...... . . . .
. . .. . . . .
. . . . . . .
. . . . ...
. . . . . . . . . . . . .
. . . . . . . . .. ... .
. . . . . . . . . . . .
. . . .. . . . . . . . . . . .. . . .
. . ... . . . . . . . . .. . . . . .
. . .. . . . . . .. ... . ... . . . . .
. . . .. . . . ... . . . .. ... . .. . . ... .
. . . . . . . . .. .. . .. . . .
. . .. . . . .. .. . . . . .
. . . . . .. ..... .. .. .. . .
. . . . . .
. . . . . .
. . . . .
. . . . .
. .......... ........... ........ ..... .
. . . .
. . . .
. . . . .... . . . . . . . . . . ... . . .... . . .
. . . . .. .. . . . . .. .. .. .. . .. . . .. .. . . .
. . . . . . . .. . . .. .. . .. ... ... . . . . .. . . .
. . . . . . . ..... ... . .. ..... .. .. . . ..... . . .
. . . . . . .... . . . .. .. ... .. .. .. . . .... . . .
. . . .. . . .. .. . . .. . .. .. . . . .
. . . . . .. .. .. .. ... .. .. . .. .. . .. .. .
. .. .
. . . .
. . .
. . . .
. . .
. . .
. . .
. . . .
. . . .
..... ......... ... .
. .
. .
. .
. .
.
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
.
. .
.. . ....... ...... ............................................. .. ............ ..... ... ......... .............. .. ....
.
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. .
. .
. .. .. . . . ... . . . . . . . . . ... .
. ... . .. . .. . .. .. . . . . .. . .
. ... ... .... . . . . ... .. . .
.. . .. .. .. . . . .. . . .... .
. ... . .. .. .. .. . .. . . ... .. .. . . . .
. . . . . . .. . . .. .
. .. .. . .. .. .. ..... . .. .. . . . .
. .
. .
.
. .. . . . . . .. . . . .. . . . . . .
. ..... . .. . .. . .. . . . . .. . ... .
. . ... ... ..... . . . .. . . .. . .. . .
. ... .. .. . .. . . . . . . . . .
. . . . .. .. . . . ... . .... . .. . . .
. . . . . ... . .. .. . .. . .
. . .. . . .. .. . ..... . .. . ... ... .
. .
.
. . .. . . . . ... .. . . .. . . . . . . .
. ..... . .. .. . .. . . . .. . .. . . . .
. .. ... ..... .. . .. . . . ... . .. . . .
. .... .. . . . . .... . . . . .. .
. ... . .. .. .. .. . .. . . . . .. .. . . . .
. . . . ... . . . . . .. . .
. .. . .. .. .. . .... . . ... .. ..... . .
. .
. .
. .. .. . . . . ... . . . . . . . . . . . .. . . .
. ..... . .. . .. . .. . . . . . .. . . . . . . .
. . ... ... .... . . . . . ... . .. . . .. . . .
. .... .. .. . .. . ... .. . .. . . . .
. ... . .. .. .. .. . .. . . . . . .. .. . . . . . . . .
. . . ... .. .. .. . .. .. ... . .. .
. . .. .. . .. . ..... . .. ..... .. ... .
. .
. .
. .. .. . . . . ... . . . . . . . . . . . ... . . .
. ..... . . . .. . . . . . . . .. . . . . . . . .
. . ... .. . .. . . . .. . ... .. . ..... . . .
. . . .. . . . . . ... . . .. . .. . . .
. ... . .. .. .. . . . . . . . . .. .. . . . . . . . .
. . . . ... . . . . . .. .. . . .. .
. .. . .. . . .... .. .. ..... .. .. . . .
. .
.
. .. . . . . . .... . . . . . . . . . . . .. . .
. .. .. . .. . .. .. . . . . . . .. . . . . . . . . .
. . ... ... . .. . . . .. . ... . .. . . . . . .
. .... .. .. . ... . . ... .. .. .. . . .
. .. . .. .. .. . ... . . . . . . .. . . . .. . . . .
. . . . . . .. .. .. .. . . .. .. . .
. . . .. . .. .. . ..... .. .. ..... . . ... . .
. .
. .
. .. . . . . .. . . . . . . . . . . . .... . . .
. ..... . . . .. . . . . . . . .. . . . .. .. . . .
. . .. ... . .. . . .. . .. . . . .. . .
. . .. .. . .. . . . ... .. . .. ... . . .
. ... . .. .. .. .. .. . . . . . .. .. . . . .... . . .
. . . . . .. .. . . .. .. . .. .. .
. . .. .. . . .. . . ... .. .. .... . .. .. .
.
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
... .... ................ ......... ..... ................ ........ ............ .............. ............................
. .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .. . . ... . .. . . .... .. .
. ... . . . . . . .. .. ... .
. . . .. . . . . . .. . .. . .
. . .... . .... .. . ... .... ... . . . . .
. ....... . . ... . . . . .. .. .. . . . . .
. ... .. . ... . .. .. . ... . .. . ... .. .
. ... ... . . . .. .. .. . . . . . .. . . .. .. . . .. .
.. .. . .. .. .
. . . .. .
. .. . . . .
. .. . .... .
. . ... . .. ... .. .
. . . . . . . . ... . . . ... .. . .
. ... . . . . . ... . . ... . .
. ... . . . . . . . . .. .. .
. . .. . . . . . . .... . . . . . . .
. . .. ... . . . .. . ... . . . . . . .
. .. . . .. ... . . .. .
. . . . .. . .. ... . . . .. .
. .. . . . .. .. .
. . . . . ..
. . .. . . .
. ... . .. .
. ... . .. .. .
. . ..... . .
. . .
.
. .
. .
. .
. ......... .
. ... .. . . .
. .. .. . . .
. . . .. .
. .. . .. .
. . .. .. .
. . .. . . . . .
. . . . . . .. . . . ... . . ... . . .. . .. .. . .
. . . . . .. . . ... . . .. . . . . . ... .
. . ... . ... . . . . .. . . . . . . . . . . .. . .
. . . . . . . . . . .... . .... . . . .... ... .. . . ... . . .
. .. .. . . .. .. .. . ... . . . ... . . . .. . . ... . .. . . .. .
. . . ..... . . .... . . .. . . . ... . .... ... . . . .. . ... .
. . . .. .. . .. . . ..... . . . . .. . .. . . . . . .. .. . .. .
. . . .. . . . .. .
. . . .. .. .
. . . . . .
. . . .... . .
. . .. . ... . .
. .. . . .. . . . . . . .
. . .. . .. . ... . . . .
. . .... . . .. . .. . .
. . .. . . .. . . . . . . .
. . .. . .. .. . . . . . .. .
. . . . .. .... .
. . . . . ..... . .. .
. . .. .... .
. . . .. .. .
. .. .. .. .
. . .. ... .
. . .. ...... .
. . .
. . .
. .
. .
. .
. .
. .
... . . ... .... ... . . . . . ... .... ... ... . . .
. . . . . ... . .. . .. . . . . . . ... . .. . . .. . .
. . . . .. . . . . ..... . . .. .. . . . . . ... . . . . . . .
. ... . .... . .. . .. . .. . .. .. . ... . .. . . .... .... . .
. .. . . . . . .. . .. ... .. . . . . ... . . .. . . . . .... .
. . .. . . .. ... .... .. . . . .. . . . .. ... . ... . . .
. .. .. ... . . . . .. .. . .. .. . . ..... . . . . .. .. . . .. .. .
. .
. .
. . .. . . . .... ... . . . . ... . ... . . .... ... . . . . .
. . . . ... . . . .. ... .. . . . . . .. ... . .. . . .. . .
. . . .. . . . .. .. . . ... . .. . . . . . . ..... . . . . .
. . .. . . . . .. . .. . . . . . . .. . ... . .. . .. .... .... ..
. . . . . . . .. . ... .. . . . ... . . .. . . ... .... .
. . .. .. . .. ... . .. . ..... .. . ... . .. .. ... .. . .
... ..... ... . .. . .. .. . . ... . . ... . . .. . ... .. .
. .
. .
. . . . . . . ... . . .... . . .... . . . . .
. . . . .. ... . .. .. .. . . . ... .. ... . .. . . .. . .
. . .. . .. .. . . ... . .. . . .. . .. . . . ... . . . .
. . . . .... . .. . .. .... .. . .. . . .... . . . .. ... . .. .
. . .. . .. . .. .. .... . .. . . .. . . .. . . . .. .... .
. ... .. .. . .. ... ... . . . . . . ... . .. ... . .... .. . .
. . ..... .. . .. . .. . .. ... . .... ... . . . .. .. . . .. .. .
. .
. .
. ... . . . .... ... . .. . . .. ... .... ... ... . . . .
. ... . . .. ... . .. . . .. . . . . . ... .. . ... . . .
. . . .. .. . . ..... .. . .. . . .. . . . . . ..... . . . . .
. . . . . . . . .. . .. . . . .... .... . .. . .. .... . . .. .
. .. . .. . . .. .. . . . .. . . . . . . . . . . .... .
. . .. . . . . ... . . .. . .. .. . . . . ... . . .. . .
. . ..... . . . . .. . . . ... . . . . . . .. . .. .. .
. .
.
. . . . . .. . .. ... . .. . . . . . . . .. ... .. . .. . .
. .. .. . ... . .. . .. . ... . . . .. ... . . . .. .
. . .. . . . . . . .... . . . .. . . . .. . . ..... . . . . .
. . . . .. . . . . .. . .. . . . .... . . .. . . .... . . .. .
.. . . . . .. . ... .. . . . . . . . . . . .... .
. . .. .. . . .. ... .. . .. . . . . . . . . .. ... . .. . . . .
. . ..... . . .. . . . .. . .... . . . . .. . . . . . .. .
. .
.
. . . . . ... . .. .... ... . . . . . . . . .. . . .... ... .. .. . . .
. . .. . . . ... . .. ... ... .. . ..... . . ... ... . . . . .. .. . .
. . . . .. . . . . . .. .. . . . . . . .. .. . . . ..... . . . . .. . .
.. . .... . . .. . .. . . . . .. . . . . . . .. . . .... .... .... .. .
. . . . . . . . .. . .... . . . . . . .. . . . .. . . .
. .... .. . .. . . .. ... . . .. . . . .. . . .. ... . ... .. .
. .. ..... . . . . . .. .. ... ... .. . ..... . ... . .. .. . . . . .. . . .
. .
. .
. . .. . . ... . .... ... . . . . . . . . . . .... ... . . . .
. . . . . .. .. . .. . .. .. . . . . . . .. ... . .. .. . .. . .
. .. . .. . . .. . . .... . . .. . . . . . . . . .. . . ..... .. . . .
. . . .... .. . . .. . .. .. . .... .. ... .. . . . .. . .. .... . . .
. . . . . . .. . . .. . .. .. . . . . ... .. . .. . . .. .... .
.... .. . ... . .. ... . ... .. . .. ... . . . . .. ... . .. . . .
. ..... . .. . . . .. . . . . . . . ..... .. . . .. .. .. . . . ..
.
. .
. . . . . . .... .. . .. . . . . . .. .... ... ... ... . . .
. . . . . . ... . .. . . .. .. . ... . . .. . ... . .. . . . .. .. . .
. .. . . . . . ..... . . . . . . . . . .. .. . . . .. .. . . . . .. . .
. . . . . ... . . .. . . ... . . . .. .. . . . .. . .. .... .... . .. .
. ... . .. . .. ... .... .... . . .. . . . .. . . . . .. ... .
. . .. . .... . .. ... . .. .. . . .. . . . . .. ... . . . . . .
. ... ..... . . .. . .. .. . .. . .. . ... . . . . .. .. . . . . . . . .
. .
. .
. . .. . . ... ... . . .... . . . . .. . .
. .. . . . ... ... . .. . . . .. .. .
. . . . .. . . . . . . . ..... . . .. . . . .
. .. .. . .... .... . . . .. . .. .... .... . . .. .
. ... . . . . . . . . .. . . . .... .... .
. . .. . . . . .. ... . ... .. . .
. .... ..... . . . . ... . .. . . . .. . .. .
.
. .
. . . . . . .... .. . . .... .. .
. . . .. .. .. .. .. .. .. ... .
. . . .. .. . .. . .. . . . .
. . . .. . .... ..... . . .... . .... ..... . . . .
. . . . . . . .. ... . . . .. .. .... . .. .
. . ... . .. .. .. . .. . ... . . . ... .. . .. . . . . .
. .. . .. ..... .. .. .. . . .. . .. .. . . .. .. .. .
. . .. . . .. .... .
... . .. ... .. . .
. . . .. . . .
. . .
... . .
. . .. .
. ... . . .. . . . . . . . . . . . . . . .... .. . . . .... .. . .
. . .. . . .. .. . . . ... ... .. . . . .. .. . . . .. ... .
. . . . . . .. .. . . . . . . . . . . .. . . . . ... . .
. .... . . ... . .... . . . . . . . . . .... . . . .... ... . ... .. . . . . ..
. . . . . . .. . ... . . . . . ... . .. ... . . . .. . . . . . .
. . . . .. ... ... . . .. . . ... . .... . .. . .... . ... . .. .
. . . ... .. ..... .. . . . .. ... ... ... .. ... . .. . .. . . . .. .. . . .. .
. . ..
. .. .
. . .
. ... . . .
. . . . . .. .
. . .. . .. .
. .. . . . ... . . . . . . ... .. .... ... . . . . . . .
. ... . . .. .. . .. ... .. ... . . . . .. . . . . .. . .
. . . . . .. .. . .. . . . . . . .. . . . ... . . . . . .
. . . .... . ... . .... . . . .... . . .... . . ..... .... . . . ... . . ... .
. . ... . . . ... .. .. .. . . . . .. .. . . . .. . .
. . ... . . .. . . . ... ... . . .. . .. . ... . .
. .. . . .. . .. . . .. . . ... . . ... . . . .. .. . . . .. . . .
. .
. . .. .
. . .
. ... . . . .
. . .. . .. .
. . .. . .. .
. .. . . . .. . . . . .. . . . . . . .. .. . . . . .. .
. .. . . .. . .. .. . ... . . ... .. .. . . . . . . . .
. . .. . . .. . . .. . .. . . .. . . . ... . . . . . . .
. . . . .... . . .... .... . . . . . ..... .... . ... . . . . ...
. . .. . . . . ... .. .. .. . . .. . .... . . .. .
... . .. . ... . .. . . ... . . . . . . .. . ... . .
. .. . .. ... . . . . .. . . . ... . ... . . .. .. .. . . . .. .. .
. .... .
. .. . .
. . .
. ... . ... .
. . . . .
. . .. . . . . .
. . . .. . . . . .. . . .. ... .. ... .. . . .. ... .. .
... . .. . . . . . . . . .. .. . . . . .. . . .
. . . .. .. . . . .. . . . . . . . .. . . . ... . . . . . .
. . . . . . . .... . . .. .. . ... . ..... .... . . . . . . ... .
. . . . . . . . .. . . .. . ... . . . . .. . . . . . . .
. . ... .. . . ... . ... . . .. . . . .. . .... . .
. .. . . .. ..... . . . . .. . . . . . .. .. . . . .. ... .
. .. .. .
. . .
. . .
. .
. .
. ... . .
. .. .
. . .. .. .
. . . . . . . ... . . .. . . ... . .... ... . . ... . . . .
. . ... . . .. . . . . . . .. .. . . . . .. .. .
. ...... ...... . . ... . . . . . . . .. . . . . . .. . . . . . . ... . .. .
......... .. . .. . .. . . .. . . ... .... . ..... .... . . . .. . . . .
. . . . . ... . .. . . . . .. . .. . . . ....
. .. . .. . . ... . . . . ... .. . .... . .
. ... . . . .. . . . . . . . . . . . .. . . . . .. .. .. .
. ... . .
. ....... ..... .. ... . ... . . .
. .. .. .. .
. . .. . . . . .
. . . .. .. . . ... . . . . .. .. ... . .. ... . .... . .. ... .
. ............. . . . . . .. . .. . . . . . .. . . . . .. . .
. . .. . . .. . . . . . .. . . . . . . . . . . . ... . .
. . . . .... . . . . . . . .. . .... ... . .... . . . ... .. .
. . .. . . . . ... .... . . . . . .... . . . . .... .
. . . . .. . ... . .. .. .. . . . .. ... . . .
. .. . . .. ..... . . . . . . . . . . .. .. . .. . .
. .. .
. ... .
. . .. .
. . .
........... .. .. .
. . .. .
. . .. .
. . .. ... . .
. . .. . . . .. .
. . . . . .. .. .
. . .. . . . . . . .. . . . .. .. .... ... . . . . . .
. . .. . ... . .. .. . . .. ... . . . .. .. . . . . .. ..
. . .. . ... . .. . . . . .. . . . . . . . . . . .. . . . . .. .
. . .. . .. . ... . . . . . . . . . ..... .... . ... . . . .
. . ... . . .. . ... .... .. . .... .... . . . .. ..... .
. ... . .. . ... ... . .. ... .. . .. . . . .... . .
. . .. . . . ..... . . . . .. . ... . . . .. .. . . . .... .
. . .. .
. . . . .
. . . . .. .
. . . . . . .
. . .. .. . . . . .. . . .. ... ... ... . ... .... .... .
. . . . . . .. .. . .. .. . . . .. .. . . . . . . . . .
. . . . . .. . . . . . .. . . . . . . . . . . . ... . .
. . . . ... . . . .... .. . .. . ..... .... . . . .. .. .
. .. . ... . ... . ... . .. .. . . .. . . . .. . . .. .... .
. . . ... . ... .. .. ... .. . .... . . .. . .... . . .
. ... . . .. ..... ... . . . . . . .. . . . .. . . .. . .
. . . . .. .
. ... . .
. ... . .. .
. . .. . . .
.. .. . ..
. . . ... .
. . . . . .. .
. . . . . . .. .
. . .. . . . . . .. . . . ... .. . . .... . . . . . . . . .
. . . ... . . .. .. . . .. .. . .. .. .. . . . . .. .. .
. .. . . .. . .. . . . . . . . .. . . .. . . . ... . . . . .. .
. . . . .. . .... . . . .... . . ... . .. .. .. . . ... . . . . .
. . ... . . . . . . . . . . .... .. .. ... . . . .. ..... .
. . .. . .. .. . ... . . .. .. . . .. . .... . .
. . .. . . . ..... . . .. . . . .. . . . .. .. . . .. ..... .
. . . .
. . . ... .
. . . . . .. .
. . . . . .
. . . .. .. . . . . . . . . . . . .. ... . .... . . .... .
. . . . . . .. .. .. .. .. . . .. .. .. . . . . .... . . .
. . . .. . . .. . . . .. .. . .. . .. . . . . .. . .
. . . . . . . . .... .... . . . . ..... .. . . . . .. .
. . ... . . . ... ... .. .. . . .. . .. . . .. .... .
. . . . .. ... . ... ... ... .... . . . .. . .... .
. . .. .. ..... .. . . . . .. . . .. . . .. .. . . . .. . .
. .. .......... .. .
. .
. .
. .
. .
.
. .
. .
. ... ... .
. . .
. . .. . . .
. .. .. . . ... . ... . .. .. .... .
. .. . . . . . . . . . . .
. . .. . ... . . . .. . . . .. . .
. . .. ... . . . .... .. .. .
. . . ... . .. . . .. .
. .. .. . . .. . . . .
. ... .. . . ..... . . . ... . .
. .
.
. .
.
.
. . . .. .... . . . . . . . .. . . . . . .. . .. . . . .. .. .. .
.. . . . . .. .. . . . .. . . . .. ... .. . .. .. . . . . .
. . .. . . .. ... . .. .. .. .. .. . . . . . . . . . . .. . .
. ..... . . . .... . . . . . . . . .... . . .. . . .. . .
. .. .. .. .. . ... .... . . . . . . ... . . . ... .. . . . .
. ..... .. .. .. . .. . .. . . . . . . . . ... .. . . .. .. .
. ... . .. ..... .. .. .. .. . ..... . . . . . . ... ... . . . . ... . .. ... .
. . . . .
. . . .
. . . .
. .
. .
. .
.
. .
. .
. .
. .
. .
.
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. .
. .
......... ........ ... . ........................................ ... ... ........... .. .................... ......... . ....
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
.
. .
. . . .
. ...
. .
. . . . . . .... . .. .. . . .
. . . ... .. .. .. . . . . . . . . .
. .. . . . . . .. . . . . . .. . .
. .... . . . . ... .... .. . . ... .
. . . . . .... . .. . .. .
. .. .. . .. . .. . . . .
. . ..... .. . . .. . . ... . . . . .
. ... .
. . .
. .. . .. . . ... .. .. . . . . . . . . . .
. . .... . . . .. .. .. . . . .. . .
. . ... . . .. . . . . . .. . . . .. . . .
. .. . .. . .... .. ..... . . .. . ... .
. . . . . . . . .... .... .. . . . .
. . ... .. . . . . . .. . .
. . . . ..... . . ... .. .. . ... . . . ... .
. .
.
. .
. . . . .
. ... ... .
. . . .
. . . . . .. . .... . . . . .. .. . . .
. . . . ... . .. . . . . . . . . . .
. . . .. . . .. . . . . .. .. .
. . . . . . ... ... .. . . . ... .
. . . . . . .... . . ..
. . . .. . ... . .. ... .. . . .
. .. . ..... . . .. .. . . ... . . . . . .
. .. .. .
. . . .
... . . . . .. .. .... . . . . . . .. . . . .
. . .... . . . .. .. .. . . . . . . .
. . .. . . . . . .. . . . . .. . . .
. .... . . . . . ... ..... . . ... .. . ... .
. . . .. . . . . .... .... .. . . . .
. . ... . .. . . . .. . .. .. .
. . . . ... . . . . . .. .. ..... . ... ... .
. .
. .
. .
. . . .
. ... .
. .
. . . . .. . . .. .. .. . . .
. .. . ... . . .. . . . . . . . . .
. . . . . .. . . . .. . .. . .
. .. . . . . .. .... .. . . ..
. . . . . . .. . . .. . ..
. . .. . ... . ... . . . .
. . ... . ... .. . .. . . .. . . . . .
. ... .
. .
. .. ... . . ... . . . . . .. .. .. . . .
. . . . . . . . . . . ..
. .. . .. . . . . . .. . .. . .. .
.... .... . . .. .. .. . . .. . .. .
. . . . . . . . .. . ..... .. . . .
. .. .. . . . . .. .. .
. . . ..... ..... . . .. . ... .... . . . . . .
. .
. .
. .
. . . . .
. . . . . .
. . . .
. . . . . .. . . .. . .. . . .. .. ...
. . . ... .. .. .. . . . . . . . ...
. . . . .. . . .. . . . .. . .. . .
. . . . . . ..... .... ... .. . . .
. . . . . . . .. . .. . . .
. ... .. . ... . .. . . . . . .
. .. .... .. .. .. . . .. . . . .
. ... . . .
. . .
. .. . . ... .. .... . . . . . .. . .. . . .
. . . . . . .. .. . . . . ... .
. . . . .. . .. . . . . . .. . . . .. . . .
. . .. . ... . .... ... ..... . . .. .. . . .
. . . .... . . . . .... ..... .. . . .
. . . . .. . . . .. . .. ..
. . . ... .. .. . . ... .. . ..... . ... ... .
. .
. .
. .
. .
. .
. .
. . . . .. . .. . . . . .. .. .. .
. . . . .. . . . . . . . . . . .. .
. . . .. . . . .. . . . .. . .. .. . .
. .. . . .... .. . . . . . .. . .
. .. .. . . .. . .. . .. .. . . . . .
. ..... .. . . .. . . .. . .. .. .
. . . .... . . .. . ..... .. . . ... .. .
. .
. .
. .
. . . . .
. ... ... .
. . . .
. . . . . .. .. .. . . . . . . . . .. .. . . .
. . . .. . . . . . . . . . . . . .. . .
. .... . .. . . . .. . .. . . .. .. . .. . . .
. . . . .... . . ... . . . .. . ... .
. ... . . . . . .. . ..... .. . . . .
. . . .. ... .. . . .. . .. .. .
. . . ..... . . ... . . ..... ..... . .. ... .
. .
.
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. .
. .
... .. ................. ........ ......... .... .............................. .................. ...........................
. .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .
. .
. .
. . . ... . . . . . . . ... . . . . . . . . . ... .
. ... . .. .. . ... . . . . ... . .. ... .. . . .
. . .. . . . . . . . . . . . . . .. . . ..
. . ... .. .. . .. . . . . . . . . . . . . . . . . . .... . . . .
. . . ... . . ... . .. . . . .... ..... . . .. . .. . .. . . .. .
. ... . . ... ... . .... . .. .. . .... .. . . ... . . .. .
. . . . . ... . . .. .. . . . ... .. ... .. . . . . .
. ... .
. . . .
. .. .. .
.
. .. . . . ... . . . . . . . . . . . .
. ... .. . . . . . . .. . .. . . .
. . .. . . . . .. . . . . .. . .. .
. .. . .. ... .... . . . . .... . . . . . .
. . . . . ... . . . . . .. ..... ... ... .. . .. . . . .
. .. . . ... . .. . .. . .. ... . ... .. .
. . . .. ... . . . .. . .. . . ... ... . . . .. . . .
. . .. .
. ... .
. .
. .
. .. . . . . . .. . . ... . ... . . . .. ... .
. ... . . . .. . .. . . . . . . .. .. . . . . . .
.. . . . . . . . . .. . .. . . . . . . .. .
. ... . .. ... .. . .. . . . ... .. . . . . .... . . . . . . .
. . . ... . . . ... ... .. ..... .. . . .. . . .. .... ..... .
. .. . . .. . .. . ... . . ... . . . . . . ... . . . .. .
. . . . . . . . . . .. . . . . . . . . . . . . . . .
. . .
. .... .
. . .
. .
. .. . . .. . . . . ... ... ... . .. . .. .
. .. . . ... .. . .. . . . . . . . . . . .
. . .. .. .. . . . . . .. . . . . . . ..
. .. . .... . . . . . . . . . . ... .... .. . . . . .
. . . .. . . . ... . ... ... . . . . . . . .. ..... .
. ... ... ... . .. . . . .. . .. . .... .. .
. . ... .. . . ... . . . . . . . . . . . . .. . . .
. . .
. . .
... .
. .
.. . . . . . . . . ... . . . . . ... .
. ... . ... . . .. . . ... . . . .. . .
. . .. . . . . . . .. . . . . . . .. .
. . ... . . .... . . ... .... . . . . .... ... .... . . .
. . ... . . . ... ... . ... .. . . .. .... .
... . . . . .. .. . .. . .. . .
. . ... . . .. . ... . . ... ... . .. . . . .
. .
. . .
. . . .
. .
. .. ... . . .. . . ... . ... . ... .
. ... . . . . . .. .. . .. . . . . . . . . . . . .
. . . . . . . . . .. . . . . . . . . . . . . . .. .
. . . .... ... ... . . . . .. . . . ... .... ... . . . .
. .... . . ... ... . . ... .... . .. .. ... . . ... . .. ..... .
. ... . ... . . . . .. . .. .. . .. . . . .... .. .
. . .. .. . . . . . . . . . . . . . . .. . . .
. . .
. . .
.. .
. .
. .. . . ... . . . ... .
. ... . . .. . . . . . . .. . . . . .
. . .. . .. . .. . . . . .. .
. . ... . . ... .. . . . ... . ... . ... . . .
. . . ... . ... .. .. . .. ... ..... . . .. ... .... .
. ... . . . . . .. . . . . .. . . . . .
. . ... .. . .. ... . . . . . . . . . . .
. ... ... .. .
.. . .. . .
. .. .. . .. . .
. .
. .
. .
. .
. .
. .
. .
. .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
........... ...... ............... ... ........... .......... ..... ............ ....... . .................... ......... ..
. .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. .
.
. .
. .
. .
. .
. .
. .
. .
. . .
. .. .
.
. . .
. .. . . . .
. . ... . .. .
. . . .. .
. . .. . . . .. . .. . ... .... ... . . . .. .
. . ... . .. . . . .. .. . . . .. .
. .. . . .. . . . .. . . . . .. . . . . . . . . .
. . . .. . . .... . . . . .. ..... .... . ... . . . . .
. . . . ... . . . . ... . . . . .. . . . . .. . .
. . . ... .. .. . ... . . ... . . .. . .... . .
. . . . . . .. . . . . . .. . . .. .. . . . .. ... .
. .. .
. . ... .
. . .. . .
. . . .. .
. . . .
. . . . . . . . ... . . .... ... . . . . .
. . . . .. .. . . . . . .. . . . .. . .
. . .. .. .. . . . . .. . .. . . . . . . . .
. . . .. . . . . . .... ... . ..... .... . . . . . .
. . ... . .. . ... . . .. .. ... . . . .. ... . .
. . .. .. .. . . ... . . . . . . .. . ... . .
. . . .. . ..... . . . . . . . .. .. . . . .. . ... .
. . ... .
. ... .
. . . .
. .
. .
. . .
. . .
. .
. .
. . .
. . .
. . .
. . . . ..... ..... .
. . .. . ... . . . ... .
. . . .. . .. .. ..... ..... .
. . . . . . .. .. .. .. .
. . . . ... ... .. .. .. .. .. .. .. . ... .
. . .. . .. ... .. . .. .. . . . . . . . . .. .. .
. . . . . . . . . . . . . . . . . . . . .
. . .. .. .. .. .. .. . . . . . . . .. .. .
. . ... ... .. .. .. .. . .. .. .. ... .
. . . . . . . .. .. .. .
. . .. .. .. . ..... ... . .
. ... ... ... .. ... .
. . ..... ..... .
. . .. . .
. . .....
. . .. .
. . . .
. . . . . .. .
. . ... .
.. .
. . . . .
. . ... .
. . ... .
. . . .. .
. .
. . .
. . .
. .
. . . .
. . . . .
. . . . . .
. . .. . . . . . . .. . . . .... ... . ... .. .
. . ... . . .. . . . .. .. . . ... . .. . .
. . . .. . . . .. .. . . .. . . . . .... . . .
. . . . . .. . . . . . .. . .... .... . . . .. .. .
. . . . . . . . ... . . . . . . . . . .. . .
. . ... . . . . . . . . . . . . . . .
. . .. . . . ... . . . . . . . .. .. . . . .. ... .
. . . . .
. .. . . ..
. . . . .
. .
. . . . . . . .. .. .. .. ... ... . . . . . .
. . . . .. .. . . .. . . .. .. .. . . . .. .
. . . .. . .. .. . .. . . .. . . . .. . . . . . . .. .
. . . . . . .... . . . . . . . . .... .... . . . . . .
. . . . . .. . . . ... . ... . .... .... . . . .. ..... .
. . .. . .. ... ... . .. . .. . .. . .... .
. . ... . ..... . . . . . . . .. .. . . . .. ..... .
.. . .
. . .. .
. . .
. .
. . . .. . . . ...
... . .. . .. .. . . . .
. . .. . . .. .. . . .. .
. . ... . . . . . . .. ... . .
. . . .. . .... . .. ... .... .
. ... . . . .. . . .. . .
. . . . . . .. . . . . .
. . . .
. . .. .. .
. .. .. . . . ..... .
. ... ... .
... ... .
. .. .. .
. . .
. .. .. .
. .
. .. ... .. ..... . .
. . . . . .. .
. . . . . . . . .
. ..... . .. . . . . .
. . . .. . . .. .
. . . . . .. .. . .
. .. . . . .. . .. . . . . .. . . . . .... .. . . . . . . ..... ... .
. . . .. . . . . .. .. .. .. . . . .. ..
. .. .. . . .. . . . . . . . .. . . . . . .. .
. . . .... ... . . .. .. . .... .... ..... .... . . . . .
. .. .. . . .. ... . ... ... .. . . . . .. ..... .
... ... ... .. . .. . .. ... ... . .. . .... . .
. . .. . .... . . ..... . . . ... ... .. .. . . .. ..... .
. ...... .. .. .
. . .. . .
. . . . .... .
. .
. .
. . . .
. ....... ............... ... ......................... ............... ......... ...................... .
. . . .
.
. . . . . .
. ... .. .
. . . .
. .. . . . . . . .. .... ... . . . . . .. .
. ... . . .. . . . . . .. .. . . . . . .
. . . . .. . . . . . .. . . . . . . . .
. . . . . . . ... . . ..... .... . .. ... .. .
. . . .. . .. . ... .. .... .... . . .. . .
. . . . .. . . ... . . . .. . .. . . .
. .. . . . . ... . . . . . .. .. . . . .. ... .
. .. .
. .. . . .
. .... .. .
. .. .
. . . . ... . . . .... ... . .. . . . . .
. . . . . .. . . .. . . . . .. .
. .. . . .. . . . . . . .. . . . ... . .. .
. . . . .... . . .... .... . . .. . . . .
. . . . . . . . ... .. ... ... . . . .. ..... .
. .. . .. . ... . . . .. . .. . . .. .
. . .. . . ..... . . . . . ... .. . . . . .. ... . .
. .. .
. .. . .
. . .. .
.
. . . . . .
... .
. . . . .
. .. . . . .. . . . . .... .. . . . ... .. .
. ... . . .. .. . .. . .. .. .. . . . ... . .
. . . . . . . .. . .. . .. . . . ... . . .
. . ... . . . . . . . ..... .... . . ... ..
. . . . . .. . . . . . . .. ... . . . .. .
. . ... . . .. . ... . . . . . . .. . .... . .
. .. . ..... . .. . . . . . . . .. .. . . .. ... .
. . .
. . .
. . . . .. .
. .. .
. . . . . . . . .. . .. .. . .... . . .
. . . . . .. . . . .. . .. .. . . .. .. .
. . .. . .. .. . . .. . . .. . . . ... . . .
. ... . .... . . .. . .. . ..... .... . .. . . . .
. . . . .. . ... ... . . .... . . . . . ... .
. .. .. . .. ... ... . . . .. . . .. . .... . .
. . ... ..... ..... .. . . . . . . . .. .. . . . .. ..... .
.. .
. . .
. . . . ... ...
. . .
. . . . .
. . .. . . ... . . . .. .. . .... ... . . . . .. . . .
.. . . . .. . . .. . .. . .. . . . . . .. .
. . . . . . . . . .. . . .. . .. . . . . . . .. .
. .... . . ... . .... . . . .. . . . ..... .... . . . . . . .
. . . .. . . . . . ... .. . .... .. .... . .. ..... .
. ... . . . .. . ... . ... . . . . . . . . .. . .
. . . ... .. . . . . ... . . . . .. . . . . .. .. ..
. . .
. . .. . .
. . . . . . .
. .
. .
. .
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. .
. .
............. ......... ...... ....... ................................ .... ... .............................................
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .
. .
. .
. .... .
. ... .. ... .
. . . . .
. . . .... . .
. . . . . . . .
. .... . .... . . . . .
. . .. . . . . . . . .
. . . . . . . . . . .
. . . . .. . . . .. . .
. . . . . .. .. . . . .... . . .
. . . . .. . . . . . . . .
. . .. . . . .. . . . . .
. . . . .. . . . . .. . . .
. . . . . . . . . . . . .
. . . . ... . . . . . .
. . . . .. . . . . . . . .
. . . .. . . . .. . . . .
. . . . . .. . .. .. . . .
. . . . . ...... . . . .
. . .. . . . . . .
. . . .. .. . . . .
. . . ... ..... . .... ... . . .
. . .. . .. . . . . . . .
. . . . . . .. ... . .. . .
. . . . .. .. .... . .
. . . . . . . . .
. . . . . . . .
. . . . . . .
. . . . . . . . .
. . . . . . .
. . . . . . . . . .
. . .. . . . . . . ... . .
. . . . .. . . . . . . . . .
. . .... ... ..... .. . . . . . . . . .
. . ... . . . . . . . . . . . .
. . .. . . . . . . . .. . . . .
. . .. . . . . . . . . .. . . .
. .. . . . . . . .... .. . . . . .
. . . . . . .. . . . . .
. . . ... . .. . . . . .
. . . . . . .. .. . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . .. .. . . . .
. . . . . . . . . . .
. . . . . . .. . .
. . . . . . . . . . .
. .. .. . . . . . . . . . . .
. .. . . . . . . . . . . . .
. .. . . . . . . . . . .. . .
. . . . . . . . . . . . . . .
. ... . . . . . . . . .. . .
. . . . . . . . . . ... . . .
. . . . . . . . . . .
. . . . . . . . . . . .. . .
. . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . . . . . .. . . . .
. . .. .. . . . . . . .. . .. .
. . . . . . . . . . . . . . .. .
. . . . . . . . . . .. . . . .. . . . .
. . . . . . . . . . . . .. . ..... .
. . . . . . . . .. . . . . . . . . .. . . .
. .. . .. .. ... . . .. . . . . . . . ..... .
. .. . .. . . . . . . . . .
. .. . . . . .. . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . ... . . . . . .
. . . . . . . . . . .
. .. . . . . . . . .
.. . . . . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . .. . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . .
. . . . . . . .
. . . . . . . . . .
. .. . . . . . . . . .
. .. . .. . . . . . . .
. .. . . . .. . . . . .
. . . . . . . .. . .. .. . .
. ... . . .... . . . . . .
. . . . . . . . . .
. . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. .. . . . . . . . . .
. .. . . . . . . . .
. . . . . . . . . . .
. . . .. . . . . .
. . . .. . . . . .
. . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . .
. . . . . .. . . . .
. . . . . . . . . .
. . .. . . . . . .
. . . . . . . . .. . . .
. .. ... . . . . . . . . .
. . . . . . . . . . .
. . . . . .. . ... . .
. .. . . . . . . .
. . . . . . . ... .
. . .. . . . .
. ... . . . .
. . . . .
.. .
.
. .
. .
. .
. .
. .. . . . . ... ... ... .
. ... ... . . . . . .
. . .. . . . . . . . . .. .
. .. .. . . . . . . . ... .... .... . . .
. . .. .. . . .. . ... . . . . ..... .
. ... . . . . ... . . . .. . . . .. .
. . .. . . . .. . . . . . . .
. . . . .
. . ... .. . .. .
. . ... . . .. .... .
. .
. .
. .
. . . .. . . .. . .. .... .. . . . . . .
. ... ... . . . .. . .... . .. . .
. . . . . . . . . . . .. . . . .
. . . . . . . . . . . .. . ... . . . . . . . . . . . . . . .
. . . .. . . . . .. . . . .. ... .. .. . ... .. . .. . .. . .
. . ... . . . ... . . . .. .. . .... . . . .. . . .. . . . .. . . .... . .. .
. . . .. . .. . .. . . . . . ... . . . .. . .. . . . . . .. .
. . . . . . . . .
. . .. . . .. . . . . . .. .
. . . ... . . .. . ... . . ..... . .. ... . .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .. . .. .. . .. .
. . . . . . . . . . . . . . ... ... .
. . . . .. . . . .. . ... ... . . .
. ... . .. . .. . .. . . . . .
. ... . .. . . . . ... . . ... .
. . . ... ... ... . . .. . .
. .. .. . . . . .. . . .. .
. .. .. .. . .. .. .
. .. .. . .
. .. . .. .. .
. . . .. .
. . .. . .
. . . .. . . .. .
. . .. .. . . . . ... .
. . . . . .. . . ... .
. .. . .. . . .. ... . .. .. . .. .. .. . .
. . .. . . . .. ... .. . . . .. . .. .. . . . . .
. . . . .. .. . . . .. ... .. ... . . . .. . .. .
. .. . . . . .. ... .. . . . . . .. .
. ... . .. . .. . . . .. . . .
. . .. ... ... . . . .. .. .
. .. .. . . .. . .. . .
. . . . ... .
. .. . . . . .. .. . .. ... .
. .. . . ... . . . . ... .
. .. .. .. .. ... . . .. ..... . .
. .. .... .. .. . . . .. ..... ... .
. . .. .. . . .. ... .
. . . ... . .. ..... . .. . . . .. .
. . . . . ... . . . .. . . . . .. .. .
. ... . . . .. . .. .
... . .. . .. . .. . .
... . . ... . .. . . .. .. .
. . . . . .. . . . ... . ... . ... .. .
. . . . . .. .. . .. .. . .. .. .. . . ... .. .
.. . . . . .. . .. . . .. . . .
. . .. . . .. . .. . . .. .. . .
. . .. . .. . .. . . .. .
. . .. ... . . .
... . ... . .
. . . . .
. .. .
.. ... .
. .. . . .
. .. . .
. ..
. .. . .
. ..
. .
. .. .
. .
. . .
. .
. .
. .
. ... .
. .. .
. .
. ... ..
. .. .. .. .
. . .. . .. .
. .. .. . ..
. ... . .. .. .
. . ... . . . . . .
. . . . .. .. . .
. . . .. .
. ... . .. .. .
. . .. ... ... .. .
. .. .. . .. .. .
. . ... .. .
. .. . . . . . .
. . .. . . . . . . . . .. . . . .
. .. .. . . . . .. ... . . . . ... . .
. . .. . . . . ... . . . .. . .. . . . .
. ... . . .. .. . .. . .. .
. ... . .. . .. ... .. .. . ... . . .. .. . . .. ... . .. .
. . ... . . . . . . .. ... . ... .. . . . . . .. .
. . . . .. . . .. .. . . . . .. ... . .. .
. ... . .. . .. . . . .. . .
. ... . . . .. .. . .. .
. .. ... ... . ... .
. .. .. . . . . . . . . . ... .
.. .. . . . . .. .
. .. .. .. .. . .. . .. . . .
. .. ..... .. .. . . .. . .. ... .
. .. . . .. ... . .. .. .
. .. . . . . .. . . .. . . . .
. ... . . . . .. . . . . . .. .. .
. .. .. . ... . .. . ..
. ... . . . .. . . .. . .
. . . .. . .. . . .
. . . . . .. . . . .. ... ... . .
. . . .. .. .. ... .. . . ... .. .
. . . .. . ... . . . . .. . .. .
. . .. . .. .. . ... . . .. . .
. .. . . . . . .. . ..
. . . . .. ..... . . . .
. . . . ... . ... .. . .
. . .. . . . .
. ... ... . .
. . ... .
. . . . .
. .. . .. .. .
. .. . .
.
. .. .. .
. .. .. . . .
. .. . .
. . ... .
. . ... .
. . . .
. . .. .
.
. .
. .
. .
. .
. .
. .... . .. ... .. . . .... ... ... . . .. .
. .. .. . . . . .. . ... .. .. . ... . .. .. .. .. .. .. .
. . . .. . .. ..... . . . .. . . ..... .. . . .. .
. .... ..... . .. . .. ... . . ..... .. .... .... . . .
. .. ... . . . .. . . . .... . . .. . . .. . .
. ... .. . . .. . . . .. . . .. . .. . .
. .. . . . . .. . . . ... .. .. .. .. .. . .. . .. .. . .
. .
. .. . . .
. . .. . . . . .
. ... .. .. .. .. .... . .
. . . .. . .. . . ...
. . . .... . .. . .... .
. . .. .. ... . .. .
. . . .. . .... ...
. ... . .. . .
. .
. .. .. . . .
. . ... .. .
. . .. . .
. . .. . . .
. . . .. .
. . . . ..... .
. ... .. ... . .
. .. . .
. .
. . .
. . ..... .. ............ ... . . .
. . ..... ..... . . .
. . . ... .... . . . .
. . . . . ... . .. .. .
. . ... . .. .. .
. . ... . .. .
. . .. . .. .. .
. .. . ....... .. . . .. .
. ... ... . . . . .
. .. .. . . . . .
. . .. . . . . . .
. . .. . . .. . . . . .
. . .. . . . . . . .. .
. . . . . . . . .. .. .
. . .. . . .. . . .. .
. . . . . .. . .. .. .
. . . . . . . .. .. .
. . . .. .. . . . .. .. .
. . . . . . . . .. .. .
. . . . . . . . .
. . . . . .
. . . .. . . . . . . .
. . . . . . .. . .
. . . . . . . . .. .. . .. .
. . .. . . .. . . . . .. .
. . . . . . . . . . .. .. .
. . . . . .. . . . . . .
. . .. . . . . . . . . .
. . .. .. . .. .. . . .
. . .. .. . . .. . . .
. . ... . . . . .. .. .. .. .
. . ......... . . ..
. . .. . . . .. . .
. . .. . .. . . . . . .
. .. . . . . . . . . . .
. ... ... . .. . .. .. . . .
. ... . ...... . .. . . .
. .. . . .. .. .. .
. . .. .. . .. .
. ..... ... . .
. ....... ... ... .
. .
. ... ..
. . . .. .
. . . .. . . .
. . . . . . . . . . .
. . . . . .... .. .
. . . . . ... . .. .. .
. . .... . ... . .
. . . . . . .. ..... .
. ... . ... . .
. . . . .. .... .
. .
. .
. . . ... . . .... .. .
. . . . .. ... .. .. .. .. .
. . .. .. . . . .. . .. .
. . . . .. . ... . . . .
. . . . .. . .... .. . . . .
. ... .. . . .. . . . . .
. . . .. ... .. .. . . . .
.. . . .. . . .. . ... ... .
. . . . . . . . . . ... .
. . . .. . . . . . . .
. . . .. . . . . . .... . . . . .
. .. . . . .. . . . . .. .
. . .. . .. . . . . .. . .... .
. . . . .. ... . . . . . .. ..... . . . . .
. . . .
. . .. . .
. . . . . . . . . . . . . . . . . . . . .. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. .
. .
........... .................. ...... ........... .... ..... ... ....... . .. ......... ... .................................
. .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. .
.
. .
. .
.
. .
. .
. . .
. .. .
. . . .
. . .
. . . .
. . . .
. . .
. . .
. . .
. . . .
. . . .
. . . .
. . . .
. . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .
. .. . . . .
. . . . . . . .
. .. . . .. . .
. . . . . .. . .
. .. . . . .
. . .. . . . .
. . . . . .. . .
. . .. . .. .
. . .. . . . . .
. .. . . .. . .
. . .. . . . .
. .. . .
. . .. . .
. . .. . . . .
. . .. .. . .
. . .. .. . . . . .
. . .. .. .... . .. .
. . . .. . ..... . . . .
. ... . .. ........ ... . .
. . . .. ...... ..... . ... . . .
. . .. ..................... .
. . ..... ................ . ... .
. .. .... .. ........... . . . .
. . ............... ...... . . . .
. . . ............ . .... .. .
. ...... ...... .... . . . .
. . .......... ........ . .. .
. . ................. . .. . .
. . . .. . .......... . .. .
. . . .. .. ...... . . . .
. . .. ..... ...... .... . .
. . . .... .... .... . ...... . .
. . . . .. .. . ....... ...... . .
. . . ... . . .... .. ......... .
. . ... . .. . . . ... . . . ..... .... .... . .
. . . . ... . . .. ... . . . .. ...... ... . .
. .. ... .... ..... .... . .. .. ............ . .
. . ... ........ .. . . . . . ....... . ... .. .
. . .. . ... . . .. . . ........... ... . .
. . . ... . . . . . .... ...... ... . .
. . ... . . . ........... ... . . .
. ....... .... ....... ... ... ..... .. .. .................... . .
. . .. .. .. . . . ...... ......... ........... . .
. . .. .. ... . ... ..... ....... . ............. . .
. ... ....... ...... ............. ......... ...... . .
. . .. .. ...... . ... .. ............. ............. . .
. . . ........ ......... ...... .. ... ....... .. .. ... . .
. . . . .... ... ........... ......... ................... ... . .
. . . .. ......... ... ... ... ......... .. . ........ .... .... . .
. . .................... .... ....................... .. ..... . .
. . ............ .... ............. ........ .. .............. . . . .
. .......... ........... ........... ...... ..... ...... .... ... . .
. . . .... ......... ....... ......... .... .. ..... ...... ........ . .
. . ........ ......... ............ ... ... ... ..... ....... .. .... . .
. . ........ ................... . ... ....... . ........ ... . .
. . .. ... . .. .................... .. ........... ..... . . .
. . ........ . . ....... ..... .... ........... ..... .. ... .. . .
. . ........ .. . ..................... ....... ......... ..... . .
. . ... .... . ... . ............ ............... ................
. ........ ... . .... . ................. ................. .... . .
. ..... ... .. . ........................ .. .. . .. ............ . .
. . ............ ................. . . ... ......... .. ..... ........ .............. . . .
. . ... ..... ............. ....... ........ .. ........... . .
. . .. ......... ... ..................... ...... .......... ... .... .
. . . ......... ... ........................ .... ...... ...... ............ .
. . ... ....................... .............. .... ...................... .
. . .. ....... .............. ... ...... ... ... .. ...... ... ............ .
. . . ... ....... ......... ... .................. ......... ........ .... .
. . . ..... ........ . ............... ............... ....................... .
. . ... ........ ........................... ........... .. ................. . .
. . .. .. ................... .. ....... ............... .... ................ . .
. . ... ......... .. ............... . .. . ......... ... ............ ...... . .
. . . ............. ............... .......... ...... . .......... ...... . .
. . . . ...... . ......... ..... ............... ...... . ............ . .
. . . ................................................ .. .... ...... . .
. . ... . .......... ... ...... ... ......... .... ... ... . .
... . . . ............ ..... ..... ............... . .
. . . ... ............. .. ..... ......... ... ... . .
. . . ............ .. ....... . ...... . . .
. . .. ..... .. . ... . .. . .. . .
. . .. ........... ... . ... .
. . . ....... ... .... .. . . .
. . ......... . . . . . .
. . ........ . . .
. .. ..... ... . .
. .. ... . . .. . .
. .. ..... . .. . .
. . .... . .. . . . .
. . .. ..... . .
.. .. ... .... . . ... . .
. .. . . .. .......... .. . .. .
. . ........ . . . .. . .
. .. . .. . ... ..... . . . .
. . . .. . .. ....... . . . .
.. . . .. ...... . .. .
. .. ... . . ... ..... . .. . .
. . . . ...... ..... ...... . . . .
. .. . .. ...... ... ..... .. . .
. .. ..... ........ ... . .. . .
. . ............. . .. . .
. ....... .. ... .. . .
. . ................... ... .
. . ...................... .. .
. .................. ...... . .
. ................. ........ . .
. ....................... ... .
. .. ....... ...... ....... .... .
. .. ...................... ... . .
. . ........ .............. .. . .
. . ... ............... ....... . .
. . .... ... ................ . .
. . ............. . . ....... . .
. . . .... .. .. . . ...... . .
. ...... ....... ........ . .
. . ...... ................ . .
. . ....... .. ...... ..... .
. . . ..................... .
. . .. ............. .... .
. . . ...... .... ...... . . .
. .................... .
. .. ........... ....... .
. . .......... ... .
. . ......... . . .
. . ... .... . . .
. . ..... . . .
. . ...... .. .. .. .
. . ...... ... . .. .
. . ....... .. .. .
. . ... . .. .
. . . . . .
. . ... .. . .
. . .. .... . .
. . ............ .. ..
. . ............ .. .
. . ............ . .
. . .. .......... .. .
. . . ......... ..... . .
. . ..... ........... .. .
. . . ... . .. ..... . .. .
. . . .... . ...... .. . .
. . ............ ...... .. .
. . ........... .. . .... .. .
. ...... ..... ........ .. .
. .. ........ ............... . .
. . . . ...... ............... .. .
. .. . . . . ............... ...... . .
. .. . . . ........................ . .
. . .. . . ..... . ...... ..... .
. . .. . . . ..... .............. . .
. . . . .. . ........... ....... . .
. . .. . ..... ....... ........... ..
. . .. . .. .............. .. .
. . .. . . ................ .. .
. . .. . .. .... ......... . .
. . .. . ..... .......... .. .
.. . ........... .. .. .
. . .. . ... ....... . .
. . .. . ......... ... ..
. . . . .. ........ . .
. . .. . . .. ...... ..
. . . ...... . . .. .
. . .. . .......... .. .
. . .. . .......... .. .
. .. . .... .. .. .
. . ....... . .
. ... . .
. . .... . .
. . .. .. .
. . .. .. .
. . .. .
. . .. . .
. . . .
. . . .
. . .. .
. . .. .
. . .
. . ... . .
. . ... .
. .. . .. .
. . ..... ... .. .
. . ............ . .
. . ......... . .
. . .. ... ... . .
. ........... . .
. . .... .... ... . .
. . .............. . .
. . ............. . . .
. . .... . ....... .
. . ........... ... . .
. . .. .. ...... .......... .
. . ................. .. ... . .
. . ..... .................. .
. . ....... ............. .. .. .
. . ..... ................. . .
. . ... . .............. . . .
. . .... ..... ........... . .
. . . ...... ............ .. .
. . ....... ..... ..... . .
. . .......... ....... .. .
. . .. .. ........ .. .
. .. .... ... .
. . . ...... .. .
. . ..... .. .
. . . .
. . .. .
. ............ .. ................. . . .
. .
. .
. . . . . ... .. . ... . . . .. .. . .... .... .. .. . .
. . . . . . .. .. . . . . . . . .. .. .. .. .. .. . .. . . .. . .. .. . .
. .. . . .. .. . .. . .. ..... .. .. .. . . . . ..... . . . .. . . .. .
. . ... . . .. . .. . .. . .. . .. . .. . . . .. . .. . .. . .. . .. . .. . .. .
. ..... . .. . .. .. . .. .. .. . . . . . .. . .. . .. .. .. .. .
. .. . .. ..... . ... . . . . . . . ... . . . . . . . .
. . . .. . .. . .. .. . .. . .. . . . .. .. ... . ... . . . . .
. .
.
. . . ... .. .. ... .. ... . . .
. . . . . ... . .. .. .. . .. . .. . .. ... . .
. . . . . .. . . . . . . . .. . ..... . .
. . . . ... . . . .. . . .. . . .
. . . . ... ... .. . . . .. . .. .. . .
. .... .. . .. . .. . .. . .. . .
. .... ..... . .. .. .. . . . . . .. .. . .
.
. .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. .
. .
................ .. .. ..... .. .... .. . ...... .............................................. ...... ................ .....
. .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
.
. .
. .
. .
. . . .
. ... .
. .
. .. . . . . . .. .. . .... ... . .... .... . ... .. .. . .
. . .. . . . . . . . .. .. . .. .. .. .. .. .. .. . .. . . . .
. .. .. . . . . . . .. . . . . ... . . ... . . .. .. ..... . . . .. . . .
. . . ... . .. . .. ... ..... .... ..... .. .... . . .. . .. .. ... .
. .. . . . . . ... .... .. .... .. .. . . . . .. .. .. ... .
. .. .. .. . .. . .. . . . . .... . .. .. . ... ... .. . .
. ... ..... . . . .. . .. .. .. .. .. .. . . . . . .. . . . .. .
. .
. .
.
. .
. ... .. .. . . .. ... ... . .
. . . ... . . . . . .
. . .. . . . . . . . . . .. . .
. . . . . . . .... ... . . .... .... . . . . . . . .... .. .. . . . .
. ... . .. .. .. . .. . . .. .. . . . . . . . . .. . . . . . . . . . . .
. ... . . .. .. . .. .. . . . .. . . . ... . . . . .. . . . ... . . . . . . .
.. . .... . . ... . ... ..... .... . ... . . . . . . . . ... ... . . ... .. .
. .. . .. . ... .. . ... .... . . . .. . ... . . . .
. . .. ... .. . ... . . . . .. . .... . . ..
.. ..... .. . .. . . . . .. .. . . .. ..... ... . .
. .
. .
. .
.
. ... . . . ... . .
. . .. . .. . . . .
. . .. . .. . .. . . .
. . . . . . . .. ... . . . . . .. . ... .
. ... . . . .. . .. .. .. .. . . . . . . .. . . ... .
. .. . . .. . .. .. . .. . . . ... . . . . . . . .. ... . . .
. . . . . . . . . .... ..... .... . .. ... . . ... . ... . .
. . . . . .. .. .... . . . .. . ....
. .. . .. . ... . . . ... . .. . .... . . .
. . . ..... ... . . . .. . .. .. . . .. ... ..... .
. .
. .
.
.
. ... . .. ... . .
. . . . . .. . ... .
. . .. . . . . . .. . .
. .. . . .. . . . .. .... ... . . ... . . .. .. . .
. . . . .. . . .. .. . . . . ... ... . . . . .
. . . .. . . . . . . . .. . . . . . . .. . . . . . .
. .. . .... . . . .. . . ... .... . ... . . ... ...
. . . . . . .. . .. . .... . . . . . .
. ... .. . ... . .... .. . .. . .... .. .
. . . ..... . . . . .. . . .. .. . . .. . . .
. .
.
. .
. .
. ... ... .
. . . .
. . .. . . .
.. . . ... .. ... . . . . . . . . .. .. . . .. . .
. . .. . . . . . . .. . . . . . . . . . .. .. . . . . .
. . .. . .. . . .. . . . . . . . . . . . . . . .. .... .. . .
. . . . .. . .. .... .... . . . . . . . . ..... . . ... . .
. .. . . . .. . . . ... . .. . .. . .. . .. . .. . .. . .. . . . .. .... . .
. .. .. . . . ... .... .... .... .... ... .... ... .... ... . .. . . .
. .. .. .. . . . ... . ... . .. . .. . .. . .. .. . .. . .. . .. .. .. . .
. .
. .
. .
. .
. .
. .
. .
. ... .. . . . . ... .. .. . . . . . .. .. .
. . . . . . . . .. .. . .. .. .. .
. . .... . .. . . . . . . .. .. . .. .
. .... . . . ... .... . . . .... . . . .... .
. . . . . . ... ... .. . . . . .
. . . . .. . . .. .. ... . ... .. .
. . .. ..... . . . . . .. . . ... .. . ... .
. .
. .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. .
. .
...... ............. ................... .. ...... .......... .... ....... ............................ .......................
. .......... ............................ .. ....... ............ . ......... . .................... ....... ..................
. .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. .
. .
. .
. .
. .
. .
. . . . . . . . . .. . . . . . . . . ... .
. . . . . . . . . . . . .. . . . . . . . . . . .
. .. . . . . . . .. . . . . .. . . .
. . . . . .... .
. . . . .. . . . . .
. . .. .... .. . .
. ... . ..... . .. ..... . ... . . .
I got a haircut which I'm very happy with.
I spent most of two days at MacWorld Conference and Expo at the Moscone Center,
and it was very not bad, although since I don't own a working Mac and usually try to
avoid proprietary software, there wasn't that much there which directly appealed to
me personally. But the Mac and the Mac community still have a fairly high
coolness factor, and I met some interesting people and saw many people I knew.
I did a couple of circuits around the Adobe booth with my EFF hat on and wearing
the FSF's "Free All E-Book Readers & Programmers" button pinned to my shirt
(although I didn't approach anyone from Adobe). It seems that most Adobe reps
there had probably never even heard of Dmitry Sklyarov; in proper perspective,
the Adobe e-Book stuff is a tiny portion of the company's business!
"Adobe's booth is about 60 times as large as [EFF's]." "Yes, but their annual
budget is much more than 60 times ours, so we're doing pretty well, if you think
about it."
I paid particular attention to companies which were selling audio capture or
video capture cards, since we hear so much about attempts (or vague unformed
desires) to regulate or ban these.
I picked up an
iMic
for Sarah from
Griffin Technology, a
cool technology company which was at the show. The iMic is basically a USB
sound card, aimed at the Apple iBook and similar laptops which lack a
built-in line input. (I think Apple could do more to document the fact
that you need something like the iMic if you want to get audio into an
iBook.)
The
Yellow Dog Linux people
were there and gave me a Yellow Dog sticker.
The bad news to which I alluded earlier is that
Jon Johansen has
been
indicted under Norwegian criminal law (in connection with his publication of
DeCSS more than two years ago -- or, some say, in connection with the creation of
DeCSS even longer ago). There is a
free-jon mailing
list at EFF now, parallel with
free-sklyarov.
Yes, Jon really does face prison time if convicted.
Conveniently, EFF had "Free Jon Johansen" bumper stickers printed up in
early 2000, and we still had a few of them in the office, so we were able
to pass them out at MacWorld.
I made the best thing I've made since I started cooking. Mmmmm. But my cooking
is very far from a science and nothing is repeatable; nothing is measured.
This particular dish used: organic soba noodles (bought in bulk at
Rainbow),
sesame oil, House of Tsang stir-fry sauce, soy sauce, green curry paste,
tofu, baby corn, fresh garlic. It worked really well.
Jim Tyre wrote
>Date: Fri, 11 Jan 2002 15:50:44 -0800
>To: Dave Farber <farber@cis.upenn.edu>
>From: "James S. Tyre" <jstyre@jstyre.com>
>Subject: California Public Records Act Reform
>
>[Dave, please consider this for IP. Thanks. -Jim]
>
>Fellow Californians with even the slightest interest in reform of the PRA
>(CA state version of FOIA) should pay attention to, support, get the word
>out on SCA 7, a proposed constitutional amendment introduced yesterday in
>the State Senate.
>
>http://info.sen.ca.gov/cgi-bin/postquery?bill_number=sca_7&sess=CUR&house=B&site=sen
>
>The California Supreme Court has said that the public's right to know is a
>fundamental right, entitled to the highest constitutional protections, but
>the Legislature consistently finds ways to weasel around that right, and
>our Governor, Gray Davis, has proven to be a major foe of public access.
>
>"In California, access to government records has been deemed a fundamental
>interest of citizenship." CBS, Inc. v. Block (1986) 42 Cal.3d 646, 651
>n5. "Maximum disclosure of the conduct of governmental operations was to
>be promoted by the [Public Records] Act." Id. at 651-52.
>
>Please help make those words true. Thank you.
>
>--------------------------------------------------------------------
>James S. Tyre mailto:jstyre@jstyre.com
>Law Offices of James S. Tyre 310-839-4114/310-839-4602(fax)
>10736 Jefferson Blvd., #512 Culver City, CA 90230-4969
>Co-founder, The Censorware Project http://censorware.net
>
For archives see:
http://www.interesting-people.org/archives/interesting-people/
A direct link to
the
bill's text is also easy to find.
"... but [a particular quantity] is only $50,000,000,000/year."
(Douglas Hofstadter reported a similar quotation somewhere in
Metamagical Themas.)
CTY-L
has been having a long discussion arising out of
an
article by Courtney Rubin which talks about life at CTY. Many
people felt the article was condescending; I didn't get that
impression. OK, some parts are harsh -- but, overall, I found the
article touching.
I feel less intimately connected to CTY than some people and I didn't
participate in all of the social forms there. For example, I never
went to a CTY dance; I never had a CTY girlfriend; I never kissed or
hugged anyone at CTY. Socializing there for me was much more
intellectual than tactile -- so I remember political debates,
Diplomacy, card games, card tricks, shaggy-dog stories, more card
games, and hearing about public-key cryptography (and hearing for
the first time about the EFF, I believe, unless that was the
following year at HCSSiM). I remember cultural things, and they
were meaningful to me, but I didn't have a girlfriend, and somehow
I have this sense that so many people found CTY meaningful through
having a girlfriend and going to a dance.
And I didn't ultimately succeed in staying in touch with people
from there, which sometimes seems to be a sign of inadequacy.
EFN held
a protest to call for the charges
against Jon Johansen to be dropped;
there are some pictures from it. (I wasn't there or
anything.)
I hope we'll have our own protest here in San Francisco.
I'd had some ambitious plans for travel today on Saturday, but I got
caught up with some projects and didn't go anywhere. Zack gave me
a hard drive, and I tried to get it working. I'm eventually going
to need to re-install. The good parts will then be having network
access, big hard drives, a CD-RW drive, and even the ability to compile
things locally.
There is a famous song called "Die Gedanken Sind Frei" (German
for "The Thoughts Are Free") with a long history and beautiful
melody. Wolfgang found me the lyrics a few years ago, and I
was very grateful; you can find them these days with Google in
a heartbeat, but it was very thoughtful
of her. Today Zack found me an actual recording of the song,
so I want to learn to sing it. It could come in handy in
protests, or (like Galadriel's phial) as "a light to you in dark
places, when all other lights go out".
I'm off to L.A. for CPTWG.
"That guy is very clever. I bet if he were working for the good
guys, he'd be in jail by now."
CPTWG and BPDG were reasonably interesting, and it was nice to
travel with Fred, who put up with all sorts of legal questions
about things related and unrelated to CPTWG.
BPDG is on a fast timeline to do things which affect many
interests. Their work needs public documentation and public
scrutiny quickly.
On the planes, I read most of Software, Shamans, and
Spleens (Boyle) and Entertaining Ourselves to
Death (Postman). Both are full of fascinating anecdotes.
Postman identifies particular things which are wrong with TV,
but suggests that the problem isn't necessarily the content of
TV programming as much as the expectations and habits we get
from TV (such as a short attention span and a difficulty
in following subtleties). He tells some amazing stories about
the implications of literacy in the past. For example:
The first of the seven famous debates between Abraham Lincoln and
Stephen A. Douglas took place on August 21, 1858, in
Ottowa, Illinois. Their arrangement provided that Douglas
would speak first, for one hour; Lincoln would take an
hour and a half to reply; Douglas, a half hour to rebut
Lincoln's reply. This debate was considerably shorter
than those to which the two men were accustomed. In
fact, they had tangled several times before, and all of
their encounters had been much lengthier and more exhausting.
For example, on October 16, 1854, in Peoria, Illinois,
Douglas delivered a three-hour address to which Lincoln,
by agreement, was to respond. When Lincoln's turn came,
he reminded the audience that it was already 5 p.m., that
he would probably require as much time as Douglas and that
Douglas was still scheduled for a rebuttal. He
proposed, therefore, that the audience go home, have dinner,
and return refreshed for four more hours of talk. The
audience amiably agreed, and matters proceeded as
Lincoln had outlined.
(Entertaining Ourselves to Death, p. 44)
On the plane coming back, a passenger got into an argument with
a flight attendant (as the plane was about to depart the gate).
The passenger ended up swearing at the flight attendant, which
made the flight attendant decide the kick the passenger off
the flight. As soon as the passenger heard that,
he got even more upset. "Why do I have to leave? I just want
to go to Oakland! Just take me to Oakland!"
The flight attendant said again that the passenger had to leave,
and the passenger said he wasn't going anywhere. Immediately,
the flight attendant called out to another attendant, who
radioed the gate and asked for the police. Within about a minute,
a police officer and two baggage handlers had boarded the plane.
"Sir, you have to leave the plane right now." "Why do I have
to leave? I just want to go to Oakland." "The airline doesn't
want you on this flight, so you'd better finish your conversation
with them outside, at the gate." "I'm not going anywhere. Why
do I have to leave?" "If the airline says that you're off the
flight, sir, you're off the flight, and you're going to need to leave
the aircraft right now."
"Can we have backup units to gate 4B? Backup units to 4B,
please." "Roger, we're on the way."
"Now, how do you want to handle this? If you'll get off now,
it's going to be a lot easier than if you wait until they come."
"I'm not going anywhere, I just want to go to Oakland. Why
can't they just take me up to Oakland?"
The passenger and the police officer continued to argue for about
three minutes, and then the police officer picked up his
radio again: "Can we have our backup units on 4B right away
please?"
Within a few seconds, two more armed police officers and
a National Guardsman in combat fatigues carrying an automatic
rifle came running down the aisle. The first police
officer pointed at the passenger and said something like "This
man needs to be off the plane right now"; when the passenger
saw the National Guardsman, he said something like "OK, I'm
coming" and stood up. As soon as he reached the aisle, the first
police officer grabbed his arm; the passenger began to
struggle, and the officer became much more forceful. In a
quick motion (like a magic trick, as they say), one of the other
police officers handcuffed the passenger behind his back (even
though nobody had been able to see the handcuffs), and all
three officers grabbed hold of him. The Guardsman led the way
as the police hustled the man off of the plane (and then one
of them, or maybe the baggage handler, started gathering up
his carry-on items).
That was the biggest adventure of the day, I suppose, much
greater than hearing and inquiring about the various DRM schemes
which were being peddled or hashed out in the Renaissance
Hotel.
Some book on technology quoted a few of these lines from Blake:
Now I a fourfold vision see
And a fourfold vision is given to me
Tis fourfold in my supreme delight
And three fold in soft Beulahs night
And twofold Always. May God us keep
From Single vision & Newtons sleep
I was thinking a lot about "single vision" over the past couple of
weeks. (The book emphasized the "Newtons sleep" part more than the
"single vision" part. Blake was extraordinarily unhappy with
Newton's vision of the world as a deterministic dynamical system.
I remember being excited when I first understood that vision, in
a high school physics class -- to us Newton was a hero almost as
much as to Blake he was a villain.)
I wrote earlier this month in a brief letter (the second brief
letter I sent around the new year) that I used to have the gift
of single vision more strongly than it seems I do right now. I
did conceive it as a gift, where Blake considered it a curse. But
now my single vision seems to be slipping away from me, mainly
against my will.
If I should again write an epic poem to match "Existence and
Uniqueness", maybe it would be called "Loss of Generality".
(I wrote a poem with that title in June of last year, but it
wasn't particularly good, or particularly long.)
Don Marti has a plan to make Google
searches for
"unisys" point searchers to the
Burn All GIFs campaign
web site, which protests the LZW patent.
One tactic to do this is to get people to make links like
Unisys instead of
the more conventional Unisys.
Another possibility, which seems vaguely less manipulative, would
be to write things like
Unisys has gotten the
U.S. government to give it proprietary control over part of
discrete mathematics or
help fight the Unisys
patent on LZW by making the GIF format obsolete or
beware of license fees
charged by Unisys on the GIF format or
software patentees like
Unisys threaten free speech and innovation or
Unisys lawyers say that
sharing and co-operation are "not the American way".
But in general I've been very wary of this approach; it's
close in some sense to what Altavista called "spamming the
index" (although I'm certainly not creating fraudulent web
sites in order to boost something's popularity, as a few porn
sites have done). It seems that it might undermine the
reliability and accuracy of Google, and that reliability
and accuracy is very important.
On the other hand, the enforcement of the LZW patent,
and criticisms of the patent, are real and salient facts
about Unisys. Don said that his opinion about Unisys
was as relevant to web searchers as the opinion of Unisys
itself about Unisys, and it's hard for me to dispute that.
Speaking of Google, various challenges have been floating around
the Crackmonkey list -- one was to find a set of three words,
or two words, which are "common English words" and which together
yield no search results at all. The new challenge is to find
a set of three words (I would say "not including proper nouns")
which yield a single search result which was written by you.
Or two words. I found "suadere superstitiores", searching
for which on Google leads you to
my discussion
of "sex".
She wasn't satisfied with hearing that it was the radiation symbol,
because she didn't have a feel for what radiation is. That one sort of
floored me, because radiation is one of my "basis concepts" that I use
to explain other things. (Yes, I think of my scientific knowledge as
being spanned by a basis set of conceptual eigenvectors. The basis set
idea is also one of my "basis concepts". Yes, I also know that I'm
weird.)
(Steve's
diary, via Sumana's diary)
Subterfugue is great!
It is a Linux program which allows you to intercept and arbitrarily
rewrite or alter the system calls made by any other program. It's
"strace meets expect" -- it's scriptable in Python. So you can
write sandboxes and you can write scripts and very much more. I
spent a while playing with it and will probably spend longer soon.
BPDG rather abruply reached public attention on Thursday with
a
CNet article (which has reached slashdot) closely followed by the
EFF BPDG overview (which I wrote on Tuesday night but which
we didn't get completely finished until Thursday evening).
Tim O'Reilly of O'Reilly and
Associates has written a piece called
Open
Source and the Obligation to Recycle which talks about the
problem of things going out of print -- and software being dropped
by vendors and becoming unavailable. O'Reilly argues that there
is a kind of obligation to release things which are no longer
being sold, so that others can benefit from them, rather than
letting them die. (This is especially significant with software,
which may be useful long after it is profitable, but not
useful long after its copyright expires. The software might be
profitable for ten years, useful for thirty, but copyrighted for a
century.)
It's wonderful to see publishers thinking along these lines and
showing an enthusiasm for the public domain. (I'm happy to say
that this is just the kind of thing I'd expect from O'Reilly.)
"Open Source and the Obligation to Recycle" also presents the
company-fails or product-is-withdrawn situation as an example
of a much broader problem:
Simson [Garfinkel]'s comments [on a company which went under and
took its unique and useful software with it] resonated with my own
experience, and not just in the software field. I have often lamented
restaurants that went out of business leaving me pining for a dish
whose recipe I wish they had passed on as a parting gift. I still have
my empty bottle of Neoxyn, the only remedy for poison oak rashes that
I ever found to work, but which was withdrawn by the manufacturer in
the early 1980s "due to lack of market acceptance." My letter to the
company asking for the formula went unanswered.
So one concrete thing that Tim O'Reilly is doing to address these
problems is
releasing ORA's
out-of-print books. These include The Future
Does Not Compute, which I bought used in hard copy
some time last year. You will probably never be able to buy
a printed, bound version of The Future Does Not
Compute from ORA again, but
you can get it
on-line.
Speaking of copyright, recycling, and cultural preservation,
Nick found oss4lib.org,
with information about open source software for libraries
and librarians.
I went to Sumana's party on Friday and ended up staying for a long,
long time. Sumana's diary has a
partial account of what happened
there, with good uses of Dar Williams lyrics.
Since you ask, Sumana, your paraphrase of what I said about you
is pretty good.
At the party,
Zack (whom
Sumana calls "The Good Zack of the East" because he lives in the
East Bay) gave me some copies of the cartoon
"What's Going
On?". And he told me about
vsound, a
virtual sound card for Linux; since that already exists, I don't
need to write it. Interestingly, it seems to use the LD_PRELOAD
approach (which Zack recommended) instead of the ptrace approach
(which I'd be planning to use). ptrace is much more complicated,
but LD_PRELOAD seems much easier for "tamper-resistant" software
to avoid. (For example, such software can write its own internal
version of stdio instead of using stdio from glibc. The
RealPlayer could do that -- they could have some <realstdio.h>
and corresponding libstdio.a which makes direct calls to the
underlying read(2), write(2), open(2) and so on.)
If they did that -- and there's no evidence that they have -- then
an LD_PRELOADed library which changed the functions of some selected
glibc calls would be totally and permanently useless. But the
hypothetical realstdio would still have to make system calls and
you could still ptrace it and find out what those system calls
were. So the ptrace approach is more resilient if we assume that
Real Networks is eventually going to do something to try to make
it difficult to capture streams to WAV or MP3 or OGG, instead of
just
suing
people under the DMCA.
As the so-called "DeCSS Haiku" says,
If the player can
decrypt, Wagner has noted,
users can learn how.
Mr. Bad, re demonstrations at Norwegian consulates to free Jon:
(Mi faras mensan noton: trovu vegetaranan recepton por lutefiskon, kun
Libera Dokumenta Rajtigo, kaj prefere ne malfacilan prepari per la
maldekstra mano.)
(I am making a mental note: find a vegetarian recipe for lutefisk,
with a Free Documentation License, and preferably not hard to make
left-handed.)
So I guess the Maldekstrulaj Vegetaranaj Esperantistoj por Dmitri
may be superseded by the Maldekstrulaj Vegetaranaj Esperantistoj
por Jon.
Rick Moen: "Ever wonder why the same people make up
all the conspiracy theories?"
Happy Martin Luther King Day (Observed).
I went to Berkeley and saw Michelle and Anirvan (who was at work
in his new office). Michelle and I ate lunch at the restaurant
formerly known as Lotus Vegetarian and Seafood, which is no longer
particularly vegetarian at all (but still serves everything on its
old vegetarian menu). I kept Michelle up pretty late, and so my
schedule was shifted off a bit and I didn't get to see Anirvan
for too long. His new office is in a very central location,
right near the Berkeley BART, right near The Other Change of
Hobbit. Thus people who work
there will have no
difficulty getting places or science fiction books.
Michelle's sister Nicol has offered to take me to Disneyland next
time I come to the L.A. area for CPTWG. I think I'll take her up
on that. I've never actually been to Disneyland. I will try to
bring some "Free Mickey" buttons (Eldred v. Reno
memorabilia) and perhaps a copy of Copyrights and
Copywrongs).
I managed to get a 2002 calendar, which has some nature scenes
from New England.
Studios
Spur Measures to Thwart Video Piracy, from the L.A.
Times. Plays up the mandate part (good), plays down home recording
implications (bad).
This requires JavaScript, but you can rate yourself to find out
how receptive to
Fascism you are (the "F Scale"). I found this via an article
on Kuro5hin. (I tried it, but then my browser didn't have
JavaScript support, so I wasn't able to find out my score.)
After on-line quizzes to rate one's self for Fascism-positive
attitudes, how long will it be until we see amifascistornot.com?
The L.A. Times article I mentioned yesterday has
this big problem: it says that the proposal would
use electronic tags within a digital TV broadcast to dictate whether a
program could be copied through the Net.
OK, but since the Net doesn't have an architecture which
allows you to do that, the tags in question would actually dictate
whether you could record a program digitally at all in an
open and interoperable format (without copy controls). The Internet
DRM Magic feature in which the Internet obeys policies about "whether
a program could be copied" is kind of on the same level as the
e-mail
from Bill Gates which can track its recipients.
Anyway, there have been around three big news stories and a few
little news stories about BPDG, which is infinitely more than there
were before we started our effort to publicize what BPDG was up
to -- or, if you want to be precise, three times as many as there
were before we started that effort, because the CNet article did
come out before our analysis.
That analysis is now the first hit in a
Google
search for "broadcast protection". As Brad Templeton observed,
EFF's web site has more Google juice (he calls it "Google points")
than almost any other.
... on Thursday, the EFF claimed that the companies have formed a
consortium known as the Broadcast Protection Discussion Group to develop
technical standards for new digital recorders. It noted that, once
agreed upon, the specifications could become part of laws requiring
them to be applied to all digital hardware. The EFF noted that if
similar standards had been decreed in the past, they would have
blocked the introduction of the VCR and the photocopier.
(StudioBrief, January 18, 2002)
(I'm proud of that, but you know you're a low-budget or tight-deadline
wire service when you can't even confirm whether BPDG really
exists. Here, if you want to know about the existence
straight from the horse's mouth,
LMI tells you how to join BPDG's
mailing list -- which is not to say that you'll actually be
allowed to.)
"We're from the Enlightenment, and we're here to help you."
I wrote Sumana a message about communication or something like that.
I also sent batteries to Michelle, a copy of "What's Going On?" to
Wolfgang, and to Sarah in Ghana an
iMic.
I'm tempted to send other things to people in the mail (maps,
postcards, playing cards).
It's been really cold out here!
I managed to clean up my room quite a bit.
I had a dream that I was back in high school and taking a
chemistry class. The teacher explained something about
reaction rates or some other rate thing, and assigned us eight
or ten homework problems. So I got home and looked at them
and found them extremely boring and didn't do them. Then the
dream followed me for over an hour as I made the effort to
get in to school. (The funny thing was that it combined parts
of San Francisco public transit and the actual school van that
I rode to school in high school. Also, the schedule was much more
flexible than my actual high school's schedule -- I wasn't expected
to arrive on campus at any particular time and the consequences
of missing class were apparently not very severe.)
I spent all that time worrying about whether the teacher would be
unhappy that I didn't do the homework. She was. I had a whole
discussion with her about this. She insisted that I had to do
the homework because it was a rule, and I insisted that the
homework was boring and that I'd known how to do all these problems
since freshman calculus 8 years ago or more.
We burned our beds and books
We fear we've lost the fire
(Dar Williams, "And a God Descended"; the transcription
I linked to is bogus because it says "and the reason ended" instead of
"and the real time ended")
... you're writing to a prospective intern who speaks Latin, and
you try to write "tempora proponere potest" [she can suggest times]
and it keeps coming out "tempora proponere protest".
PyScheme
1.0 was released. So was
UNIX.
Steve explains that
quinine
is why gin and tonic fluoresces under ultraviolet light (among
other things). There is an extremely funny anecdote about Jonas Klein
and that fact, but I was told that I'm not allowed to tell it.
Quines,
on the other hand, are not why gin and tonic fluoresces under
ultraviolet light.
Jim Tyre answered my question about a Library of Congress claim of copyright in its
catalogue:
Despite the seemingly clear language of
17 USC 105, it has been interpreted to deny copyright protection to U.S. Gov't works only within the U.S., not worldwide.
The idea is that because most other governments do copyright their original works, there is no good policy reason for the U.S. to give more than what it or its citizenry gets.
"Hofstadter should just have thought up Lisp; it would have made his
self-reference examples much easier."
Fred certainly manage to get the BPDG members thinking today...
If I had a car, I would want to put a
"GNU
Radio" sign in the window.
I cleaned up a lot more, and also cooked. Green curry, hoisin
sauce.
The bleach really managed to get rid of a lot of the mildew on our
bathroom walls.
Sumana says:
It takes practice to remember/comprehend, for example, that "if p then
q" is equivalent to "p only if q," but I have it almost down now.
I remember having some debates at CTY about the interpretation of
"if p then q"; for one thing, it seemed that the formal logic
definition was different from ordinary uses of "if". The
canonical example was something like this:
Your mom says "If it doesn't rain, I'll take you to the park".
Then it rains, and she doesn't take you to the park. Did she
speak the truth?
The formal logic conclusion, which is very sensible, is that
she did speak the truth: if it didn't rain, she took you to the
park. (To add a Hempel kind of twist: it's equally true that,
if it didn't rain, she took you to Jamaica, and that, if it
didn't rain, she didn't take you to the park, and that, if it
didn't rain, she killed you.)
Some people would worry about your mom's intentions or
prospects or abilities, though. So she might have been lying
in the sense of trying to mislead you about what she intended to
do. Maybe she never meant to take you to the park at all, no
matter what, and in that case isn't it a little strange to say
that her promise came out true when she was deliberately
deceiving you all along?
Some of the difficulty here comes from deeper conceptual problems
with assigning truth values to statements in the future tense.
For example, if I say "I will come to your house tomorrow",
there are many possible interpretations about the truth value:
If I ... don't intend to come, and subsequently don't come, or
If I ... don't intend to come, but subsequently come, or
If I ... intend to come, but subsequently don't come, or
If I ... intend to come, and subsequently come, or
If I ... have no idea whether I will come, and subsequently come, or
If I ... have no idea whether I will come, and subsequently don't come,
then was the statement true when I made it, false when I made it,
or did it have no particular truth value when I made it? Is it
true now, or false now?
I remember lots of situations where people promised things and
then didn't do them, but felt that they hadn't lied because they'd
actually meant or tried to perform the acts they promised. I
can't think of anywhere else where mental states matter quite so
much. In fact, we tend to distinguish between the case where
you are trying to deceive someone (you believe not x,
but assert x) and the case where you are mistaken (you believe not
x, and assert not x, but actually x). For some purposes, "true"
and "false" don't seem to be quite adequate.
Smullyan alludes to some interesting problems by including in
his words both truth-tellers (who always assert what they believe)
and liars (who always assert what they disbelieve), and
both sane people (who believe every truth and no falsehoods) and
insane people (who believe every falsehood and no truths). These
categories are a little extreme, but, like all of Smullyan's
devices, serve some useful purpose.
Anyway, implication or entailment is a tricky thing. You can do
fine and go far in formal logic just by remembering the truth
table:
p q p implies q
----------------
F F T
F T T
T F F
T T T
and in fact this is extremely useful in logic and mathematics in
general because it lets you make deductions from theorems, and
also do proofs by contradiction and other nice things. So in the
world of deduction, this use of "if" and "then" is not so bad at
all.
But entailment in talking about the future gets into strange
worries about possible worlds; maybe I should study modal logic
in order to have a better vocabulary for talking about that.
The passage of time confuses and complicates many issues.
(Speaking of Logic!)
Aber er tat es nicht, sondern
drehte den noch freien Hals und sah umher. Vollständig konnte er sich
nicht bewähren, alle Arbeit den Behörden nicht abnehmen, die
Verantwortung für diesen letzten Fehler trug der, der ihm den Rest der
dazu nötigen Kraft versagt hatte. Seine Blicke fielen auf das letzte
Stockwerk des an den Steinbruch angrenzenden Hauses. Wie ein Licht
aufzuckt, so fuhren die Fensterflügel eines Fensters dort auseinander,
ein Mensch, schwach und dünn in der Ferne und Höhe, beugte sich mit
einem Ruck weit vor und streckte die Arme noch weiter aus. Wer war es?
Ein Freund? Ein guter Mensch? Einer, der teilnahm? Einer, der helfen
wollte? War es ein einzelner? Waren es alle? War noch Hilfe? Gab es
Einwände, die man vergessen hatte? Gewiß gab es solche. Die Logik ist
zwar unerschütterlich, aber einem Menschen, der leben will, widersteht
sie nicht. Wo war der Richter, den er nie gesehen hatte? Wo war das
hohe Gericht, bis zu dem er nie gekommen war? Er hob die Hände und
spreizte alle Finger.
(The Trial)
I should learn German. Here is the Modern Library version:
But he did not do so, he merely turned his head, which was still free
to move, and gazed around him. He could not completely rise to the
occasion, he could not relieve the officials of all their tasks;
the responsibility for this last failure of his lay with him who had
not left him the remnant of strength necessary for the deed. His
glance fell on the top story of the house adjoining the quarry. With
a flicker as of a light going up, the casements of a window there
suddenly flew open; a human figure, faint and insubstantial at that
distance and that height, leaned abruptly far forward and stretched
both arms still farther. Who was it? A friend? A good man? Someone
who sympathized? Someone who wanted to help? Was it one person
only? Or was it mankind? Was help at hand? Were there arguments
in his favor that had been overlooked? Of course there must be.
Logic is doubtless unshakable, but it cannot withstand a man who
wants to go on living. Where was the Judge whom he had never seen?
Where was the High Court, to which he had never penetrated? He
raised his hands and spread out all his fingers.
Kjea is visiting. She is neat. Our apartment is neat, too, now,
in a different sense.
I stayed up extremely late and got my room cleaned up. It's amazing;
it's practically unprecedented!
"TVC will be filing a series of class-action lawsuits against
libraries refusing to filter pornography from their computers."
I wonder if there's a realistic way to turn this around and produce
a similar level of public comment and outcry against censorship.
Probably not, because the view that libraries shouldn't use censorware
was polling -- if I remember correctly -- somewhere below 30%. Of
course, it all depends on how you ask the question; if you include the
word "pornography", censorware polls much higher, and if you include
the word "censorship", much lower. If you mention incidents in which
people used libraries to seek sexual gratification, it again polls
higher; if you mention incidents in which people were prevented from
using libraries to do research, or to find supportive communities,
I hope it polls lower. (You could also mention political biases,
and so on, but some people consider censoring gays and Communists
a feature.)
Outside of the EEOC business, the court results on this issue so
far have been positive: a lawsuit seeking to compel a library to
use censorware was unsuccessful, and a lawsuit seeking to compel
a library not to use censorware was successful. (Yes,
I know that's a bit of an oversimplification, Jim.)
I'm sure I've mentioned before the amusing situation that we
have the position that libraries may use censorware,
must use censorware, and must not use censorware,
and that I've seen all three views represented on a single panel.
The activity of searching for word pairs on Google which give
particular kinds of results is called
Googlewhacking,
and it seems to be evolving and expanding.
I'm still working on some software to help TW2002 players. Currently,
I've written a telnet client in Python which allows you to download an
interrogation mode dump of intersector warps and port reports, and
another Python script which allows you to analyze that data for
port pairs and for dead ends (also called "cul-de-sacs" or
"chimneys", especially when they are multi-sector dead ends).
The latest features include the ability for several teammates on
a corp to send their logs to a central location for combined
processing, which may lead to more port pairs being discovered
(if two members have each visited different sectors which together
make up a pair).
Isenberg, noted advocate of the end-to-end model on the Internet,
has come out with an essay on
The Best Network
(no, it's not about Best Internet,
now part of Verio). He laments that the best network for consumers,
which has features like end-to-end connectivity, is not the most
profitable for ISPs.
Isn't there a general problem there around things like planned
obsolescence? interoperability? and in particular vendor-independence?
For example, free software allows anyone to fix bugs; proprietary
software requires the original vendor to fix them. To some extent,
vendors have an incentive to provide software that only they can
maintain; it provides them with a stronger guarantee of future
revenues.
In the same way, network service providers have an incentive to provide
non-generic connectivity so that people can't just switch to another
ISP and get the same service. AOL has gotten rich doing this (among
other things). One of the things many technical people hate about
AOL is the fact that you can't switch and that it's proprietary;
a reputable ISP would never try to trap you by offering its own
non-IETF protocols and so on, or so we imagine. But, strangely,
many people don't mind the loss of generality, even like it,
even claim to prefer it.
Almost two years ago, I mentioned
"the consequences [...] of saying
'I tend to be attracted to people who are [...]'". I could
mention some of those consequences -- but one is a sort of loss of
generality, I think. There are different kinds of "generality":
one is the quality of being true in many or all circumstances, or
possible worlds. Another is the quality of being true of many or
all objects. So there is the generality of the Borges story in
which
"In every one," I pronounced, not without a tremble to my voice, "I am
grateful to you and revere you for your re-creation of the garden
of Ts'ui Pên."
and then again there is the generality of a theorem:
for all a: for all b: for all c: for all d: if a*b=c*d and a is prime
and b is prime, then c=1 or d=1 or c=a or c=b.
This project continues to be very interesting. If I had a few
thousand dollars to spare, I might want to buy an ADC card and
try out this code. Some year soon, hams may begin to give way
to programmers, for "everything wants to be software".
There are an amazing number of vendors of ADCs and DACs out there.
It's really a whole industry that does a brisk and competitive
business. I'm now on a quest for an ADC with
"a 10+ bit converter and 20-25 million samples per second" being
sold for under $1,300. Oh, and it's got to have a PCI interface.
If you're reading this and you happen to know of one, please let
me know, unless you're an adversary who isn't allowed to share
useful information with me.
When the proper software is out there -- and it's probably GNU
Radio or a related project -- there may be an interesting political
struggle over access to fast generic ADCs. We're hearing all the
time that the more radical elements in some of the copyright
industries don't want the public to have that capability,
unless it comes with DRM (e.g. "watermark detection" or, for the
special case of NTSC, "Macrovision detection"). I guess it's a
good thing that "data acquisition" or "sampling" is such a big
industry, because those have a way of avoiding being abruptly
legislated out of existence, even when they make things like
addictive carcinogens.
Someone, either Lessig or someone on dvd-discuss, likes to point
out that devices specifically designed to kill people (handguns)
are legal, even while other devices (and even
speech acts)
are banned because they might facilitate copyright
infringements. This is not meant as an argument that handguns
should be banned, but it should highlight the difficulties that
legislation in the U.S. has in making up its mind about how the
liability or responsibility of a manufacturer for abuse of a products
should work.
(This message hasn't been approved by the moderator yet and might
not appear on the Cryptography list.)
Date: Sat, 26 Jan 2002 23:22:33 -0800
From: Seth David Schoen <schoen@loyalty.org>
To: cryptography@wasabisystems.com
Subject: Limitations of limitations on RE/tampering (was: Re: biometrics)
Carl Ellison writes:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> At 03:55 PM 1/26/2002 -0500, Perry E. Metzger wrote:
> >
> > [quoting a third poster]
> >> but all these absolutes in
> >> the comments are just too simplistic. Devices can be made as
> >> tamper-resistant as the threat- and value-model required.
> >
> >No, they can't. That's an engineering hope, not an engineering
> >reality. The hope you're expressing is that "well, maybe we can't
> >make it impossible to break this design, but we can make it cost
> >more to
> >break the system than breaking it will bring the bad guy, and we can
> >do that without said tamper-resistance costing us more than we can
> >afford."
>
> I've heard rumor of an effort a while back to layer Thermite into a
> printed circuit board, so that a machine could self-destruct in case
> of tampering. I doubt it ever got reviewed by OSHA, however. :)
I'm curious about the theoretical limits of tamper-resistance and
reverse-engineering resistance. Clearly, at any given moment, it's
an arms race. But who is destined to win it in the long run?
I was very interested in a result which Prof. Steven Rudich of CMU
told me about -- the non-existence of obfuscators. There is a
research paper on this:
http://citeseer.nj.nec.com/barak01impossibility.html
http://www-2.cs.cmu.edu/~rudich/papers/obfuscators.ps
"[A]n obfuscator O [...] takes as input a program (or circuit) P and
produces a new program O(P) that has the same functionality as P yet is
'unintelligible' in some sense. [...] Our main result is that, even
under very weak formalizations of the above intuition, obfuscation is
impossible."
Rudich said that his collaborators' impossibility proof hadn't stopped
commercial software vendors from continuing to develop obfuscation
techniques, but that's not surprising. (I do enjoy mentioning this
impossibility proof whenever I hear about obfuscation, though.)
The result applies both to software obfuscation and to circuit
obfuscation. (I need to think a bit more about its scope. As I
understand it, there _do_ exist obfuscated programs -- which perform
a function but which can't be "understood" -- but there are just no
reliable algorithmic techniques for obfuscating an arbitrary piece of
code.)
Now, programs can attempt to tell whether they're being run under
debuggers, but, at least in open-source operating systems, there's no
ultimately reliable way to decide. When you ask the operating system
"am I traced?", it can just say "no". Simulators and debuggers are
becoming a lot more sophisticated, and there's no indication that
"software protection" is any more effective now than it was in the
1980s. (The DMCA has made it more "effective" in a certain sense,
by creating, as Judge Kaplan said, "a moat filled with litigators
rather than alligators".) There are also really cool things like
Subterfugue:
http://www.subterfugue.org/
But this obviously doesn't say anything about tamper-resistance at a
physical level, in hardware, because of devices which can destroy
themselves, whether with thermite or with some active tamper-detection
circuit, when they "believe" that some probing activity has exceeded a
particular threshold. Software simply can't do that unless it can
communicate with some tamper-proof authority (a hardware dongle or a
revocation entity).
On the other side, probing and imaging techniques have been getting
more sophisticated all the time. Medical technology has produced all
kinds of non-invasive scanners (CT, MRI, SPECT, PET, etc.) and
researchers have been using microscopes to look inside of many
"tamper-proof" smart cards. A device which carries its own power
supply can _try_ to detect that it's been scanned (the equivalent of
software detecting that it's being traced or running on a virtual
machine), and certainly many of the medical imaging techniques use
some sort of active irradiation or otherwise provide a lot of energy
which a device could detect (assuming there's no way to disable the
device's power supply or otherwise destroy the tamper-detection logic).
So maybe devices could be made
I understand that the state of the art in hardware favors the reverse
engineers in most cases, but a lot of people still have confidence in
the ability of hardware engineers to create genuinely tamper-resistent
devices. And some people believe in particular contemporary designs
and products.
A couple of years ago, I heard about a technique called
interaction-free measurement, which uses quantum physics to measure or
photograph/image an object _without touching it or interacting with it
in any way_ (from the point of view of classical physics); this was
colloquially called "seeing in the dark" because no light or other
electromagnetic radiation need end up being incident on the target
object.
http://cornell.mirror.aps.org/abstract/PRA/v58/i1/p605_1
Does IFM justify the conclusion that tamper-resistance in hardware
will never be achieved? (There could still be an arms race over
costs and benefits.)
Isn't it great that there is an FTC commissioner
named Orson
Swindle?
It is clear that political issues divide into consumer issues
that bring in the votes, and corporate issues that bring in
the money. [...]
(Thomas Veatch, "Explaining the Mystery of Election Parity")
In the proposed
final judgment:
J. No provision of this Final Judgment shall:
1. Require Microsoft to document, disclose or license to third
parties: (a) portions of APIs or Documentation or portions or
layers of Communications Protocols the disclosure of which would
compromise the security of a particular installation or group of
installations of anti-piracy, anti-virus, software licensing,
, encryption or authentication systems,
including without limitation, keys, authorization tokens or
enforcement criteria; or (b) any API, interface or other
information related to any Microsoft product if lawfully directed
not to do so by a governmental agency of competent jurisdiction.
2. Prevent Microsoft from
for the API, Documentation or Communications Protocol for a
planned or shipping product, (c) meets
, (d) agrees to submit, at its own
expense, any computer program using such APIs, Documentation or
Communication Protocols to
identified in this paragraph.
The remedy does address some big-deal issues around OEM licensing
(preventing Microsoft from preventing OEMs from shipping machines
without Windows), although it doesn't touch shrinkwrap licensing
at all. (It's hard to imagine that coming up in an antitrust
case.) So the "Windows Refund" issue is completely passed over;
there is no discussion of the status of people who buy computers
which come with Windows and won't accept the Windows license.
I've joined the GNU Radio mailing list,
discuss-gnuradio.
On a parallel tangent (is there any other kind?), I wonder whether
there is a way to get started with FPGAs and VHDL using only free
software.
I cooked dinner for Zack and Kjea, and they really liked what I made.
I liked it, too! My cooking is repetitive but not consistent; this
dish contained sesame oil, House of Tsang stir-fry sauce, garlic,
yellow curry paste, soy sauce, sesame seeds, tofu, a
red bell pepper, bamboo shoots, baby corn, water chestnuts, basil,
curry powder, and garam masala. There was also some brown basmati
rice with some Vietnamese chili garlic sauce.
One person who has written lots about cooking in her weblog is
Deb.
Linking to her makes me wonder about the number of links away
I am from various people; for example, Deb links to
CamWorld which links
to Crummy which links to me.
There is a software company
in Japan (I think) called Garam Masala.
When I was laid off, I remember wondering
whether the
WARN Act applied to high-tech companies' layoffs and concluding
that it probably didn't, because nobody was mentioning it. Perhaps
they just hadn't heard about it. I know lots of people at companies
which apparently had "mass layoffs" under the meaning of that Act,
and nobody who received an advance notification. Usually these
technology startups (perhaps unlike factories) didn't know
what their financial position would be in 60 days. The decision to
make the layoffs was definitely often formed on shorter time scales
than that.
(From a Crackmonkey post.)
So, which gates (single-valued Boolean logic relations) with n inputs
are universal?
There are 2^2^n such gates, and I know some specific cases of
universal and non-universal gates, but not an efficient way to
determine whether an arbitrary gate is universal.
For n=1, the gate {0: 0, 1: 1} is not universal, and {0: 1, 1: 0} is
universal.
For n=2, the gates are
{00: 0, 01: 0, 10: 0, 11: 0} # ZERO
{00: 0, 01: 0, 10: 0, 11: 1} # AND
{00: 0, 01: 0, 10: 1, 11: 0} # NOTIMP (NOT (A IMP B))
{00: 0, 01: 0, 10: 1, 11: 1} # A
{00: 0, 01: 1, 10: 0, 11: 0} # NOTRIMP
{00: 0, 01: 1, 10: 0, 11: 1} # B
{00: 0, 01: 1, 10: 1, 11: 0} # XOR
{00: 0, 01: 1, 10: 1, 11: 1} # OR
{00: 1, 01: 0, 10: 0, 11: 0} # NOR
{00: 1, 01: 0, 10: 0, 11: 1} # XNOR
{00: 1, 01: 0, 10: 1, 11: 0} # NOTB
{00: 1, 01: 0, 10: 1, 11: 1} # RIMP (B IMP A)
{00: 1, 01: 1, 10: 0, 11: 0} # NOTA
{00: 1, 01: 1, 10: 0, 11: 1} # IMP
{00: 1, 01: 1, 10: 1, 11: 0} # NAND
{00: 1, 01: 1, 10: 1, 11: 1} # ONE
and I know that 5 are universal (AND, OR, XOR, XNOR, IMP) and
6 are not (ZERO, ONE, A, B, NOTA, NOTB, AND, OR) and I don't know
about the other 3. (By symmetry, RIMP must be.)
What does it mean for a gate to be universal? It means that, by
applying it to itself in various ways, you can produce any other
gate. For example, to produce NOT from NAND, you can do X NAND X=NOT X.
And then you can get AND: NOT (X NAND Y)=X AND Y. And OR:
NOT((NOT X) AND (NOT Y))=X OR Y. (Thanks, DeMorgan.) And now XOR:
(X AND NOT Y) OR (Y AND NOT X). And XNOR: NOT (X XOR Y). And IMP:
NOT (X AND NOT Y). Anyway, that's just one example -- the universality
of NAND. But how to we know if an arbitrary gate is universal? How
many gates with n inputs are universal?
Professor Nozick, too, alas, is late
Who with his wit could once critique the State.
He couldn't quite praise anarchy:
Timor mortis conturbat me.
The obituary from Harvard is interesting. Someone else on Politech
submitted
a recent
interview with Nozick.
RN: Yes, and libertarianism never really claimed that all of ethics
was exhausted by what could be enforced, by what one could
legitimately be coerced to do or not do. That's the political,
interpersonal realm that libertarian principles were about, not what
might be the highest ethical aspiration.
I went to Berkeley and visited Sumana and Michelle. Thanks for your
hospitality, you two!
I also tried to get my passport renewed, and was told that an expired
passport wasn't sufficient ID for purposes of getting a new passport,
contrary
to what the State Department's web site told me. Oh, well. Now
I have to dig around and see if I have any other sort of ID which
might help. (I don't think I have my
LBL ID any more, although that would
be ideal. I used to be able to fly with that, and I'd probably still
be able to fly with it if I still had it!)
This was a lot of fun
because it had the feel of a real situation room like you see in
movies (except for the big dice on the screen).
(Leonard Richardson plays Risk --
as seen on TV!)
Magnus Bodin has an interesting web
site.
I wrote this Python program which lets you experiment with logic gates.
I see two interesting problems. First, the memory use and processor
time associated with generating exhaustive lists of gates is pretty
substantial. Second, and closely related to that, there are a lot
of gates! With zero inputs, there are two gates; with one input,
there are four; with two inputs, sixteen; with three inputs, 256;
with four inputs, 65536. Each input you add squares the
number of gates which are possible! I've managed to use this code
to generate an exhaustive list of the 65536 four-input gates, but
I stopped there, because the next step is the 2^32 or 4294967296
gates of five inputs. But the program can also produce an arbitrary
gate efficiently, without actually enumerating every single gate of
a particular size.
Yay for nested_scopes! Boo to the old Python scope rules!
Now if only we could get other things to happen via "from __future__
import". "from __future__ import world_peace"; "from __future__ import
cancer_cure"; "from __future__ import dmca_repeal"; "from __future__
import all_the_wonder_that_would_be".
#!/usr/bin/python
from __future__ import nested_scopes
import math, string, sys
try:
BITS = string.atoi(sys.argv[1])
except:
BITS = 2
BINARY = {}
def binary(n):
""" Return a list containing the binary numbers of n digits, in
order, as string. """
if n:
smaller = binary(n-1)
left = map(lambda s: "0"+s, smaller)
right = map(lambda s: "1"+s, smaller)
return left + right
else:
return [""]
def bits(x):
""" Return a list containing the representation of x as a sum
of powers of two. """
temp, val = [], 1L
while x:
x, bit = divmod(x,2)
temp = temp + [val]*bit
val = val * 2
return temp
def binary_tuple(n, b=BITS):
""" Return a tuple containing, in order, b integers representing
the individual bits in the binary repreesntation of the integer
n. Uses a teeny tiny bit of memoization. """
if BINARY.has_key(b):
return tuple(map(int, BINARY[b][n]))
else:
BINARY[b] = binary(b)
return binary_tuple(n, b)
def gate(x, b=BITS):
""" Return a dictionary reprenting the logic gate which returns
1 when its b inputs are -- interpreted as a binary integer --
equal to the place-value of some bit asserted in the binary
representation of x. Equivalently, it is the logic gate which,
when the values in its truth table are written in their standard
order and then read bottom-to-top, yields the binary
representation of x. This allows all possible single-valued
binary functions of b bits to be represented in order as
integers from 0 to (2**(2**b))-1. gate(0) is the all-0
function and gate((2**(2**b))-1) is the all-1 function. """
D = {}
for t in range(2L**b):
D[binary_tuple(t, b)] = 2L**t in bits(x)
return D
def all_gates(b=BITS):
""" Return all possible gates with 1 output and b binary
inputs. """
right_sized_gate = lambda x: gate(x, b)
return map(right_sized_gate,range(2**(2L**b)))
Tomorrow: how to use this code.
I'm making up some new cards for the game Taboo. (I wonder what kind
of copyright, trademark, or patent claims its publisher might have
and whether they might affect people who do related or follow-on
game authorship.)
(I would quote these in Hebrew if I had a Hebrew font.)
[Elazar Ha-Kappar] used to say: Those born will die, and the dead
will live, and the living will be judged -- so that they might
know and teach and learn that...
(Pirke Avot 4:29)
(But) sing a song to love, and not to victories.
(Yaakov Rotblit, "Shir La-shalom")
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.