16 Jun 2003 (updated 16 Jun 2003 at 19:55 UTC)
»
You can find a very good puzzle at
the ITA Software
"careers" page. It's stood much longer than any of
the earlier ones. Solve it elegantly and you will likely
be invited to work on much harder puzzles.
There's nothing very hackish about musings on capitalism
vs. socialism, or their minor variants (respectively)
fascism and communism. A more hackish take on capitalism
(as expressed in the U.S. and Europe) would be to note
that a corporation is, ideally, a robot programmed to
exploit differences in perceptions of value by place (trade)
or time (investment). The program is the charter, the
machine is the financial/legal system, the hardware is
employees, equipment, and police, and the environment is
the economy. Robot War isn't just a game, it's a
simulation of the Real World.
Key observations... The values of the employees are
of only minor significance. If they differ from those
expressed in the charter and the laws of corporate
governance enough to keep the corresponding employees
from acting fully in tune with
those terms, those employees can be replaced, and indeed,
by law, must be. Worse, nothing in the law or the typical
charter prevents the corporation applying its full power
toward acting to change the law or its application to
enforcing the charter. This is a scary fact when the
strongest influence on modern voters' behavior is exerted
by the enormous multimedia corporations. We see its
application in the DMCA and related nefariousness, and
indeed in the charge to war in Mesopotamia.
It's not for nothing that science fiction writers have
been writing stories about humanity enslaved by the
machines we build. Too late, it's already happened.
On a cheerier note, I bought one of those replacement
laptop disks that comes with a PCMCIA IDE adapter, and
replaced my failing 12G Hitachi disk with a 20G Toshiba,
with no problems. This is the fourth drive I've had in
this laptop; each has lasted about a year, and has given
plenty of warning of impending failure. Since the old
drive didn't actually fail, I have a backup. (A policy
of annual backups doesn't inspire much confidence.)
Even better, a patch I sent in to the Gcc libstdc++ project
that I expected would speed up multi-threaded string
operations turned out to make a 30x (!) improvement on
certain single-thread benchmarks, on P4s. I really have
to start actually measuring my optimizations. :-)
Meanwhile, Paolo's work is coming along famously. There's
a very good chance that iostreams in gcc-3.4 will be
something to be proud of, not an embarrassment as in
releases <= 3.3.
I've taken advantage of Bittorrent (thanks
Bram) and tvtorrents.com to get to see
episodes of "The Tick" for the first time. This involves
using things like mplayer or gnome-xine. Isn't it odd
that no movie player on Linux allows frame-by-frame
stepping, or slow-motion, or fast-forward? You
wouldn't buy a VHS or DVD player that lacked those
features. They ought to be trivial to implement, but
would have been already if that were true.
I suspect the underlying libraries' APIs are not
flexible enough to do that, a consequence perhaps
of the inadequate modeling of time and sequential
processes in current languages. Does gstreamer's
API allow it? (The Debian packaging of gstreamer
is broken right at the moment, making it just a little
too much trouble to find out for myself.)