Next: About this document ...
Steven W. Orr, Software Engineer
SysLang, Inc.
41 Wayside Inn Road
Framingham, Massachusetts 01701-3021
(508) 788-0232 (508) 788-0230
steveo@syslang.net
Summary
I have done many things over many years, but at the core, I am a
Linux/Unix specialist, a tool-smith,
someone with strong affinity towards SMTP issues, Configuration
Management issues,
someone who understands the meaning of the phrase ``industrial
quality code'', and after that, an accomplished generalist. I believe
in proper process and concomitant documentation. If you don't write
it down, then it never happened.
I write the best shell scripts I have seen out there. I don't know
why, but scripting is not viewed by most people in as serious a manner
as is required.
In addition, I have done a lot of compiler work which has given me
valuable perspectives over the years. I worked on the
FREIBURGHAUS
suite of compilers at Data General during Soul of a New Machine,
and overall have participated in a a number of language component
activities. This background in language components has given me
perspectives in problem solving that have resulted in architecturally
excellent solutions to complex problems.
Besides shell scripting, I am more than proficient in C, Python,
perl, and whatever else is needed.
After all my years of experience, I have found that there are common
mistakes that people make. I know about these mistakes,
how to fix them, and how to prevent them from happening in the first
place.
Education
2008 Graduate level course in cryptography,
Worcester Polytechnic Institute
2000 Admin Training in ClearCase from Rational University
M.S. C.S. 1988 Boston University
B.S./math 1979, Northeastern University
Experience
FRAMINGHAM NEIGHBORS COMMUNITY MAILING LISTS,
FRAMINGHAM, MA 1998 - PRESENT
Founder
I have been running my own home server since '86, first starting out
with SCO Opendesktop, then using Red Hat and after that, moving on to
Fedora. In addition, this machine is used as the mailing list manager
for the local municipal lists (Majordomo2) I run here in the sleepy
town of Framingham, MA. These lists have had a profound impact on how
business is done in the town.
Despite the relatively small volume of around 1 million messages per
month, this server's configuration is worthy of a substantial presentation,
but the basics are that it runs SENDMAIL, APACHE,
MOIN, OPENSSH, CLAMAV, plus all
the components that follow after that. The after that part causes
things to get more interesting.
- Spam in controlled is a very effective manner using
Spamassassin (SA), running under a milter called
SPAMASS-MILTER. Instead
of sorting the spam into a spam folder, the spam is actually
rejected (500 series DSN) before reception completes. I never see it, and the
spammer knows that he is rejected.
- SA runs a substantial number of tests. Some of
those tests used to be run outside of SA inside
SENDMAIL, but I found
that I did better by incorporating those tests into SA,
wherever possible. This
resulted in SA's ability to better update its BAYES and
AUTOWHITELIST database,
- Of course, SA converted years ago to using MYSQL.
- Included in the tests that were migrated to SA from SENDMAIL,
are RBL checks (like SURBL, SPAMCOP, etc...)
as well as ClamAV.
- ClamAV helped a lot, but there were things that did not get
picked up. I discovered a highly active project called SCAMP
which added an additional 40+K extra signatures of spam that did
not actually qualify as a commandeering class of virus.
- The lists I run here total about 2000 users over under a dozen
lists. While most people are running Mailman, I am running a
package called Majordomo2 (not to be confused with the old
majordomo system of yore).
As part of running a responsible server with mailing lists, I take
great care at registering with feedback loops whenever possible,
always providing opt-out information, conforming to rfc2369,
VERPing (i.e., ``Variable envelope return path'') all AOL
subscribers, reporting any misses that get through
to spamcop, and generally conforming to the CAN-SPAM Act of 2003,
even though I am not running a commercial operation. Nobody ever
gets subscribed without explicitly providing permission.
- A few years, YAHOO changed their configuration to not allow
more than 9 messages at a time per envelope. A short while ago,
hotmail did the same thing, but with a different (lower)
paramterization. The solution was add two new mailers to the
SENDMAIL configuration which were each parameterized for the new
limits. Then the SENDMAIL mailertable database was used to route
mail for those destinations using the newly created mailers.
I have attended every of the Annual MIT Spam Conferences.
Recently, I have been mentoring a startup in their development of a
new RBL based on CRM114.
I sign all my email using PGP signatures in a world where people are
aware of the dangers of identity theft, but mostly ignore the value
of signing. The topic of crypto in general intrigues me, not just
from the mathematics and computer science perspective, but also from
the sociological and historical side. Ask me how Raytheon Corporation
has left themselves open to attack through misuse of PGP keys.
LOCKHEED MARTIN, SUNNYVALE, CA APRIL '09
(CLASSIFIED) A Lockheed project had architectural problems with
their implementation of
ClearCase, ClearQuest, and MultiSite. A new View Server was
identified as a core problem. In addition, triggers and scripts were
written, Login environments were properly defined. Storage was
reclaimed. I designed their previously non-existent branching
strategy. Corporate cultural issues played a large part in the
presentation of their problems.
VIASAT, MARLBORO, MA DEC '05 - OCT '08
Software Engineer
(CLASSIFIED) ViaSat is a government contractor. The division I
worked in is focused primarily on encryption devices.
- Worked on restructuring the build process for software at the
Corporate level developed under Linux. This included source code
repository structure
management, perforce access issues, definition of re-useable library
components, COTS repository management, as well as source repository
shape definition issues.
- I created a common directory structure that contained globally
defined tools. This directory structure was fully integrated into the
Linux/Unix login environment.
- PCKL (the PC KeyLoader) is a tool for loading keys into
crypto devices. PCKL is written in Python. It communicates with
the crypto device over an HDLC RS485 serial port to an encryptor for
the MIDS-JTRS program using the EKMS-308 standard under the PSIAM
architecture. The communication from PCKL to the serial port is
encapsulated through a server process which isolates knowledge of the
port. This encapsulation also allowed for easy protocol debugging.
- PCKL was built on top of a message passing framework (VTT, the ViaSat Test Tool). In addition, VTT is used for rapid
deployment of other tools for a wide variety of purposes.
- PCKL and associated tools were ported to work with other
crypto devices.
GUARDIUM, WALTHAM, MA DEC '04 - NOV '05
Software Engineer working in Release Support and Software
Packaging
- Guardium's product was shipped to customers in native package formats
for all known Unix/Linux platforms. I implemented package management
for their product in RPM, .deb, pkg for Solaris, and pkg for
AIX. Also performed build verification.
AXIOWAVE NETWORKS, MARLBORO, MA SEPT '03 - NOV '04
Principal Technical Consultant working in Release Support
and Software Packaging
Axiowave was a company that created a terabit metro class core router.
- Implemented the software used for burning flash memory. Flash was
used for the boot loader, monitor, and FPGAs.
- Implemented a tool for extracting all debug/log/trace data from the
device for later analysis.
- Worked on various Clearcase tools, triggers, utilities, etc...
- Set up the system to be used to perform gcov analysis.
- Performed an analysis of all LynxOS system calls to determine if they
were re-entrant or restartable as advertised.
TREBIA NETWORKS, ACTON, MA JULY '02 - MARCH '03
Consultant
- Designed and implemented the basic branching strategy under
CVS.
- Implemented high quality hooks into CVS to do things like branch
locking, subdirectory locking within a branch, tag logging, and various
other commit-time checks including commit logging.
- Set up the nightly build process for their project.
- Tasked to solve various structural implementation problems in
their code. e.g., varargs vs stdargs, external data initialization at
compile-time, signal issues, etc...
- Responsible for all merges.
- Implemented release support mechanism which defined what
files were and were not part of the released package.
- Subverted the compiler to trap classes of warning messages and to
email them to their appropriate owners as part of an integrated
warning processing strategy.
- Fixed proper dependency generation system wide. General
Makefile work.
- Acted as the de facto Unix/Linux system guru.
CONCORD COMMUNICATIONS, MARLBORO, MA JANUARY '01 -
JANUARY '02
Consultant
- Responsible for conversion of their network monitoring application
from using Ingres to Oracle. This included their imake system, as
well as the kitting and installation process.
- Converted their installation process to ksh88.
- Provided direction for ClearCase issues.
Next: About this document ...
Steven W. Orr
2009-10-01