Hmm. Bits of it work, too. We can create a new process, switch
to it, run something, and switch back. Debugging it is a bind,
though: the debugger depends for corect operation on many of the bits
we're tampering with.
We can run two threads printing "aaaa" and "bbbb". Woo.
Unfortunately we can't start a third, because we're starting them
from the toplevel, which is running in the idle thread, which is not
getting scheduled because we're never idle because the other two
threads are running
Or something.
Note to non-lispers: you may be used to the noun process
meaning "unix process with its own address space and stuff". Due to
its long tradiiton of ignoring^Wdespising Unix, Lisp often uses the
term to mean what Unix people would call a thread. Neither
side is about to give up, I suspect. (I tend to use either depending
on how who I'm talking to and how much sleep I've had lately)
Oh, got some cyling done today too: the weather was too nice not
to. Unfortunately I broke the mounting for my cycle computer after
the first 18 seconds, so I have basically no idea how fast I was going
for the rest of it. Probably not very.
FTX13 this month will be either late or not happening#
Sat Mar 30 10:14:18 2002
Topics:
FTX13 this month will be either late or not happening. Late
because I won't have much of a network this weekend, possibly not
happening because of lack of interest. Lack of interest especially
from most of the projects it mentions, and I'm bored of doing it all
myself when I could be hacking.
I keep opening up this file to write something related to the#
I keep opening up this file to write something related to the
ongoing comp.lang.lisp thread(s) on free^WFree software, then my will
deserts me again. I've just got through reading (more accurately,
skimming) all the stuff that happened over the weekend, so let's try again.
Free software may destroy the market for proprietary software. It
would be unfortunate if that happened insofar as employees and owners
of proprietary software companies would have to find something else to
do. It's unfortunate that companies leveraging the expressiveness and
flexibility of Lisp are adversely affecting the owners and employees
of companies trying to do the same thing in 8080 assembler. It's
unfortunate that the invention and subsequent production of the spade
caused all the people previously employed to dig holes with their bare
hands to go out of business.
So it's not just a free software problem, it's a technology
problem. The technologies that were supposed to increase our leisure
time have actually managed to increase the leisure time of some people
to all of the time, and left other people working 80 hour
weeks.
What can we do? We can pretend the whole thing will go away if we
ignore it. We can decide that some people (e.g. Lisp vendors) are
more valuable than others (hot metal press operators) and therefore
only some jobs are worth safeguarding. Or what else? Work less?
(Suits me, anyway ;-)
FTX13 didn't happen, and I expect will be continuing to not happen
in future months (a total of two people commented on its
nonappearance). It was dull to write, it was probably dull to read.
With any luck the forthcoming Yadda
Lambda should be more interesting. Personal opinions (which are,
frankly, a good deal more fun to talk about anyway) continue to be
opined here as and when.
OxLUG meeting today; Russell
Coker talked on the NSA's Security-Enhanced Linux (and here). Interesting stuff.
Per-process security domains are neat, but of course mean that you
have to split stuff up into many Unix processes to get any advantage
from it; a single proicess running Lisp that starts life at boot time
is not going to be helped by this. Sigh. Unix is a bad fit for the
traditional Common Lisp model. And vice versa. Do we think that
eventually Unixheads will figure out some sane way to let a process
gain and relinquish privileges withing exec()ing anything (apparently
the Hurd can do this. Does anyone use the Hurd?) or do we think that
each of the two communities will use this as further evidence that the
other has a basically misguided outloook?
So, yes, the separate-memory-space processes-invoked-by-exec() Unix
model is limiting: let's face it, (string) is not an adequately rich
library of data types to build reliable systems by composing Unix
"components". On the other hand, there is a clear need in today's
systems for protecting one process from another, and there's presently
nothing better than the Unix model for doing this. Anyone who claims
that the lisp package system is capable of this is welcome to give me
an account on their system and let me try to break it. ssh public key
available on request.
Threading: see http://sourceforge.net/mailarchive/forum.php?thread_id=625342&forum_id=4134#
Still need lots of process control stuff (run/arrest reasons,
killing a running thread, pause/continue, etc). Still need a locking
implementation that does more than a NOP. Still need to find the
cause of some as-yet unexplained segvs. Would like to find out
why we need to zero unused portions of control stack quite as often as
we do, given that GC only scavenges the active bit anyway.
In the course of recompiling it yesterday I managed to run my host
compiler out of dynamic space. OK, so also need (1) a host compiler
with bigger spaces (building now) and slightly more graceful
out-of-space behaviour than an unexplained segmentation fault.
In other news, I think I pulled a muscle somewhere in my neck, or
something. Falling asleep on the sofa was not such a smart idea, I
guess.
Do you ever get so angry that sometimes your face reddens, your
fists involuntarily clench, your stomach tightens, the vein on your
forehead starts throbbing, your pupils narrow, and a small pool of
blood wells up in your eye socket and trickles down your cheek?
If so, seek professional help. Especially about the bit
with the blood. That's just gross.
The rest of you can take this short test:
Think of an integer between 0 and 100 inclusive
Double it and add 7
Shut your eyes
If you can still read step 4, you're probably cheating
Users of text-to-speech systems, Braille interfaces, and other
web interfaces that don't involve the usual photon stuff are exempt
from this diagnosis.
On Monday I went to the
Campaign for Digital Rights Miniconference on the European
Copyright Directive. If you live in the UK and ever read books, or
listen to records, or use software, you should probably be concerned.
A lot of people are reasonably concerned about the effects of digital
copying on their industries, but legislating that it's illegal to
break the copy protection (even when you have a legitimate use, like
needing to transfer software to your new computer, or lending books
from a library, or ...) is not the Right Answer. The software
industry shelved copy protection a decade ago because users didn't
like it; do we have to go through the same thing again?
Before the conference, 5pm tube travel reminded me quite
sharply why I moved out of London.
After the conference, beer. After beer, pizza. After pizza, bus
back from Islington to central London, and coach back to Oxford,
arriving around 3am.
Today, new asdf version. Actually
mostly done on the coach down to London yesterday. Also registered
for the UKUUG Linux
Developers' Conference. If you haven't already done likewise, you
just missed the early rate. Update: uh, no you didn't. I was
confused with OLS: the UKUUG early rate runs for another month yet.