Let's assume for a moment that The Great Satan of
Computing were not putting this proposal forward.
Would having a central repository of data about
me be a good idea?
It would be nice to have my name/address/email
follow me about, rather than having to type the
same information in a million times.
It would be good if I were automatically informed
if my son had been involved in an accident.
It would be potentially lifesaving to have
hospitals be able to exchange data about
the allergic reaction to antibiotics that
I don't have.
However, I'm not willing to become a piece of
marketing data to achieve this state of events.
There's a structural problem here in that any
commercial organisation that provides this
service is going to be extremely
tempted to use the data as a secondary source of
income.
Since this secondary source of income can be used
to lower any fees charged, there's the potential
for more privacy-respecting competitors to be
driven from the market.
One possible solution here would be to have
a statutory body administer the data
"for the public good".
There would need to be legislative barriers in
place to prevent other agencies from going on
fishing expeditions. As there would need to
be for a private organisation, for that matter.
In my country, the Census already collects this
kind of data, although not with the same level of
turn-around, and manages to do a reasonable job
of privacy protection.
So it's at least notionally possible.
This seems to be the pervailing attitude among those at Microsoft and elsewhere: users are stupid, so stupid that we must make all their decisions for them.
Merely that users wish to expend their brainpower
on something else, surely?
I don't hand-build my fridge, car or furniture.
This reminds me of an article Umberto Eco
wrote yonks ago, comparing the PC and the Mac
in terms of religion.
The Mac is a Catholic machine, you go to the
priest, say the correct formulas and you
are forgiven of your sins -- or, at least,
you get your document printed.
The PC is a Protestant machine, you have to
enter into a diffcult and personal relationship
with your God, full of self-doubt and
introspection.
Time moves on and it looks like Microsoft has
gone Catholic (which may explain some of the
conspiracy theories).
And Linux is the new Protestantism.
However, when an application is complex enough it maybe simpler to modify the source code rather than a configuration file. Often the configuration will be expressed is a custom language designed by the developer, rather than in a well understood programming language.
Don't believe me? Ever tried to configure "sendmail"?:-)
Er. Yes. Both ways.
Sendmail is a pretty good example of what I
mean, in some senses.
Configuring it is difficult and messy.
And you'll get no argument from me that the syntax
is peculiar, difficult and ripe for improvement.
But sendmail is complicated because mail is
complicated and subject to all kinds of
strange whims.
(Not all of sendmail's sprawling magnificence
is caused by configuration issues.)
Compare configuration to forcing someone
to go through the sendmail code, figure out
what it means and adjust the code accordingly.
And correctly: no accidentally introduced
security holes or memory leaks.
(In an XP environment, this is even more
nasty, as the code isn't logically complete;
it's the minimum required to get the problem
du jour out of the way.
Have fun trying to understand it.)
Yet, with a bit of help from m4, millions of
sendmail systems are running in all kinds of
environments.
Is replacing this with a million bespoke
hacks a good idea?
XP is essentially an evolutionary model of programming.
The programmers are encouraged to respond
to the goals immediately in front of them
with no real foresight.
The result is something that gets to a
local maximum.
For a one-off, this is probably a pretty
sensible strategy.
The problem is that
most programs of any utility need to
change over time as requirements change.
The XP strategy would seem to involve throwing
more programmers at the program every time a
change is needed.
In contrast, if someone developed an insight
into the problem space, they might be able
to build a flexible, configurable program.
A configurable program can change with the
changing requirements, without the need for
an extensive reprogramming
effort with each change.
The insight approach, which requires a
certain amount of peering into the future
and building functionality that you might
need, is denounced as "gold-bricking"
by XPers.
But I wonder what the total costs are, once you
factor in all the maintenance effort -- in
code that just manages to do what it needs
to, as well.
(You could argue that 9 out of 10 large
software projects fail.
So if XP delivers 3 times out of 10, it's
cheaper to just build an entire new system
from scratch every time you need a change.
I'm not convinced.)
I find Google pretty good at finding leads for
things and sites which are actually about
the subject I'm interested in.
Then comes the process of weeding out
lightweight press releases and articles
in the search for that elusive auhoritative
article or reference.
The lightweight stuff is, justifiably, more
popular and gets more links.
It's just that when one wants to go beyond
Introduction to Duckspeak or
Duckspeak Tutorial to
Deep Duckspeak Analysis the popularity
weighting starts hindering things.
Working out what's reference material still
needs an understanding of context and content.
Librarian is probably going to be
the job of the 21st century.
So who is more American, Ben Franklin or Bill Gates?"
Or Abraham Lincoln, who was awarded patent 6469
for a device to lift boats over shoals?
"[patent laws have] secured to the inventor,
for a limited time, the exclusive use of his
invention; and thereby added the fuel of
interest to the fire of genius, in the
discovery and production of new and
useful things."
The existence of strong encryption technologies, software that defeates copyright-protection...
Technical problems can only be solved technical solutions
These two examples are
social problems.
Strong encryption technologies are -- until
quantum computing arrives, at least -- pretty
much a solved technological problem.
The problems it poses are ones like:
"Does society, as a whole, want to allow
anyone to hide the evidence of their activities?
Including that guy collecting protection money?
Including those kidnappers?
Including that serial killer?"
or
"Does society, as a whole, want to allow
a government that can erase all records of
their activities simply by forgetting a few
passwords?"
Human-rights trials for nasties like
the Khmer Rouge or the Stazi often have to
use the records that they, themselves,
have gathered.
Nice of us to give them an
"instant erase" button on a plate.
Similarly, the copyright-breaking software is,
pretty much, a solved technical problem.
But the question remains as to how much reward
a creator should be given and how that reward
is gathered and distributed.
Nobody wants copyright-breaking software
in and of itself; what they want is the stuff
that is copyrighted -- the creative work.
If copyright-breaking software helps dry up
the source of readily available of creative work,
then it's a net loss.
Looks like a social problem to me.
And technical problems can be solved by
non-technical solutions.
A way of solving a problem is to make the
root of the problem go away.
If you reduce the burglary problem to
insignificance, all those technical problems
to do with the control of laser-cannon in
home security also vanish.
This touches on a larger question.
How much responsibility do the creators
of software owe to the rest of society?
Most software has unforseen consequences.
(As do grandiose political programs, but I'm
talking about the software domain, here.)
Technologies such as strong encryption can
have quite large societal consequences,
not all of them begnin.
When does everybody else get a say?
Is releasing them without the general agreement
of society an abuse of power?
I'm just not that impressed with arrogant,
power-hungry techheads, as well.
If you do go for computer science, make sure
that the course covers the theory of CS and
doesn't just teach you "how to program".
I majored in physics.
I later went back and did CS as a graduate
student.
The amount of useful theoretical stuff I
learned about grammars, complexity theory,
semaphores, analysis of algorithms, language
design and so on during that time has stood
the test of time and informed everything I've
ever done from then on.
The theory books still remain on my shelves after
thousands of System X49.J33 Unleashed!
books have been consigned to the dustbin of
history.
The point of going to university is to get
an education, not do an apprenticeship.
I'm for science for the sake of science,
but making any inferences on such limited social
science data is dangerous,
especially considering there has been
extensive academic studies already done on
the "doll preference test" (and cited in
Brown v. Board of Education).
The doll preference test had a sample size of 16.
http://varenne.tc.columbia.edu/class/common/dolls_ in_brown_vs_board.html contains an excerpt from the trial.
She had a sample size of 30; double the number
apparently considered adequate for
"extensive academic studies."
(She, also, seems to have reproduced the
doll preference test results for children.
So I don't quite understand what the
complaint is.
Did she get the "wrong" results for
adults?)
Her experimental protocols may not be
particularly sophisticated.
But this is part of the learning process.
Rather than being stomped on, she should be
encouraged to refine and improve her experiments.
Perhaps some more information on blind testing?
Thus she is educated.
That would be treatment I'd hope for anyone
doing any exploration; not just
science, not just social science.
Fortean Times, a magazine devoted to odd
phenomena, had an article by a
"photographic expert" on this subject
a while back.
The usual claims were aired
(secondary light source, cross hairs, etc.)
The readers responded in force, and with some
sarcasm.
Back when Smalltalk was young, I remember reading
similar sentiments in the Green Book
(c 1983) as to how the OS just got in the way,
Smalltalk could do everything, etc. etc.
The Smalltalk stuff was from a programmer's
point of view, naturally.
But the sentiments seem very similar.
The Green Book also contained lots and lots
of cartons along the lines of
"I just changed this little bit and it all
fell over and I can't get anything to work!"
Not a coincidence, I suspect.
It also placed a great block in getting
Smalltalk accepted on general purpose systems.
And this is the purpose of an OS, a tool to allow
you to do a lot of things with one piece of
general-purpose hardware.
Imagine having your word-processor
machine and your email machine and
your web browser machine and your MP3
machine and your... all as separate
pieces of harware; the thought adds a new
meaning to rack mounting.
Seems fair enough to me. If Windows 2000/NT 5.0
can get a guernsey, even though it eventually
came into being, so can Linux.
On the whole, this looks like symptoms of Linux
becoming a seriously regarded system, with all
the problems that implies.
Once people start tying full-on commercial
decisions and "face" to a software
product, on the basis of promises -- real or
inferred -- from developers, then there's considerable pressure to be seen to produce
something.
Particularly when the product is in a rather
competitive environment and the release promises
to plug some fairly obvious gaps vis a vis ones
competitors.
There's nothing particularly bad about this.
(And I'd rather a late stable release than an
early, flakey release any day.
Although it's not like I have anything much
riding on 2.4.0.)
But I think the Linux community should be
prepared for a lot of this kind of thing; not
just from the kernel, but from other
high-profile packages, as well.
It would be nice to have my name/address/email follow me about, rather than having to type the same information in a million times. It would be good if I were automatically informed if my son had been involved in an accident. It would be potentially lifesaving to have hospitals be able to exchange data about the allergic reaction to antibiotics that I don't have.
However, I'm not willing to become a piece of marketing data to achieve this state of events. There's a structural problem here in that any commercial organisation that provides this service is going to be extremely tempted to use the data as a secondary source of income. Since this secondary source of income can be used to lower any fees charged, there's the potential for more privacy-respecting competitors to be driven from the market.
One possible solution here would be to have a statutory body administer the data "for the public good". There would need to be legislative barriers in place to prevent other agencies from going on fishing expeditions. As there would need to be for a private organisation, for that matter. In my country, the Census already collects this kind of data, although not with the same level of turn-around, and manages to do a reasonable job of privacy protection. So it's at least notionally possible.
Merely that users wish to expend their brainpower on something else, surely? I don't hand-build my fridge, car or furniture.
This reminds me of an article Umberto Eco wrote yonks ago, comparing the PC and the Mac in terms of religion. The Mac is a Catholic machine, you go to the priest, say the correct formulas and you are forgiven of your sins -- or, at least, you get your document printed. The PC is a Protestant machine, you have to enter into a diffcult and personal relationship with your God, full of self-doubt and introspection.
Time moves on and it looks like Microsoft has gone Catholic (which may explain some of the conspiracy theories). And Linux is the new Protestantism.
Plus ca change ..
Er. Yes. Both ways.
Sendmail is a pretty good example of what I mean, in some senses. Configuring it is difficult and messy. And you'll get no argument from me that the syntax is peculiar, difficult and ripe for improvement.
But sendmail is complicated because mail is complicated and subject to all kinds of strange whims. (Not all of sendmail's sprawling magnificence is caused by configuration issues.) Compare configuration to forcing someone to go through the sendmail code, figure out what it means and adjust the code accordingly. And correctly: no accidentally introduced security holes or memory leaks. (In an XP environment, this is even more nasty, as the code isn't logically complete; it's the minimum required to get the problem du jour out of the way. Have fun trying to understand it.)
Yet, with a bit of help from m4, millions of sendmail systems are running in all kinds of environments. Is replacing this with a million bespoke hacks a good idea?
For a one-off, this is probably a pretty sensible strategy. The problem is that most programs of any utility need to change over time as requirements change. The XP strategy would seem to involve throwing more programmers at the program every time a change is needed. In contrast, if someone developed an insight into the problem space, they might be able to build a flexible, configurable program. A configurable program can change with the changing requirements, without the need for an extensive reprogramming effort with each change.
The insight approach, which requires a certain amount of peering into the future and building functionality that you might need, is denounced as "gold-bricking" by XPers. But I wonder what the total costs are, once you factor in all the maintenance effort -- in code that just manages to do what it needs to, as well.
(You could argue that 9 out of 10 large software projects fail. So if XP delivers 3 times out of 10, it's cheaper to just build an entire new system from scratch every time you need a change. I'm not convinced.)
The lightweight stuff is, justifiably, more popular and gets more links. It's just that when one wants to go beyond Introduction to Duckspeak or Duckspeak Tutorial to Deep Duckspeak Analysis the popularity weighting starts hindering things.
Working out what's reference material still needs an understanding of context and content. Librarian is probably going to be the job of the 21st century.
Or Abraham Lincoln, who was awarded patent 6469 for a device to lift boats over shoals?
http://showcase.netins.net/web/creative/lincoln/ed ucation/patent.htm
These two examples are social problems.
Strong encryption technologies are -- until quantum computing arrives, at least -- pretty much a solved technological problem. The problems it poses are ones like: "Does society, as a whole, want to allow anyone to hide the evidence of their activities? Including that guy collecting protection money? Including those kidnappers? Including that serial killer?" or "Does society, as a whole, want to allow a government that can erase all records of their activities simply by forgetting a few passwords?" Human-rights trials for nasties like the Khmer Rouge or the Stazi often have to use the records that they, themselves, have gathered. Nice of us to give them an "instant erase" button on a plate.
Similarly, the copyright-breaking software is, pretty much, a solved technical problem. But the question remains as to how much reward a creator should be given and how that reward is gathered and distributed. Nobody wants copyright-breaking software in and of itself; what they want is the stuff that is copyrighted -- the creative work. If copyright-breaking software helps dry up the source of readily available of creative work, then it's a net loss. Looks like a social problem to me.
And technical problems can be solved by non-technical solutions. A way of solving a problem is to make the root of the problem go away. If you reduce the burglary problem to insignificance, all those technical problems to do with the control of laser-cannon in home security also vanish.
This touches on a larger question. How much responsibility do the creators of software owe to the rest of society? Most software has unforseen consequences. (As do grandiose political programs, but I'm talking about the software domain, here.) Technologies such as strong encryption can have quite large societal consequences, not all of them begnin. When does everybody else get a say? Is releasing them without the general agreement of society an abuse of power?
I'm just not that impressed with arrogant, power-hungry techheads, as well.
I majored in physics. I later went back and did CS as a graduate student. The amount of useful theoretical stuff I learned about grammars, complexity theory, semaphores, analysis of algorithms, language design and so on during that time has stood the test of time and informed everything I've ever done from then on. The theory books still remain on my shelves after thousands of System X49.J33 Unleashed! books have been consigned to the dustbin of history.
The point of going to university is to get an education, not do an apprenticeship.
The doll preference test had a sample size of 16. http://varenne.tc.columbia.edu/class/common/dolls_ in_brown_vs_board.html contains an excerpt from the trial.
She had a sample size of 30; double the number
apparently considered adequate for
"extensive academic studies."
(She, also, seems to have reproduced the
doll preference test results for children.
So I don't quite understand what the
complaint is.
Did she get the "wrong" results for
adults?)
Her experimental protocols may not be particularly sophisticated. But this is part of the learning process. Rather than being stomped on, she should be encouraged to refine and improve her experiments. Perhaps some more information on blind testing? Thus she is educated. That would be treatment I'd hope for anyone doing any exploration; not just science, not just social science.
http://www.forteantimes.com/artic/97/moon.html for the responses.
The Green Book also contained lots and lots of cartons along the lines of "I just changed this little bit and it all fell over and I can't get anything to work!" Not a coincidence, I suspect.
It also placed a great block in getting Smalltalk accepted on general purpose systems. And this is the purpose of an OS, a tool to allow you to do a lot of things with one piece of general-purpose hardware. Imagine having your word-processor machine and your email machine and your web browser machine and your MP3 machine and your ... all as separate
pieces of harware; the thought adds a new
meaning to rack mounting.
Do we have to go through this all again?
Try the Science Museum in London:
http://www.sciencemuseum.org.uk
They have a communications and computing
collection and, for extra points, have actually
built Babbage's analytical engine.
On the whole, this looks like symptoms of Linux becoming a seriously regarded system, with all the problems that implies. Once people start tying full-on commercial decisions and "face" to a software product, on the basis of promises -- real or inferred -- from developers, then there's considerable pressure to be seen to produce something. Particularly when the product is in a rather competitive environment and the release promises to plug some fairly obvious gaps vis a vis ones competitors.
There's nothing particularly bad about this. (And I'd rather a late stable release than an early, flakey release any day. Although it's not like I have anything much riding on 2.4.0.) But I think the Linux community should be prepared for a lot of this kind of thing; not just from the kernel, but from other high-profile packages, as well.