This is a list of all the articles that I have written for
SunExpert and S/W Expert
with their date of publication. If you're looking for the articles, then
many are available online (click on the article
title, you'll need a PDF reader, available
Please don't email to ask me for others, I don't have them, because
my copy was invariably edited by an excellent copy editor and so the
printed article was different. I havenever had the energy or time to
obtain them by scanning the articles.
The links on this page were correct at the time I added them to the
page, many of then are probably broken now.
This list is in reverse chronological order, you can jump to the start of each year
by using the links on the left.
Sadly this magazine has now died. I guess that you call the
'Evolution in Action'.
- December 2001: RCS
- The Revision Control System
- November 2001: Differences between files
- The diff command and friends
- October 2001: Editing with Emacs
- The EMACS editor - Eight Megabytes and continually swapping
- September 2001: Grep is Fundamental
- The grep command and how useful it is
- August 2001: Domain names
- How domain names work and a loot at the whois command
- July 2001: Sendmail
- A look at the worlds mail program.
- June 2001: Copying Disk Contents
- The dd command, tar and dump restore.
- May 2001: Links
- All about file links, both soft and hard.
- April 2001: Redirection & Pipes
- UNIX Basics in extremis, how programs connect with the filestore and each other from the command line.
- March 2001: Files: Permissions &
- The title says it all.
- February 2001: Disk Partitions
- How disks on UNIX are split into separate chunks.
- January 2001: Kernels and Files
- How the kernel handles files on disk.
- December 2000: Palmed off, Not
- My experiences with integrating the Palm PDA into Solaris
- November 2000: The Korn Shell
- What makes the Korn Shell different.
- October 2000: Spaces
- How to deal with spaces in and out of filenames.
- September 2000: Logs
- An examination of logging and how it's done.
- August 2000: Over revisited
- An examination of several points that appeared in my mailbox
in response to my over article.
- July 2000: Solaris 8
- Over Easter 2000, I moved to Solaris 8. This article describes
what I found, and the fun that I had.
- June 2000: Performance
- A look at system performance from the Solaris 7 viewpoint - a
discussion also on swapping and paging.
- May 2000: Over
- A new look at an old shell script, over, really as a guide
to how to create robust scripts.
- April 2000: A Programming Primer
- A look at basic programming concepts using Fortran, (would you
believe it?) as an example language.
- March 2000: To Quote or not to Quote
- An examination of quoting in the shell, why it's needed and how to
- February 2000: Faster Faster
- I've upgraded my main Sun system to an Ultra/10 running Solaris 7.
This article documents the experience.
- January 2000: The Time
- Discussion on the problems of 31-bit signed time, and why
Tuesday, January 19, 2038 at 03:14:07 GMT is a more interesting time
to worry about than January 1st, 2000.
dig, ping and
July 1999: What's in that file?
Discussion on the file and strings commands.
June 1999: Using X
Following on from last month's article, Using X looks at the X server,
what it does and doesn't do for you.
May 1999: Xterm
Prompted by a reader, this article examines the xterm program
in some detail
April 1999: Automation
Not sure what to say about this article. It started life as
a discussion on Automation, but wandered into other territories, before
talking about some shell basics.
March 1999: Mime
Mime is underpinning mail systems more and more these days, and
is also the basic mechanism for conveying multiple files on the Web.
This article looks at Mime, and how it works. Incidentally, in this
article I accused Sun of not dealing with Mime, missing the dtmail
program which actually lives on my machine.
February 1999: Editors
Discussion on how the basic UNIX text editors work, what problems
they have and how the problems are solved.
January 1999: Those 'r' commands
Discussion on the authorisation mechanisms used to permit and
deny access for rlogin, rsh and friends
- December 1999: Working with the Dark Side
- Importing and exporting files from UNIX to other systems.
This article promises to make two files available, which you'll find
with a helpful message on my anon FTP server.
- November 1999: Creating a personal environment
- A look at shell aliasing, functions and command files.
- October 1999: CGI
- A look at CGI scripts and how they work.
- September 1999: Common Gateway Interface
- A look at the CGI interface and how it's used.
- August 1999: What machines are out there?
- Discussion on the
rlogin command works and talk
on what terminal emulators do.
November 1998: Resource Access
A discussion about how operating systems permit and deny access
to resources and why.
October 1998: Getting Started with Perl
An introduction to the Perl Language. The article mentions
Tom Christian's Perl Site.
September 1998: Signals
Signals are a way if sending a simple message to a process, this article
discusses how they work and how they have developed.
August 1998: Tools
This article espouses the UNIX Tools approach, talking about how
several UNIX primitive commands are combined to make something greater.
July 1998: Device Independence
An article that discusses the notion of device independence for
programs, and how UNIX achieves it.
June 1998: Make
The uses of the Make command and how to write Makefiles
with your own rules so you can process files with 'non-standard'
May 1998: The Domain Name System
An article that discusses the DNS, its servers and generally how it
works. BIND is the Berkeley version of the name server, maintained
by Paul Vixie.
April 1998: Shell Startup files
An article that discusses the various shell startup files that
are used on your system, for various shells.
March 1998: Spam
A favourite topic of mine at the moment is Spam and how to stop it.
The article includes some discussion on how to understand mail messages
so you can deduce the origin of unwanted mail that you receive. Here's a
good place to start to look for
anti-spam resources. There's more information on the
Sendmail web site.
You can find binaries of dig and traceroute for Solaris at
The Freeware project. Finally,
here's place to start for
February 1998: A Century
Since this is article number 100 for SunExpert, a reflective article
was called for. It looks at the experience of writing articles for 5 or
so years, and also at the changes in computing in the period.
January 1998: Tables on the Web
Some discussion on the nature of HTML and an in-depth (nearly)
exposeé of how to add tables to your Web pages. In the article,
I talk about the USENIX Web site
and also the
the HTML 3.2 Reference specification, a W3C recommendation.
- December 1998: Rlogin
- A discussion on who the
can be found on the CERT site too, following the link 'Cert Advisories'
puts you into their FTP site and the file that you want is
The tcp_wrapper suite is available from
ftp://ftp.win.tue.nl/pub/security, the current version is 7.6.
The CERT FTP site also has many helpful tools that can help you ensure
the integrity of your system. You'll find the current version of Crack
here, on ftp://ftp.cert.org/pub/tools/crack.
S/KEY is a trademark of Bellcore and is available from
Finally, the latest version of ssh is available for testing
June 1997: Customising CDE
Discussion on how you add actions to the CDE environment using the
Netscape command as an example. The actions, scripts and icons are available
using anonymous FTP from
You'll find a
plain tar file,
a compressed tar file, and a
gzipped tar file.
The tar file contains a
README file with installation instructions.
May 1997: Who's doing what, where, when
Discussion on the who command and also the basics of the accounting
systems on Solaris and SunOS.
April 1997: Talking to the world
How UNIX systems use files in the file system to talk to peripherals
attached to the machine.
March 1997: Sorting
An article on processing log files that examines the UNIX sort
command in some detail.
February 1997: Automatic Web Page Creation
An article on the automatic systems that I use to create
The Canterbury Tour
and also Canterbury Web Services.
The article generates a sample page
using a script and a template file that are available
January 1997: The trouble with Windows
The article discusses how modern computer users are forced to become
automatic button pushers when attempting to do anything more than simple
operations on Windows, and goes on to discuss how 'unfriendly' UNIX allows
the user to achieve powerful complex operations with very little more
than a basic knowledge of the system.
- December 1997: A Shell Roadmap
- An overview of several shells that are available or could be available on
your Solaris system. I point you at the
Sun Freeware Web page, the
FTP site for bash, and also
at the FTP site for tcsh.
- November 1997: Cookies
- Cookies are small pieces of information stored by your Web Browser
on your machine. This article examines how they work and how they are
used, for good or possibly ill. Links mentioned in the article include:
The original Netscape cookie page,
Luckman's site, and
- October 1997: Analysing syntax
- How programs scan text and make sense of it.
- September 1997: Network File Systems
- An article examining NFS, the Network File System, and the changes
brought about by Version 3 of the protocol. The article mentions Samba
and includes the Samba URL.
- August 1997: Stupid Shell Tricks
- Prompted by some email from a reader, this article examines some different
ways of doing the same job: using awk, the shell and sed.
- July 1997: Security
- Discussion of network security including talk about several tools.
The article points you at on the CERT site:
http://www.cert.org, details about the
dot_clear.gif, or there's a
Web page link.
If you are thinking about what colours to use on your pages, then get a
colour theory from
although he spells colour as color.
November 1996: Locks on Files
UNIX provides system calls to lock files, this article discusses
those calls and why they are useful.
October 1996: Tempus Fugit
Time on UNIX, how it's maintained and how it can be set using NTP.
September 1996: The Cache filesystem
Discussion on caches in general and the Cache Filesystem in particular.
The shell scripts mentioned in the article are
available using anonymous FTP.
August 1996: Virtual filesystems
Discussion on file system switches and their ability to generate
interesting file systems. Goes on to talk about tmpfs and
July 1996: Virtual Memory
Discussion on Virtual memory and the process model on UNIX
June 1996: Common Desktop Environment
A description of the basics of the CDE.
Plus a little errata from last month rectifying problems with what I said
about the Legato tape backup system. The code that is used to 'print' files
onto a mounted floppy
is available by
May 1996: Moving to Solaris
My Sun now runs Solaris, this article discusses the move and how it went.
I refer to several external sources in the article, the main ones are included
here as links. I missed the SunOS find program and ported
BSD's locate. I also
mention the Jove editor.
I am using the latest release of Sendmail.
I ported the tcp wrapper, tcpd.
Look for the file tcp_wrappers_7.3.tar.gz. I picked up a
printer driver for my HP 4si from Hewlett
April 1996: Under my Thumb
Discussion on two aspects of UNIX that control users: per-process limits
and disk quotas.
March 1996: Tools for Colour
Tools for handling colour graphical images.
February 1996: Colour
This will undergo a title change. The article talks about colour and
how I use it.
January 1996: Get a grep on it
The grep command and regular expressions
- December 1996: Designing Web pages
- I end off the year with some chat on the recent redesign of the pages
on this server. The article ends with some links, and I reproduce them
here for convenience.
The article is based in part on the views of
David Siegel. He has also
written a book on Web page design (I have not seen it).
You can use
FTP to get
setuid and setgid bits on files.
March 1995: The Tk toolkit for Tcl
Writing Tk graphical applications. The article builds an example
application called xalias, you can obtain the
of this. For some reason, my screenshots for this article were
not printed, and diagrams were substituted. You can
see them here.
February 1995: The Tool Command Language - Tcl
Basics of the Tcl language
January 1995: X resources
The mysteries of using and setting resources for X servers
- December 1995: Arithmetic
- Using UNIX to help you with arithmetic.
- November 1995: Messages from UNIX
- UNIX tends to generate incomprehensible error messages, this article
attempts to dispell some of the mystery.
- October 1995: What next for HTML
- A look at the
new HTML 3.0 standard and whether Netscape is tracking it.
Things have altered somewhat between the writing of that article and
it's printing. Many of the sentiments stay the same however.
I have been
asked to supply URLs from my articles as links from here.
Please remember that I have no control over the pages below, and it's
certainly possible that they will disappear in the future. Two of these
have already moved and are different from those printed in the article.
Netscape extensions to HTML3,
The HMTL 3.0 draft document,
Notes on style sheet design.
There are also three other documents that highlight the differences between
HTML3 and Netscape:
HTML 3.0 and Netscape 1.1N, this set of pages is by Andrew B. King
Also look at
The Myth of Netscape and HTML 3 by
Abigail from the Internet Access Foundation in the Netherlands.
This is an excellent and exhaustive
comparison of HTML3 and Netscape. Poke about Abigail's pages, there
is some interesting stuff there.
The last two documents also refer to
Use of Netscape tags in HTML
by M.W Meyer.
Finally, some fun.
See the Netscape Hall of Shame.
- September 1995: TCP/IP and UNIX
- How TCP/IP is supported by sockets in a BSD UNIX system.
- August 1995: Horror Stories
- Prompted by some email sent by Jim Ward from Radix II in Maryland,
this article discusses how easy it is to accidentally delete your system
and what steps you can take to avoid doing that.
- July 1995: Useful command combinations
- or the confessions of a dreadful typist, how to get the most from
your system with minimum keystrokes.
- June 1995: PGP - Pretty Good Privacy
- Discussion of public key encryption and how the PGP package works.
The article includes a horror story and some fears for the future.
- May 1995: HTML revisited
- Discussion of special characters, images and forms. It includes a script for handling
forms submissions, in fact, the one that drives my Visitors page. You can obtain the
the link to the
Transparent Images was misprinted. I just gave you working link!
- April 1995: Ownership
- Discussion of file ownership, concentrating on the
whys and wherefores of
May 1994: The Korn Shell
What's nice about the Korn Shell
April 1994: Sendmail
How mail is sent
March 1994: Macro processing
Principles of macro processing, the m4 command. Beware that
all the quotes are incorrect in this article. It was hit by printing
February 1994: Passwords
Dire warnings about making better passwords, how the
password system works
January 1994: Running commands from the clock
cron and at
- December 1994: Disk performance
- Disk layout policies, swapping, vmstat, pstat and iostat
- November 1994: Files
- A discussion of how SunOS lays files out on disk
- October 1994: HTML
- How to write documents for the Web in HTML
- September 1994: The World Wide Web
- Mostly about the Mosaic client, but also talks about URLs
- August 1994: On the Internet
- Discussion of recent experiences in getting full Internet connectivity
- July 1994: Basics of UNIX
- Discussion of the historical impact of UNIX, looking at UNIX Version 6
- June 1994: Servers and Clients
- What's a server and client,
dup system call is used
November 1993: Network protocols
TCP and other IP users
October 1993: IP
Basics of the protocol
September 1993: Mail message format
How mail works
August 1993: Addresses in Electronic Mail
How to get the mail where you want it to do
July 1993: Bundling files
How to use shar and the source for a simple version
June 1993: Arguments to shell scripts
How to deal with them
May 1993: Two X applications
Namely twm and xterm
April 1993: The X window system
Basics of the X window system
March 1993: Compiling programs
How you go from thoughts of program construction to high level language programs, to assembler and
finally, a running program on the machine
February 1993: FTP
How FTP works
January 1993: UUCP
The ins and outs of UUCP
- December 1993: Redirecting I/O
- How the
rlogin and rsh work
November 1992: NFS
How NFS works
October 1992: Find
September 1992: Tools
Some simple tools tr,sort,cut
August 1992: Process state
What bag and baggage a process carries around with it
July 1992: Non-blocking Input/Output
The Select system call
June 1992: Shell Programming Basics
How to make shell scripts ask questions, quotes and quoting,
May 1992: Input/Output
The basic I/O system call set for file handling
April 1992: By his bootstraps
How a machine is bootstrapped - from a code machine to a living system
March 1992: Make - Part 2
February 1992: Make - Part 1
January 1992: SCCS revisited
My personal script for controlling SCCS
- December 1992: Accessing other machines
troff and nroff with the -man
May 1991: Manuals
Basics of the UNIX man system
April 1991: Virtual memory
Running big programs in small real memory, mapping files into memory
March 1991: Devices
How UNIX talks to devices, what a special file is and why they
February 1991: System monitoring
The ps, vmstat and iostat commands
January 1991: Awk
- December 1991: CDROM
- A review of some CD's that were topical at the time
- November 1991: Program Arguments
- How arguments are passed into programs and scripts
- October 1991: Controlling source
- Basics of SCCS
- September 1991: Job Control
- What job control is and how it is done
- August 1991: Sed
- July 1991: Terminals
- How the UNIX terminal driver works
- June 1991: Writing manual pages
- Basics of
dump and restore commands
April 1990: The UNIX filesystem
How the file system works
March 1990: Loops
Loops in shell programs for, foreach,
break, continue and a bit on the find
and apply commands
February 1990: Signals
What signals are, how they are handled
January 1990: Processes
A discussion on how processes work on UNIX
- December 1990: The kernel, the process and the system call
- What's a system call, how processes talk via the kernel to the
- November 1990: Shell prompts
- How to set up nice shell prompts and set labels on X windows
- October 1990: Program Exit Status
- Using results from commands sensibly
- September 1990: Programming models
- What a process sees when it runs in the machine, how a compiled
- August 1990: Pipelines
- How to use pipes
- July 1990: Environment variables
- How to set and read environment variables, well known names
- June 1990: Permissions on files
- What file permissions are and how to set them
- May 1990: Lost files
- Really about the