|
|
John Repici
("ra-PEECH-ee")
| |
|
Objective:
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;
Embracing
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.
-
[Telegenix90]
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®).
-
[LSI92]
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.
-
[EMC94]
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.
-
[Telegenix97]
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.
-
Creativyst2000
Began working for myself in 2001, doing software design and
consultation for local businesses.
Lead With Examples
- Some Browser Based Applications
For obvious reasons, software I've developed under NDA's and exclusive
license agreements will not be listed here.
- 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
local variable
names with short cryptic names, further reducing the size of
your application.
- Convert RSS Feeds to JSMsg Feeds
- JSMsg is
a JavaScript syndication file convention I wrote
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,
a JavaScript syndication file convention
to display dynamic content using only client-side scripting (see
documents below).
- Job Scheduling and Tracking
- This
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 "toungue-in-cheek",
interactive page called Geeks In the Dark.
- JavaScript Compressor
- lets you write well
formatted and commented JavaScript code and then compress it down
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
written
policy was that I was not allowed to give him, or anybody else credit
for the
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 to JavaScript Converter
- CSV (Comma Separated Values) are produced by many
popular software packages. This applications quickly converts
the data from a CSV file into a set of JavaScript arrays
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 JavaScript code that can be inserted into your pages along with
a server-side script for mainaining the database of quotes. The
server side script dynamically updates the JavaScript in the same
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
All web pages are hand coded using D/HTML, Perl, JavaScript, etc. All code
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.
-
Creativyst, Inc.
- The Corporate web page for my
software business (always evolving).
-
ReaderBoards.com
- What Can I say. I really like this blue and gray color
scheme. ReaderBoards.com is a member-restricted site
(with the same color/design scheme as this one). Join up or
just inspect the non-member "splash" screen (which
includes my own
news entry system).
-
JohnRepici.com
- (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. :-)
Articles & Documents
Here are some articles, conventions, and open specifications, I've
written for my freelance site: Creativyst, Inc., and for my blog
at the Stand Out Publishing site (to support Netlab Loligo). 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 I have been doing. They mostly take the
form of blog entries at the Stand Out Publishing site's Loligo Blog.
|
|
Netlab Loligo - New Approaches to Neural Network Simulation
—
I've written 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 contain the
same old "paint-by-numbers" discussions on the subject,
you may find this book refreshing.
Not sure? The excerpts pages contain some teaser-content from the book.
|
-
Simile, Metaphor, Analogy: Differences and Similarities
Recently (2003-2010), I have been writing a book, and so I have been
trying to learn to be a better writer. That sounds strange, even to me.
As I learn more about writing, however, it is becoming clear that I'm
not the only one who needs a little improvement in this area. :-) That
said, understanding of these concepts is also becoming increasingly
important to our understanding of thought, and of how the functions
of the brain lead to the processes of the mind.
-
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
admit..."
-
Actuators
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, so that he can organize those details into a more coherent
understanding.
-
Memristors
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.
-
Clarity From Fog
Just a few random personal observations about fog, sound, and the concept of clarity.
-
Time In Three Parts -
A Practical Definition of Temporality
Tech/Exploratory:
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".
- Programming Articles (mostly at Creativyst Software).
Following are articles about programming issues. Most, but not all of
them are published at Creativyst.com. Most of my recent writing is in
support of Netlab Loligo (above), but I still write 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 exposes 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
corporate processes.
-
Creativyst JSMsg Webpage Display Convention
A JavaScript content sharing convention I developed to respond
to what I see as the one major drawback to RSS. RSS can't be
used to display content in webpages with only server-side
scripting.
-
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.
-
The Un-Methodology
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
applications.
-
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
structural hierarchy.
-
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.
-
Glossary XML
This paper describes a proposed XML DTD for transporting dictionary
or glossary information between applications. It is the export
convention 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 in a series on 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 Microsoft.
-
Convert Dell Service Tag to
Express Service Code
How To:
- 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. The
text of the recommendation
describes the standard concisely in it's gorry detail. For a
more human treatment of the subject
see the
CUF Code Refference
which is a listing and terse description of all the formatting codes
in the standard. Lastly, the application's
user help
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.
-
Menu Flowers
A simple page exploring creative and interesting ways to practice
some otherwise tedious table design techniques.
- Articles About My Work
I'm not sure if a resume is the best place for this, but I need a
place to collect references to mentions of my stuff in the press.
So, here it shall go. :-)
Continuous Improvement
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.
Data-Tech Institute
-
Windows On Netware Recommended only if you are personally
responsible for supporting Windows users over a Novell Netware
server.
-
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).
Borland
-
Programmable Logic Design With VHDL Great introductory
course to a wonderful language used to produce concise, text
based descriptions of digital circuitry. Cypress
Semiconductors
-
Understanding TCP/IP A good introductory course to this
ubiquitous protocol. Given by a great instructor (Dr. Sidnie Feit).
Data-Tech Institute
-
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
Seminars
-
Educational Objectives:
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
|
|