Geoff Collyer

From 1994 through 2001 and again from 2006 to 2014,
I was a Member of Technical Staff at
Bell Labs
(originally a part of AT&T, now a part of
Alcatel-Lucent)
in Murray Hill, NJ,
where I worked on operating systems and
messaging systems and protocols, among other things.

pgp public key(s)

My current
RSA public key
was generated by PGP 2.6.2
(i.e. it's in the second of three or four incompatible formats)
and its fingerprint is

ranting and raving

Herr Drumpf, 9 nov 2016

23% of the US voting age population elected Donald Trump,
despite Hillary Clinton winning the popular vote,
so let's not hear any gibberish about how he has a mandate.

the sad state of crytographic infrastructure, 17 May 2012

I've been looking at ssh and IPsec again and it's made me realise again
that we (in the computing field)
have made a mess of the artifacts of cryptography
and it's entirely our own fault.
Starting from goals such as privacy and authentication of communication,
we have taken aim at our feet and fired with

oids (object ids)

the X.509 binary encoding used for key certificates

dozens of certificate `authorities'

protocols with so many optional parts and choices that systems can barely interoperate

an array of binary key formats

and more

PGP is a sad example:
by changing key formats and algorithms repeatedly
(sometimes for compelling legal reasons),
interoperability is so impaired that you pretty much
need to know in advance which version of PGP each recipient uses.

The triumph of ssh v2 (a classic second system)
over v1 is another example:
whatever the theoretical weaknesses of v1 were,
it was surely better to encrypt one's communication than not.
We need a v3, a stripped-down and streamlined version closer
to v1 than v2.

We seem to be better at building great steaming piles of crypto
(e.g., OpenSSL)
than getting to the core of what needs to be done and doing just that.

i hate git, 17 December 2015

I have used plenty of revision control systems and don't really like any of
them (though I can use them), but I truly detest git,
which I find unusable.
It's slow, wasteful, bureaucratic, and over-complicated,
which does make it a good match for Linux, for which it was written.

added multicasting (for IPv6) and shutdown entry points to drivers
for all modern ethernet cards.
updated the connection server to recognise
icmpv6.
fixed the kernel to recognise v6 addresses starting with ``20'' as global.

ported
dbm
and
mdbm
libraries and made them use a consistent byte order on disk,
rendering the databases portable across CPU architectures.

added device mirroring (think RAID 1) to the Plan 9 file server kernel.
Combined with support for IDE disks,
this enables use of inexpensive hardware to form
a large Plan 9 file server.

set up and ran the largest Plan 9 file server
(with optical disc jukebox)
inside Bell Labs other than the main Plan 9 development file server.
Extended support for jukeboxes with optical disks of varying sizes.
The smaller jukeboxes can now be had second-hand quite cheaply.

on the
inferno
distributed operating system,
built a scalable message store that served a broken-out view of MIME
messages, and designed and implemented rsmtp, an SMTP replacement.
Got Inferno running on Mac OS X.

configuring IPv6 tunnelling networks

developed the operating system for the now-defunct
AT&T HomeCenter™
set-top box, notably DSP communication, and the C library.

publications

evolution of operating systems:
Research Unix in
html and
postscript
(updated 23 Dec 1998 to more closely match the printed article
in Microsystems in 1984).
Also, a new, improved draft that fixes a number of errors we missed the
first time around and adds real references, in
html and
postscript.

software reimplementation:
the shell,
including
stak.c from the appendix,
and a newer, tidier
stak.c
that eliminates
struct
alignment problems that showed up on the Alpha.
I've retrofitted the above memory-management, directory-reading
and a few other changes into a V7 sh
that should run on POSIXy systems.
It's been run on the BSDs and Linux on x86 and amd64 PCs,
and ARM64 systems without trouble.
Among its other features,
it lacks the GNU
readline
library, so what you type is what you get.
Update!Mon Mar 7 04:03:13 PST 2005:
To get it running on 64-bit Suns, I had to change two declarations;
v7sh.tar and the newer
stak.c have been updated.

computing interests

an early outline of a proposed-but-rejected book about
why Plan 9 matters.
Pardon the formatting; it was converted to HTML mechanically.

the
inferno
distributed system,
derived from Plan 9,
and the
limbo
language, which features particularly helpful support
for processes sharing address space.
If POSIX pthreads give you the willies,
limbo might be for you.
inferno runs on bare 386 or Sparc hardware
and as a `guest OS' on the usual (l)Unixes and MS Windows.

archiving and optical media, notably CD-R.
Plan 9 has a convenient backup system using optical disks,
discussed in its
overview,
file server
and
port
papers.
The
venti
block store is a worthy replacement when combined with
fossil,
the file server built on top of
venti.

indexing.
This
is the distribution of my
nov
news overview database code.
Nov
is now incorporated into essentially all serious newsreaders.