chiark / gitweb /
otter.git
3 years agowip await gen
Ian Jackson [Tue, 29 Dec 2020 23:56:59 +0000 (23:56 +0000)]
wip await gen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip await gen
Ian Jackson [Tue, 29 Dec 2020 23:56:21 +0000 (23:56 +0000)]
wip await gen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip await gen
Ian Jackson [Tue, 29 Dec 2020 23:56:07 +0000 (23:56 +0000)]
wip await gen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip await gen
Ian Jackson [Tue, 29 Dec 2020 23:38:29 +0000 (23:38 +0000)]
wip await gen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agogen_update_hook
Ian Jackson [Tue, 29 Dec 2020 22:59:34 +0000 (22:59 +0000)]
gen_update_hook

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agotype of Generation
Ian Jackson [Tue, 29 Dec 2020 03:12:56 +0000 (03:12 +0000)]
type of Generation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agosplurge less junk to log
Ian Jackson [Tue, 29 Dec 2020 02:36:15 +0000 (02:36 +0000)]
splurge less junk to log

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoplumb log through, it works now really
Ian Jackson [Tue, 29 Dec 2020 02:31:50 +0000 (02:31 +0000)]
plumb log through, it works now really

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoplumb log through, it works now!
Ian Jackson [Tue, 29 Dec 2020 02:10:20 +0000 (02:10 +0000)]
plumb log through, it works now!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agodebug template injection
Ian Jackson [Tue, 29 Dec 2020 02:05:47 +0000 (02:05 +0000)]
debug template injection

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agodebug template injection
Ian Jackson [Tue, 29 Dec 2020 02:05:04 +0000 (02:05 +0000)]
debug template injection

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoformat log better
Ian Jackson [Tue, 29 Dec 2020 01:21:51 +0000 (01:21 +0000)]
format log better

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agofetch_log
Ian Jackson [Tue, 29 Dec 2020 01:14:26 +0000 (01:14 +0000)]
fetch_log

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip console logging
Ian Jackson [Tue, 29 Dec 2020 01:05:11 +0000 (01:05 +0000)]
wip console logging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip console logging
Ian Jackson [Tue, 29 Dec 2020 00:42:19 +0000 (00:42 +0000)]
wip console logging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip random flail
Ian Jackson [Tue, 29 Dec 2020 00:12:24 +0000 (00:12 +0000)]
wip random flail

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoproduces some kind of Xul error but none of my script's output
Ian Jackson [Tue, 29 Dec 2020 00:01:58 +0000 (00:01 +0000)]
produces some kind of Xul error but none of my script's output

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agotrying to get console log output somewhere (!)
Ian Jackson [Mon, 28 Dec 2020 23:58:41 +0000 (23:58 +0000)]
trying to get console log output somewhere (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agogeckodriver args
Ian Jackson [Mon, 28 Dec 2020 23:41:50 +0000 (23:41 +0000)]
geckodriver args

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agologging etc.
Ian Jackson [Mon, 28 Dec 2020 23:39:18 +0000 (23:39 +0000)]
logging etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip synch
Ian Jackson [Mon, 28 Dec 2020 23:00:55 +0000 (23:00 +0000)]
wip synch

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip synch etc.
Ian Jackson [Mon, 28 Dec 2020 22:58:05 +0000 (22:58 +0000)]
wip synch etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip otter cmd debug
Ian Jackson [Mon, 28 Dec 2020 22:54:46 +0000 (22:54 +0000)]
wip otter cmd debug

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip instances etc.
Ian Jackson [Mon, 28 Dec 2020 22:44:44 +0000 (22:44 +0000)]
wip instances etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agocargo update
Ian Jackson [Mon, 28 Dec 2020 22:38:28 +0000 (22:38 +0000)]
cargo update

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoget rid of spurious &
Ian Jackson [Mon, 28 Dec 2020 19:45:38 +0000 (19:45 +0000)]
get rid of spurious &

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoreduce monomorphisation
Ian Jackson [Mon, 28 Dec 2020 19:44:29 +0000 (19:44 +0000)]
reduce monomorphisation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agomake subst more generic
Ian Jackson [Mon, 28 Dec 2020 19:34:04 +0000 (19:34 +0000)]
make subst more generic

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agorustc panics, probably due to syntax error
Ian Jackson [Mon, 28 Dec 2020 18:15:42 +0000 (18:15 +0000)]
rustc panics, probably due to syntax error

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoMake connection to server
Ian Jackson [Mon, 28 Dec 2020 18:12:51 +0000 (18:12 +0000)]
Make connection to server

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agomove cmd into mgmtchannel
Ian Jackson [Mon, 28 Dec 2020 17:58:08 +0000 (17:58 +0000)]
move cmd into mgmtchannel

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agomove MgmtChannel::connect to mgmtchannel.rs
Ian Jackson [Mon, 28 Dec 2020 17:52:42 +0000 (17:52 +0000)]
move MgmtChannel::connect to mgmtchannel.rs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip synch
Ian Jackson [Mon, 28 Dec 2020 17:47:25 +0000 (17:47 +0000)]
wip synch

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoset timeouts
Ian Jackson [Mon, 28 Dec 2020 17:29:39 +0000 (17:29 +0000)]
set timeouts

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoadjust demo spec to fit on test server screen
Ian Jackson [Mon, 28 Dec 2020 17:01:02 +0000 (17:01 +0000)]
adjust demo spec to fit on test server screen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoscreenshots
Ian Jackson [Mon, 28 Dec 2020 16:59:00 +0000 (16:59 +0000)]
screenshots

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip screenshots etc.
Ian Jackson [Mon, 28 Dec 2020 16:43:53 +0000 (16:43 +0000)]
wip screenshots etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agochange check_window_name
Ian Jackson [Mon, 28 Dec 2020 11:58:41 +0000 (11:58 +0000)]
change check_window_name

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoloads url in other window yay
Ian Jackson [Mon, 28 Dec 2020 01:42:17 +0000 (01:42 +0000)]
loads url in other window yay

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agobefore make Window not borrow Setup
Ian Jackson [Mon, 28 Dec 2020 00:42:15 +0000 (00:42 +0000)]
before make Window not borrow Setup

We want to borrow it mut so screenshot works
We need to not borrow it mut so you can have many windows

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip windows
Ian Jackson [Mon, 28 Dec 2020 00:32:16 +0000 (00:32 +0000)]
wip windows

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip FnMut thing
Ian Jackson [Sun, 27 Dec 2020 19:06:13 +0000 (19:06 +0000)]
wip FnMut thing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoadd parking_lot
Ian Jackson [Sun, 27 Dec 2020 18:45:36 +0000 (18:45 +0000)]
add parking_lot

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoseems to add players
Ian Jackson [Sun, 27 Dec 2020 01:36:19 +0000 (01:36 +0000)]
seems to add players

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agosubst more wip
Ian Jackson [Sat, 26 Dec 2020 20:31:43 +0000 (20:31 +0000)]
subst more wip

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agosubst more
Ian Jackson [Sat, 26 Dec 2020 17:31:50 +0000 (17:31 +0000)]
subst more

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip subst more
Ian Jackson [Sat, 26 Dec 2020 17:19:45 +0000 (17:19 +0000)]
wip subst more

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoruns otter to create table
Ian Jackson [Sat, 26 Dec 2020 12:26:53 +0000 (12:26 +0000)]
runs otter to create table

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoscreenshotting etc.
Ian Jackson [Sat, 26 Dec 2020 11:31:28 +0000 (11:31 +0000)]
screenshotting etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoarrange to split log_config from config
Ian Jackson [Fri, 25 Dec 2020 18:05:13 +0000 (18:05 +0000)]
arrange to split log_config from config

Mostly to make debug better

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip sort out test case config
Ian Jackson [Fri, 25 Dec 2020 17:50:20 +0000 (17:50 +0000)]
wip sort out test case config

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip prepare game
Ian Jackson [Thu, 24 Dec 2020 22:01:47 +0000 (22:01 +0000)]
wip prepare game

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agodebug from wdt exe
Ian Jackson [Thu, 24 Dec 2020 01:28:39 +0000 (01:28 +0000)]
debug from wdt exe

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agouse logging
Ian Jackson [Thu, 24 Dec 2020 01:27:30 +0000 (01:27 +0000)]
use logging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agologging
Ian Jackson [Thu, 24 Dec 2020 01:24:25 +0000 (01:24 +0000)]
logging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agojust_warn
Ian Jackson [Thu, 24 Dec 2020 01:05:11 +0000 (01:05 +0000)]
just_warn

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip actually show a thing
Ian Jackson [Wed, 23 Dec 2020 18:32:38 +0000 (18:32 +0000)]
wip actually show a thing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agostartup protocol
Ian Jackson [Wed, 23 Dec 2020 18:26:53 +0000 (18:26 +0000)]
startup protocol

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip startup protocol
Ian Jackson [Wed, 23 Dec 2020 18:21:21 +0000 (18:21 +0000)]
wip startup protocol

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agouse structopt for server args
Ian Jackson [Wed, 23 Dec 2020 18:12:56 +0000 (18:12 +0000)]
use structopt for server args

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoclarify messages
Ian Jackson [Wed, 23 Dec 2020 15:30:41 +0000 (15:30 +0000)]
clarify messages

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agonow our test daemon-otter starts up
Ian Jackson [Wed, 23 Dec 2020 15:26:21 +0000 (15:26 +0000)]
now our test daemon-otter starts up

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip dir handling
Ian Jackson [Wed, 23 Dec 2020 15:18:13 +0000 (15:18 +0000)]
wip dir handling

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoshow completions
Ian Jackson [Wed, 23 Dec 2020 14:47:43 +0000 (14:47 +0000)]
show completions

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agosort out pausing
Ian Jackson [Wed, 23 Dec 2020 14:39:16 +0000 (14:39 +0000)]
sort out pausing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agosort out env some more, etc.
Ian Jackson [Wed, 23 Dec 2020 14:29:22 +0000 (14:29 +0000)]
sort out env some more, etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agonow test.png is nonempty
Ian Jackson [Wed, 23 Dec 2020 02:50:21 +0000 (02:50 +0000)]
now test.png is nonempty

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agostill nothing on the screen
Ian Jackson [Wed, 23 Dec 2020 02:35:44 +0000 (02:35 +0000)]
still nothing on the screen

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoretro makes it show
Ian Jackson [Wed, 23 Dec 2020 02:25:00 +0000 (02:25 +0000)]
retro makes it show

xwdtopnm < ../Build/server/tmp/wdt-simple/final.xwd  | gm display -

xwud and plain gm display don't work

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip trying to get a screenshot
Ian Jackson [Wed, 23 Dec 2020 02:22:33 +0000 (02:22 +0000)]
wip trying to get a screenshot

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip screenshots
Ian Jackson [Wed, 23 Dec 2020 02:03:03 +0000 (02:03 +0000)]
wip screenshots

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowell maybe it starts ff ?
Ian Jackson [Wed, 23 Dec 2020 01:50:55 +0000 (01:50 +0000)]
well maybe it starts ff ?

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agocloses fix it
Ian Jackson [Wed, 23 Dec 2020 01:43:03 +0000 (01:43 +0000)]
closes fix it

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agocleanup notify - not working
Ian Jackson [Wed, 23 Dec 2020 01:35:48 +0000 (01:35 +0000)]
cleanup notify - not working

I think I am bollixing up Command's own pipe with my pipe in the
pre-exec hook

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip cleanup notify
Ian Jackson [Wed, 23 Dec 2020 01:29:21 +0000 (01:29 +0000)]
wip cleanup notify

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agorun geckodriver
Ian Jackson [Wed, 23 Dec 2020 00:06:35 +0000 (00:06 +0000)]
run geckodriver

But we leak it

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agorefactor nfc, fix
Ian Jackson [Wed, 23 Dec 2020 00:06:22 +0000 (00:06 +0000)]
refactor nfc, fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agorefactor nfc except for messages
Ian Jackson [Tue, 22 Dec 2020 23:53:00 +0000 (23:53 +0000)]
refactor nfc except for messages

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoxvfb
Ian Jackson [Tue, 22 Dec 2020 23:34:24 +0000 (23:34 +0000)]
xvfb

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agox11rb dependency
Ian Jackson [Tue, 22 Dec 2020 23:26:06 +0000 (23:26 +0000)]
x11rb dependency

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agocargo update
Ian Jackson [Tue, 22 Dec 2020 23:25:32 +0000 (23:25 +0000)]
cargo update

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agokeepalive Xfvb
Ian Jackson [Tue, 22 Dec 2020 23:18:19 +0000 (23:18 +0000)]
keepalive Xfvb

We need -terminate because Xserver becomes its own pg or something.

Like this it fails, though, I think because the mere TCP connection
doesn't count.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agophased startup
Ian Jackson [Tue, 22 Dec 2020 23:10:56 +0000 (23:10 +0000)]
phased startup

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agocan run Xvfb
Ian Jackson [Tue, 22 Dec 2020 23:09:53 +0000 (23:09 +0000)]
can run Xvfb

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip Xvfb
Ian Jackson [Tue, 22 Dec 2020 23:05:40 +0000 (23:05 +0000)]
wip Xvfb

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip Xvfb
Ian Jackson [Tue, 22 Dec 2020 23:02:31 +0000 (23:02 +0000)]
wip Xvfb

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip tmpdir setup
Ian Jackson [Tue, 22 Dec 2020 22:33:22 +0000 (22:33 +0000)]
wip tmpdir setup

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip tmpdir setup
Ian Jackson [Tue, 22 Dec 2020 22:32:23 +0000 (22:32 +0000)]
wip tmpdir setup

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip simple test
Ian Jackson [Tue, 22 Dec 2020 21:35:14 +0000 (21:35 +0000)]
wip simple test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agostructopt
Ian Jackson [Tue, 22 Dec 2020 21:08:10 +0000 (21:08 +0000)]
structopt

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoRevert "Attempt to build std docs locally"
Ian Jackson [Tue, 22 Dec 2020 20:50:21 +0000 (20:50 +0000)]
Revert "Attempt to build std docs locally"

This reverts commit 67ffb097dbee0bd689e3b6075ade2ed421db5723.

3 years agoAttempt to build std docs locally
Ian Jackson [Tue, 22 Dec 2020 20:49:41 +0000 (20:49 +0000)]
Attempt to build std docs locally

But it doesn't work, producing some broken links eg
  file://///home/rustcargo/Rustup/Game/server/target/doc/std_doc/std/str/index.html
link "the str primitive type" to
  file://///home/rustcargo/Rustup/Game/server/target/doc/std_doc/std/primitive.str.html

3 years agowdriver thing builds a dummy now
Ian Jackson [Tue, 22 Dec 2020 19:59:22 +0000 (19:59 +0000)]
wdriver thing builds a dummy now

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agogah cargo is so annoying
Ian Jackson [Tue, 22 Dec 2020 19:56:42 +0000 (19:56 +0000)]
gah cargo is so annoying

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agofound, trying to do build thing
Ian Jackson [Tue, 22 Dec 2020 19:41:14 +0000 (19:41 +0000)]
found, trying to do build thing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agothirtyfour_sync wip tests
Ian Jackson [Sun, 20 Dec 2020 23:08:43 +0000 (23:08 +0000)]
thirtyfour_sync wip tests

Compiles, ready for actual code now I think.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agothirtyfour_sync wip tests
Ian Jackson [Sun, 20 Dec 2020 23:07:46 +0000 (23:07 +0000)]
thirtyfour_sync wip tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agothirtyfour_sync for tests
Ian Jackson [Sun, 20 Dec 2020 23:05:45 +0000 (23:05 +0000)]
thirtyfour_sync for tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agowip wdriver
Ian Jackson [Sun, 20 Dec 2020 19:55:33 +0000 (19:55 +0000)]
wip wdriver

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoupdate rand
Ian Jackson [Sun, 20 Dec 2020 22:36:43 +0000 (22:36 +0000)]
update rand

One fix

Promputed by "nailing-cargo -uo upgrades"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>