Daniel E. Anderson
San Diego, California
<resume4
@
drydog
.
com>
OBJECTIVE -
Software Engineering position using my skills with TCP/IP (Internet) communications, security, UNIX, Linux, computer security,
operating systems, or server software.
EDUCATION -
MS, Computer Science, University of
California, San Diego.
Investigated fault-tolerant operating systems
distributed with TCP/IP.
Authored "A
Survey of Portable Operating Systems."
BS, Information and Computer Science,
University of California, Irvine.
EXPERIENCE -
Member of Technical Staff, Software, Sun Microsystems,
February 1999 - present (2007)
- Secured Sun's ILOM service processor software (Linux-based) by
auditing code and running system. Closed network ports, adjusted configuration,
and tightened file permission.
- Secured Sun's Logical Domains software by providing user-based authentication, audit trail logging, and auditing of the Solaris-based control domain.
-
Designed and develop enhancements to Solaris Security Toolkit (SST),
which "tightens up" and verifies network, filesystem,
and Solaris operating system security.
Modified SST to compily with Center for Internet Security (CIS) standards.
-
Worked on fault management software
to record and recover from hardware errors (mostly memory and CPU).
-
Programming at Sun Microsystems
on their large-scale systems, Sun Fire 15K and Sun Enterprise 10000.
Develop software which handles booting, hardware control, and diagnostics for
a multi-domain Solaris platform running 1-18 copies of Solaris.
Used Solaris, Linux,
C/C++, Java, Korn shell/Tcl/Perl script, WBEM, SNMP, and NTP protocols.
Consultant, Stellcom Technologies,
July 1998 - January 1999
-
Worked on a project at SAIC to set up a packet-based TCP/IP phone network
for Level 3 Communications.
Used NetExpert to manage and monitor the
routers, switches, DACS, and other telephone and data communication hardware.
Wrote perl scripts that modified NetExpert Oracle databases
using a CGI front-end generating HTML which may be displayed with a web browser.
These scripts made NetExpert rule writing easier by searching for and
removing unused variable and class names.
Wrote a C program to redirect TCP/IP port I/O, for NetExpert
debugging and testing.
Consultant, Tek Systems,
Dec. 1997 - July 1998
-
Programming at Sun Microsystems
on their mainframe-class Enterprise 10000 systems.
I fixed bugs and added features to the SSP (System Service
Processor).
Senior Programmer/Analyst, Blue
Bird Computer Systems, Jan. 1988 - July 1997
-
Developed server software for document imaging client/server
software, ImageAble. Focused on TCP/IP communications, porting
to IBM's UNIX, AIX, and optical jukebox server. ImageAble is based
on a product purchased from SAIC, Mosaic, that was originally
hosted on an IBM VM mainframe. To help understand the product
(and to help others), I wrote the ImageAble Technical Reference.
I ported the part of the server dealing with communications. I
striped out the IBM PWSCS communications code and replaced it
with industry-standard TCP/IP sockets. I also added error handling,
better messaging, installation scripts, and interrupt handlers
to make it more robust, serviceable and UNIX-oriented. I wrote
optical jukebox software that communicated with third-party SCSI
drivers and with the ImageAble server. Ported ImageAble to SCO
UNIX, HP-UX, Siemens Pyramid OSx. After release, I maintained
the entire server product, including the embedded SQL code. I
helped system engineers configure and setup the system. ImageAble
is written in C, SQL, and shell scripts.
-
Built Intranet with TCP/IP network servers (web, ftp, DNS, e-mail,
time etc.), and routers. Created web server with
HTML, perl, Java, and shell scripts, CGI, and
HTML.
-
Developed Business BASIC compiler/runtime, BASIX, to run on multiple
platforms (Unix, DOS). Bluebird purchased a company in Nashville
that developed a Business-BASIC compiler running on DOS. My assignment
was to port the compiler to run on IBM's AIX and SCO UNIX and
to enhance it to be compatible with Bluebird's Business BASIC
running on it's proprietary O.S., SuperDOS. I moved project to
Carlsbad, phasing in a new team of people I lead in Carlsbad.
-
Enhanced Bluebird's SuperDOS file I/O performance with a disk
cache. SuperDOS is a multi-user PC-hardware-based proprietary
O.S. (that predates MS-DOS). The enhancement originated from a
customer complaint about poor application performance. I investigated
and isolated the problem to a bottleneck in disk I/O waits by
SuperDOS. I proposed and implemented a solution that cached disk
sectors in memory. The caching was transparent to application
programs. Received "Analyst of the Year" award from
Bluebird for this work.
-
Ported C and Pascal compilers to SuperDOS. Wrote C library to
simulate POSIX interface. Modified SuperDOS to support C and
Pascal. I was hired and given a year to do it. I investigated
and decided the fastest way was to license a DOS-based C compiler
from MetaWare and port the runtime libraries and compiler to SuperDOS.
The runtime libraries handled disk, console, and terminal I/O,
the filesystem, clock, date/time, and heap and stack management.
I greatly enhanced the previously out-of-date SuperDOS Technical
Reference to help understand the SuperDOS. I replaced the
DOS-based runtime libraries with SuperDOS calls. I modified SuperDOS
to handle missing functionality, such as lower case filenames,
loading 386 LDT segment descriptor tables, and C signals. Ported
both C and Pascal compilers to run on both DOS and SuperDOS, and
ported an Intel linker to SuperDOS. Traveled to several customer
sites to help port C applications to SuperDOS. Received "Rookie
of the Year" award from Bluebird for this effort. Compiler
and runtime are written in Pascal, C, and x86 assembly. SuperDOS
is written in x86 assembly.
University of California, San Diego Extension,
Jan. 1987 - Dec. 1987
-
Taught classes in C programming.
Senior Principal Programmer Analyst,
NCR, Sept. 1978 - July 1982,
Aug. 1984 - Jan. 1988
-
Worked in Advanced Dev. simulating an instruction set for performance
improvement. This was for their new 64-bit microprocessor. I took
an out-of-date and hard-to-maintain simulator used for their 32-bit
microprocessor and made the code more robust and maintainable
and added the new instructions and word-lengths required by the
new instruction set. I wrote probe-code for the new instruction
set and suggested changes to enable compilers to generate more-efficient
code. Simulator is written in NCRL, NCR's enhanced system programming
language based on Pascal.
-
Worked in O.S. file management on NCR's
mainframe O.S., VRX. Fixed bugs in file management and optimized
tree-structured filesystem with caching. Coded in assembly and Pascal (NCRL).
-
Wrote setup/monitor software for a X.25/SNA/XNS (WAN/LAN) network
gateway on NCR's
Tower UNIX. This was a special 1-year project in South Carolina.
Software greatly eased configuration of the network gateway.
-
Ported UNIX libraries/commands to NCR's 32-bit RISC hardware,
MIPS. Stabilized and configured prototype system software. Coded
frequently-used runtime libraries in microcode. Modified various
commands to run on MIPS UNIX. This was part of a team of 10 people.
-
Designed, implemented, and documented the runtime library for
NCRL on NCR's VRX mainframe operating system. The library handled
file and terminal I/O, clock, semaphores, and interrupts and exceptions.
Wrote interfaces to O.S. and runtime support (file and memory
management, messages, and object format). Wrote code generators
for pointers to functions and I/O statements. This was part of
a team of 5 people.
-
Wrote a symbolic interactive high-level source debugger. Designed, implemented,
and documented the debugger, written in NCRL. Interfaced with
a virtual machine running on VRX using special object
Sept. 1982 - June 1984
-
Studied computer networks and fault tolerance in
Computer Science Dept.
BACKGROUND -
-
Software/Hardware: programmed on several flavors of UNIX
(Solaris, AIX, HP-UX, Linux, FreeBSD) and proprietary systems; use Windows
95/NT, X Windows.
-
Network Protocols:
TCP/IP Sockets, IPSec, IPv6, Kerberos, DNS, HTTP, HTTPS, SSL, & ssh.
-
Programming Languages: C/C++, Tcl/Tk, Shell, Perl, and CGI
scripts, Java 1.1, HTML 3, x86 assembly.
-
Author, Solaris x86 FAQ (Frequently Asked Questions)
for newsgroup alt.solaris.x86.
-
Connected my computer to the 6bone, an experimental IPv6
(next-generation Internet) network (also uses IPsec and Kerberos).
REFERENCES -