Vettrasoft, formed by American software programmer-consultants, has been involved in the computer software industry since the 1980's. Past clients have included some of the largest computer businesses, including H-P, Sun Microsystems, IBM, MCI, and Bell South.
Dedicated to creating software of the highest quality, with painstaking attention to proper theoretical methods, the frustration at lack of good engineering by many employers and big companies has resulted in turning away from basic consulting and employment to build the Z Directory. This large object framework system helps a software engineer turn out programs rapidly.
For decades, the Z Directory grew as an internal project to provide an "ultimate" software platform that would provide the foundation for creating a software program. Only recently - starting in April 2012, has the Z Directory been made fully public in the form of a purchasable (licensed) software product and free demo-trial versions.
The remainder of this page is devoted to news and events relating to the Z Directory, in chronological (most recent at the top) order.
As of this writing - March 2017 - the current release available for download is version ZP9, build 21.
However, build 22 is anticipated to be released very soon in 2017. It willl contain many changes. A transition the e-mail component away from the all-in-one email_address_o class, to a more correctly designed set of objects relating to all things e-mail (see the file z_email.h ).
In 2013, the licensing/security system was upgraded. Earlier, Z Directory installs were keyed to MAC addresses. This technique has been discarded (and upgraded) after discovering that the corresponding numbers could easily change for computers that were dynamically assigned IP addresses (such as home computers connecting to an internet provider).For much of 2015-2016, Vettrasoft was in a "quiet period". Our tiny "boutique" software shop was focused on local project work (for some much needed cash), so our R&D work was minimal during these years. That does not mean the Z Directory is going away! [Just resting]
Field testing of the entire suite of encryption methods were implemented and checked. All the ciphers we offer work, with 2 exceptions: "coolhash" and "Chambers-Rantgen" (also, RSA may need further testing). The addition of Bruce Schneier's ciphers (blowfish and twofish) also improved the DES cipher. Also, Vettrasoft's own "vettra_crypt" object was reworked, so that the key length expanded from a [useless] 8 bits, to 4096 bytes. Our custom cipher was renamed from "vettra_crypt_o" to "vettra1_crypt_o", reflecting the future plans to manufacture more, better ciphers in the future.
Some improvements were done to the "krypt" program, our general-purpose file encryption program. Hopefully, a GUI interface will one day [soon] be added, so that many non-tech users would be able to use it.
Besides the big push into improving the encryption subsystem, there were many, many improvements "across the board". To name a few, this included:
- additional error codes (in 'z_types.h')
- textstring_o: number formatting fixes and additions
- bug fixes and enhancements in the SQA system (meaning that unit & regression testing of Z Directory components were improved)
- addition of XML processing
- addition of image processing, based on the "boost" external library;
- major reworking of "web spider" objects, so they would be truly generic
- database subsystem changes: more "first names"; addition (change?) of a "job offers" table; and postal_address table modifications
- hash classes added. There is now a set of classes for calculating popular hash values (CRC, MD-5, SHA-512)
- the thread_o class: threads have been improved, and the interface expanded. A class unithread_o has been created to provide a simplified interface for managing a single background thread (useful for GUI-bound applications, such as MFC or Qt).
- SQL-group components (dbbi_o etc) have been made thread-safe.
- progconf_o can now write its contents out to a file (not just read a file)
- improvements in the email address object
- A version of the Z Directory library now exists for Visual Studio DLL projects
Some relatively minor bug fixes unlocked the functionality of the database subsystem (dbbi, orthodox objects, 'people objects' - business, person, postal address, and more). Now, a huge part of the system is operational once again (the last time was circa 2003).
Along with the developer library - system, Vettrasoft announces the "geocalc" web page, which provides a google-maps-like geographical lookup page. This page can also do IP address to (latitude, longitude) mappings. This page serves as an example of what you can do with the Z Directory and its geography-oriented database data-set.
- airport codes. 8,200 3-letter codes, with airport name, city and country.
- area codes (USA only). Telephone area codes, with city and state.
- continents. A tiny list of the 7 continents. This is used by the country table.
- countries. Summary information for 254 countries, including their abbreviations, other names, telephone code, even the primary internet NIC server.
- states (USA only). State name, abbreviation, time zone offset.
- first names. A list of [common] first names This list can probably never be fully completed, and is used by the "person" [Z Directory] object and other applications.
- zip codes (USA only). A comprehensive list of American zip (postal) codes (UK post codes coming soon).
- A large set of "code tables", including business type (corporation, sole proprietorship, etc); clearance codes (secret, top secret, ..); "location code", such as airport, apartment, farm, or residence; other codes include language code, location code, phone code, salary code, and others.
This database data is integrated with the Z Directory objects.
The populating of these database tables is optional. The step
can be skipped in the installer and done at any time later, into
any database you want to use.
A few tiny glitches kept the database subsystem from working -
it was DOA for all of 2010, 2011. In a nutshell, the problems
lay with the parameter ordering for a matrix databag 'get()'
operation - they were reversed, from "(row,column)" to
"(column,row)". Code that relied on the matrix databag was not
modified. When and by who these changes were made are lost to
history. The changes were recently [re]discovered, fixes done,
and now close to 100% of the Z Directory is fully operational.
13 has many improvements and substantial additions over 12. Many things have been fixed and cleaned up in this release, but many more improvements are needed, mainly in the database section and database-oriented classes that rely on a database: DBBI, dbtable, orthodox, and "people" classes: postal address, business, person, worker classes, and a few others.
There will also be a change in the installer, so you can select a default database to populate with [database] code tables and other entities used by these objects, and it will load "topology" data into a database.
Vettrasoft has issues releasing the linux version. Although apparently working fine, since security internals assume there's a registry, this subsystem does not work properly due to unix's lack of a registry facility. We are mulling it over.
1:27am: databag values from a C++ program were successully loaded into environment variables and accessed from a PHP script.