M. Douglas McIlroy, Adjunct Professor
Department of Computer Science
6211 Sudikoff Hall
Dartmouth College
Hanover, NH 03755
mcilroy@dartmouth.edu
+1 603 646 1077
- 2003 marked my golden anniversary as a programmer. Hooked when Bob
Walker introduced his numerical analysis class to Cornell's newly-arrived IBM
CPC, I have ever since applied my training in engineering, physics, and math
to this endlessly fascinating vocation. I had the good fortune to head the
research department at Bell Labs in which Unix was born, and to work
with some of the most creative talents in computing. Some things I have worked
on:
-
- Languages and compilers: macros, Lisp, PL/I, TMG (a compiler-compiler), regular
expressions; influenced Snobol, Altran, C++
- Stream processing: Unix pipes,
classic coroutine sieve, power
series
- Computer security
- Unix programs: spell, diff, sort, join, graph, speak, tr, tsort, calendar, echo, tee, etc.
- Cartography: map projections
- Algorithms for graphics
- Storage allocation theory and practice; first conservative
garbage collector
- Theorem-proving in logic and geometry
- Documentation: making Unix manuals short and accurate
- Upon retiring from Bell Labs, I moved to another happy
situation, at Dartmouth as adjunct professor of
Computer Science
and affiliate of the
Institute
for Security Technology Studies. Here I have taught
-
- Advanced operating systems, CS108
- Information systems, CS33
- Data structures, CS15
- Logic of programming, CS188
- Programming languages, CS118
- and have given guest lectures in several other
courses.
Best Webstern
word squares
R A C I S M W A S S A I L
E V I N C E A N T E N N A
P E R S O N S T R I N G Y
A S C E N T S E I Z U R E
S T U C C O A N N U L A R
T A S T E R I N G R A T E
L A Y E R E D
Dual cryptograms
HILLARY MENTORS SILVERY VERVAIN; BINDERY SUCCORS CORRIDA SLOGGER.
BARRENS HOLDING GARCONS CONCEAL WALTONS' GYPPING PINNATE GRIFFON.
Power serious: Haskell magic
revert (0:ft) = rs where rs = 0 : 1/(ft#rs)
Tiniest C sort function?
s(a,n)int*a;{n-->1?s(a,n),s(a+1,n),n=*a,*a=a[1],a[n>*a]=n:0;}
Basic CS reading list
Cook's Travels and Other Salesmen's Tales — Dick Karp
An appreciation of the late Dennis Ritchie
Other info
Dartmouth's Communication Files:
Interprocess IO before pipes.
Source code
for map projections, suffix arrays, quicksort and antiquicksort, word squares, etc.
Original description of Darwin, a 1961 game of
survival of the fittest among programs, progenitor of
Core Wars
Honors: Usenix Association
Flame and
Software Tools awards; member
National Academy of Engineering; fellow AAAS
Biography |
Dartmouth CS |
Dartmouth ISTS |
Bell Labs CSR
Extracurricular
Hanover trails,
mapped by a committee that I chair.
Piseco Yacht Club
Invasive plants site
organized by my wife, Barbara McIlroy.
Scenes from Ho, Ghana, 2001.
Modified March 17, 2014