SVP is a program that executes online board level diagnostics and unix command tests. It's purpose is to "verify" a system. That is, to determine whether all tests execute properly. Any test failures that occur help engineers and field personnel to identify problems before the customer experiences them.
When I assumed responsibility for SVP, it was a bourne shell script. A bourne shell script written by a C programmer who did not know a lot about shell programming. I immediately converted SVP to a korn shell script, taking advantage of the better features of that shell. I also "cleaned up" the code significantly.
I was responsible for integrating new online diagnostics. That is, I got diagnostic executables and man pages from engineering, determined the correct invocation of the diagnostics, and installed them into SVP. Installation required new SVP functionality and often accompanying perl programs that provided data that was needed by the diagnostic invocation.
Each IRIX machine shipped comes with SGI's Embedded Support Partner (ESP). ESP is a system monitoring tool. A customer has the ability to configure ESP to send system information back to SGI. The espparse programs are a set of perl programs and shell scripts I wrote that receive and parse the information sent from customer sites worldwide to SGI. The information parsed is used to update a master ESP database. With the information in this database SGI can better serve their customer base.
ESP documentation refers to these programs as a mail parser application. They are a virtual gateway for the customer ESP information coming into SGI and are a critical link in SGI's Automatic Call Logging (see the Software Enhancements delivered by IRIX 6.5.9m section on developers/technology/irix/irix659.html).
TechDigest is part of SGI's corporate intranet. It is used by employees to create, read, and distribute pertinent technical information in a timely manner.
When a user forgets his or her TechDigest password (i.e., types an incorrect password), a web page is invoked which prompts them to select one of a number of choices.
I wrote the perl code that generates a random password, checks its "safeness", and sends it to the user using sendmail. The same subroutine that is used to email the new password to the user is also used to email a user's password hint. Each randomly generated password has a safeness score. A password generating loop is exited only when the safeness score of a newly generated password is greater than a predefined threshold. Each safe attribute that a password possesses increases its safety score. Points are awarded according to the following:
| -1 point | Password < 7 characters in length |
|---|---|
| +1 point | Password > 9 characters in length |
| +1 point | Password > 12 characters in length |
| +1 point | Password > 15 characters in length |
| +1 point | Password contains a lower case letter |
| +1 point | Password contains a upper case letter |
| +1 point | Password contains a digit |
| +1 point | Password contains punctuation |
Each test is made independently of the others. An example of this is that a password may be awarded more than one point based on its length. For instance a thirteen character password will be awarded two points because of its length. This is because it passes both of the tests that test for > 9 characters and > 12 characters respectively.
Employees may indicate to TechDigest that they want to receive information only on certain product types. Or information only in certain areas of expertise. Or information constrained by other similar attributes. These attributes are defined in a perl package called Dxu.
dxuMgr is a program I wrote which maintains the Dxu perl source file. It generates the source file from a data file. Data may be added or removed from the data file. When this occurs, the Dxu source file should be rebuilt. This may occur dynamically, without taking down TechDigest. dxuMgr was written so that the package Dxu source could be changed via a web page interface, to allow TechDigest administrators to add new attributes to the system without the aid of the developers.
The product types or expertise areas in which the user indicates interest are stored in a user database. usrProfMgr allows these preferences to be added or deleted for individual users or for sets of users.
The user profiles of users who select "all" products or "all" expertise areas can be updated en masse by usrProfMgr dxuMgr has added a new category of product or expertise area.
Last modified: $Date: 2003/07/17 23:24:14 $