To code, design, architect, and manage your software development projects...
Without blaming defects on the tools that were used, or not used;
to work as the customer intended, possibly as he or she
wished but did not ask, and sometimes beyond what was ever expected;
technology when it can improve the solution being developed and
not simply because it's new; Always troubled by bugs, however inevitable,
and always seeking real improvements to products and process.
[Bracketed] links to references are restricted.
Prospective employers please contact me for a password.
Designed, developed, and deployed one of the first easy-to-use
electronic readerboard systems for the call center industry
while working for a panel manufacturer in 1989.
Though it was a DOS system, it was quite powerful
for its time (just before Windows 3.1®).
Designed and developed credit card verification,
point-of-sale, AS/400 hotel interface, and casino
player tracking software and systems, during the early
1990s while working for a software firm.
While working for a high-tech manufacturing concern
during the mid to late 1990s:
- Designed and developed manufacturing software to connect
low level equipment such as meters and automation to
high level systems such as SQL databases
- Designed and developed many interfaces to a low level
record manager called BTrieve used in the company's
MRP system (MRP is a precursor to ERP, it was used
at the company for everything from shop floor routing
and scheduling, to sales information and configuration).
- Managed the company's Novel network.
Returned to the panel manufacturer in the late 1990s to
manage their software development effort, and to redesign
and implement a Windows® version of the
original readerboard software.
Began working for myself in 2001, doing software design and
consultation for local businesses.
Lead With Examples
- Some Browser Based Applications
These are toy programs that were needed for one reason or another.
For obvious reasons, software I've developed under NDA's and exclusive
license agreements will not be listed here. One client has given me
permission to demo a system developed for them, which I will be happy
to demonstrate for you if you are interested.
- Perl Code Compressor (PCC)
- PCC will remove most whitespace and comments from
your perl code. This reduces its size for better server
utilization. PCC also (optionally) renames subroutine and
names with short cryptic names, further reducing the size of
- Convert RSS Feeds to JSMsg Feeds
- JSMsg is
to display dynamic content using only client-side scripting (see
documents below). This utility allows people who already
offer an RSS feed to easily provide a JSMsg feed as well.
- A Collection of JSMsg-ready
Scrollers & Faders
- This page holds a collection of content scrollers and faders
that can be interfaced to JSMsg,
These scrollers will display dynamic content using only client-side
scripting (see documents below).
- Job Scheduling and Tracking
demonstration is a fully
functioning version, but with security turned off so you can
try it out. It was developed for a local kitchen & bath
concern under a non-exclusive license agreement.
- Website Glossary system -
The best glossary maintenance software available
demonstrated on this neural network glossary
at the Stand Out Publishing site.
- lets you write well
to a tiny chunk of data that doesn't waste bandwidth. This is a
re-invented wheel. Early on, I
ran a decent compressor that was written by another programmer. His
policy was that I was not allowed to give him, or anybody else credit
code, and there was no way to contact him. Fine for exuberant youths
I suppose, but for me it was like
somebody dragging their finger-nails over a black-board. I eventually
wrote this compressor from scratch.
- News Entry Widget
- lets you easily enter
company or site news and announcements for publication on your
own sites or on outside sites. It includes an XML feed in the
popular RSS format so you can list your announcements
on news aggregator sites such as NewsIsFree.com.
- CSV to XML Converter
- CSV is a legacy
data transport convention which will be in use for some time
into the future despite XML's popularity. Conversion facilities
will help ease the transition.
- CSV (Comma Separated Values) are produced by many
popular software packages. This applications quickly converts
for use on your Internet and intranet web pages.
- Quote Catcher - For displaying comments
from a database of messages, such as famous quotes. This employs
a server-side script for mainaining the database of quotes. The
way news-scrollers do, to dynamically update the quotes that display
on web pages.
- Platform Locked Applications
[real soon now...] Applications and projects I've designed and
developed for various platforms (like DOS, Windows, the Z-80, etc.). Many of
these are just listed here as they were done for employers and are not open.
- Web Pages
is designed and written by me except bulletin boards (there are too many good
low-cost or free bulletin boards out there to merit developing "yet
another" one). My code includes Contact Forms, Dynamic Web(tm) Page
areas, Membership security and maintenance scripts, File Upload Areas for
members, Votes, etc...
Stand Out Publishing
I wrote a book. Not exactly an activity that's in my wheelhouse,
but it was a horse, kicking to get out.
- The Corporate web page for my
software business (always evolving).
- (This site). It employs old-school html and is
far from being complete, but you may
get some idea of aesthetic sensibilities from it.
In a nutshell, if you're primarily interested in someone
to make your website aesthetically dazzling, I'm, uhm,
not your man. :-)
As of 12-October-2010, I'm officially a patent holder.
7,814,038: “Feedback-tolerant method and device producing weight-adjustment factors
for pre-synaptic neurons in artificial neural networks”
The above link is to a blog entry about the patent.
The obsessively descriptive title is to aid in future patent
searches. I refer to this in
"Influence Learning". It is essentially a way for
pre-synaptic neurons (formerly
called "hidden layer" neurons) to learn from the
neurons they are contacting, based on the amount of influence
those contacted neurons are exercising.
I know what you're
thinking. Doesn't backpropagation already do what we need?
No, backpropagation performs a sequentially-dependent reverse
calculation over the entire network.
This limits networks that use backpropagation to feed-forward-only
(no feedback allowed) topologies. Influence learning, on the other
hand, eliminates all restrictions on network feedback (and the
"hidden layers" that go with them). It also imparts many
other new benefits which are briefly discussed in a blog entry
See also, the
Patent Title Page [pdf]. Finally,
though it is a temporary link (don't link to it because it isn't a permanent
reference), you can view the
Official Gazette entry announcing the patent, at the patent office
7,904,398: “Artificial synapse component using multiple distinct learning means with distinct predetermined learning acquisition times”
The above blog entry announces the patent.
It is referred to in the book as
"Multitemporal Synapses". It is essentially a way for
synapses to maintain multiple time-frames of learning and forgetting.
adaptive systems the ability to quickly adapt to
their immediate situation without cluttering up long-term
response-memories. In essence, it gives adaptive syatems
For more information on this new structure and process and the
benefits it imparts to adaptive systems, see the blog entry title
“Introducing: Multitemporal Synapses.”
See also, the
Patent Title Page [pdf]. Finally,
though it is a temporary link, you can view the
Official Gazette entry announcing the patent, at the patent office [TEMPORARY]
Articles & Documents
Here are some articles, conventions, and open specifications
written for the freelance site: Creativyst Software, and for the blog
at the Stand Out Publishing site (to support Netlab effort). There
are also some other misc. things, such as articles written by others
about my work.
- Neural Network Stuff (To Support Netlab Loligo)
These are the more recent things. They mostly take the
form of blog entries at the Stand Out Publishing site's Loligo Blog.
Multitemporal Synapses and Our Perception of a Present Moment
Multi-temporal synapse is a (now) patented method and device that has emerged from
the Netlab™ effort. This blog entry explains the underlying theory of learning
that has led to this development. Stated simply, the theory behind multitemporal synapses
is that we maintain the blunt essence of past lessons in long-term connections.
Everything else is re-learned in the moment.
Introducing: Influence Learning
A blog entry describing one of two new learning algorithms introduced in the book.
Both algorithms are in patent pending status at this writing.
The McGurk Effect
The McGurk effect, presented in a video in this article, seems to
show, convincingly, that what you see with your eyes can change
what you here with your ears.
Simile, Metaphor, Analogy: Differences and Similarities
Understanding of these concepts is becoming increasingly
important to our understanding of thought, and of how the functions
of the brain lead to the processes of the mind. They are also
important to understand if you, like me, recognize a real need
to improve your writing skills.
Synaesthesia: Not a mental anomaly, a mental characteristic
We seem to be advancing rapidly on what can best be described
(metaphorically), as the brain-function correlates of metaphor and
analogy. Synaesthesia—mistaking sound for color, or perceiving
numbers as having colors, etc.—may, in fact, be a characteristic
of basic, inherent functions and structures, which are common in all
brains. The determining factor may be only a question of degrees. This
blog-entry is merely a book report on a video lecture given by
Vilayanur Ramachandran about his research regarding this theory.
Links to three videos containing the lecture are also included.
Red Sky In Morning - Temporality, Sequence, and Causality
"...In a more present context, this effect (or something
similar from a perceptual stand-point) may happen when we try to
analyze one or more individual parts of a complex interacting
collection of parts, in isolation. This tendency to analyze things
from too small an aperture may happen more often than we'd like to
This article explores the subject of actuators at a fairly
introductory level. In essence, this is written by a programmer, who
is trying to learn some of the details about what the robotics folk
are up to. It attempts to organize the available details into a more
The marketeers are always working feverishly to persuade us of our
absolute need for whatever “next-big-thing” they think they
can convince us to buy.
It turns out, however, that memristors don't really need the
market-speak and the sokalisms from the persuasive-arts crowd.
Memristors really are extremely useful, and will almost surely bring
about some seriously cool changes in the technological world.
Time In Three Parts -
A Practical Definition of Temporality
This paper documents specific relationships between time, frequency,
sequence, and temporality and uses that understanding of those
relationships to propose an alternative, narrow definition for
the terms "temporal" and "temporality".
Netlab Loligo - New Approaches to Neural Network Simulation
Recently developed a new version of a neural network development environment
called Netlab. This, in turn, has led to an entire book on the subject (much to
my surprise). If you have an interest in neural networks, but you have
become a bit disenchanted with books that try to hide a lack of "new ideas"
behind a wall of "new computational complexity",
you may find this book refreshing.
Not sure? The excerpts pages contain some teaser-content from the book.
- Programming Articles (mostly at Creativyst Software).
Following are articles about programming issues. Most, but not all of
them, are published at Creativyst.com. Most recent writing has been in
support of Netlab Loligo (see above), but I still update quite a bit at
this site as well.
The Return of the LOC Monster
Lines-Of-Code: An ambiguous metric with the
"look and feel" of numerical precision. This article explores it,
and offers some suggestions of better metrics for counting the amount
of program coded.
Platform Independent Computing
A high-level and tactical-level paper about Platform
Independent Web Applications. What they are, what they are
not, the advantages and disadvantages they bring to your
Creativyst JSMsg Webpage Display Convention
to one major drawback to RSS (imo). RSS can't be
used to display content in webpages with only server-side
Tables for Layout: The Only Option for Hardware-Independent and Re-Sizable Pages
The truth will set you free. CSS for layout is clearly a BAD design practice at this time.
A short list of software design and development practices that
should be considered before throwing out the bathwater.
Computer Science Versus Laurence Olivier
The sub-title is: "Use a safety net when programming,
but only if you can work safely without one"
It is really just a random note entry. It pokes fun at the
professional students whose primary concern
seems to be about making
programming something that's easier for them to fake (such optimists).
Hybrid Oriented Programming & Design
Embrace design, not dogma. :-)
Agile Bridge Building
Just poking a little fun at me and my peers, who can't seem
to resist turning our vocation into our religion.
Understanding Comma Separated Values (CSV) File Format
Originally done as research for some CSV parsing code. This article
describes the subtle stumbling stones that, taken together, are the
CSV file format as it is used in Excel and a whole bunch of other
CTX - Creativyst Table eXchange Format
The CSV analysis listed above led to the realization that there
is a lot of room for an alternative data exchange format
out there. On the one hand, CSV lacks functionality. On the
other hand, XML gives you some structure-defining functionality,
but at the cost of very high overhead. Here's the blurb for
this article, which seeks to define an alternative:
CTX is a more precisely defined and functional alternative to CSV,
and a lower overhead alternative to many applications of XML. The
CTX exchange format embodies the simplicity of CSV, while permitting,
via optional secondary mechanisms, the exchange of data with complex
Use SoundEx to Search
for terms that Sound-Alike
This paper presents an in-depth review of the classic SoundEx
algorithm for matching words and names based on phonetic similarities
(source code included!). Check out the converter form at
the bottom of the article.
This paper describes a proposed XML DTD for transporting dictionary
or glossary information between applications. It is one of the export
conventions used in
my glossary software.
Software Stability Ratings
This paper describes a proposed rating system for software stability
that can change independently of the software's version/release number.
Reducing Dependence on Proprietary Systems
The first article concerned with managing IT. This article discusses
immediate tactical steps the dependent IT shop can begin taking to
reduce their overall dependence on proprietary technologies such a
Convert Dell Service Tag to
Express Service Code
- Includes pop-up converter form -
This is useful for any programmer writing software that must
track equipment purchased from Dell. Their serial numbers
(called "Service Tag" numbers) are alpha-numeric and
should be converted to a number called an Express
Service Code when calling their automated support line. This
article explains how that's done.
CUF (Main Information Page)
This is the starting index to a set of documents
that describe CUF(tm); a set of message formatting
codes that are simple and easy for everyone to use.
There is nothing new here. These are based on bracket-codes
that have been used for a long time on the web. I was first
introduced to them as UBB (Ultimate Bulletin Board) codes.
I needed to produce a library of formatting functions that
implement formatting for multiple projects, so these
descriptions serve as the specification for that library.
text of the recommendation
describes the standard concisely in it's gorry detail. For a
more human treatment of the subject
CUF Code Refference
which is a listing and terse description of all the formatting codes
in the standard. Lastly, the application's
provides a brief
explaination of how CUF codes are used to format messages.
Show XML in Your HTML
This paper descibes how to use Microsoft Internet Explorer's
data binding to display the contents of XML documents
within your web-site's HTML pages. The upside is, it's very
powerful, easy-to-use, and flexible. The downside is, it only
works in MS I.E.
A simple—and very early— page exploring creative and
interesting ways to practice some tedious table design techniques.
- Articles About My Work
I'm not sure if a resume is the best place for this, but a
place to collect references to mentions of my stuff in the press
was needed. So, here it shall go. :-)
Some recent courses in a life-long process.
Dale Carnegie Course A course in public speaking.
Including knowledge of personal and professional relationship
management. I highly recommend this course, especially for
those with a technical background who may need to improve
their inter-personal skills. Dale Carnegie
Introductory Visual Basic Programming I probably should
have taken a more advanced course going into this. It may be
good for those with little or no experience. CorporateU
Connecting To The World Wide Web A very good course for
developers using TCP/IP over dial-up or ethernet. Recommended.
Windows On Netware Recommended only if you are personally
responsible for supporting Windows users over a Novell Netware
Software and the Agile Manufacturer Given by Brian
Maskell (a well known author on manufacturing). I highly
recommend this course for any developer doing work for world
class manufacturing concerns. The basic tenet: "If it
aint broke, break it!" Sounds cliché but it's actually
just what the best programmers have been doing to make their
wares better for years. Brian Maskell Associates, Inc.
C++Builder Foundations These courses were very difficult
to find at the time. It's a good introduction to the Borland
way of doing things (much more "high-level" than MFC).
Programmable Logic Design With VHDL Great introductory
course to a wonderful language used to produce concise, text
based descriptions of digital circuitry. Cypress
Understanding TCP/IP A good introductory course to this
ubiquitous protocol. Given by a great instructor (Dr. Sidnie Feit).
How To Design Attention-Grabbing Brochures, Catalogs, Ads,
Newsletters, and Reports A great course given by a great
instructor (no problem going off the prepared script when needed).
The bang-for-the-buck was great on this course. SkillPath
Future courseware is likely to include:
More Dale Carnegie!; Work in "Safe Software"
development and current best practices; Work in business and
management practices; Related work in business quality practices
such as ISO9000; Work in the latest software standards that look
likely to become mainstream such as UML, XML, IPv6, WAP, etc.
Memberships & Associations