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]
Due to recent low demand, there has not been much focus on ensuring that the trial-software download system was functioning 100% correctly. However, this does not mean the Z Directory does not work! The core system is great. If you have experienced difficulty obtaining a personal copy, please contact us. We will go to great lengths to ensure you get the latest, complete system.

Friday January 20, 2017
[as of this writing, in Feb 2017] In the yet-unrealeased build 22, encryption has been massively improved, including adding fully tested implementations of [Bruce Schneier's] blowfish and twofish cipher algorithms. A very important improvement was getting CBC mode of the AES ("Rijndael") cipher algorithm to work correctly. Previously, the default Rijndael block processing Was in the "ECB" mode - this was (for technical reasons too complex to go into here) an inadequate, inferior, and most insecure way of encrypting a big block of data. It was a known problem that is now fully resolved.

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

July 15, 2015
build 21 released. It has been a long time since a new build was issued. Numerous improvements have been made with this build! Including:
  • 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
These are some of the more major changes. A myriad of other bug fixes and improvements have been done over the past 2 years.

Wednesday September 11, 2013
build 20 is released (build #19 was skipped through a mistake in the build process). Unlike the previous build, a long time has elapsed between this build release, resulting in many improvements and fixes across the board. Worker and business objects; people, postal addresses, and other "orthodox" objects can now be easily saved and retrieved to databases. This is a wonderful build, bringing the Z Directory's current 12 layers ever closer to near-perfect completion.

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).

April 2013
build 18 is released. Unlike build #17, which was Fast - Focused - Furious software development, this package has been "slow simmered", with many across the board bug fixes - string operations, database access, error codes, etc. A notable item is the cleanup of components dealing with e-mail. This previously open sore has been organized and e-mail is now an upstanding citizen of the Z Directory.

Wednesday 12/12/2012
build 17 released. This is a "mega-build", with not only source code improvements. The full geography-topology dataset is included. The data has been standardized and revamped to reflect modern geo-political boundaries.

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.

Sunday August 26, 2012
build 15 released. A window has been added to installer, where you have the option of creating Z Directory-specific tables. The tables are created and loaded with 'topo' data, including:
  • 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.

Friday July 27, 2012
build 14: released to fix a serious flaw in build 13, which would have prevented anybody from being able to use the Z Directory! (bugs in the security system)

Tuesday July 17, 2012
Build 13 has been released. This is more than just another build. This release introduces the PHP file object and the mass mail object. These are powerful objects in the areas of form processng and sending e-mail. Also, the e-mail address object (email_address_o) has been streamlined and improved. Now it can connect with MTAs that require an SSL [secure] connection. Invisible to you, the linux version has improved substantially.

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.

Tuesday June 26, 2012
10:40pm: R&D from the Vettrasoft laboratory: the "massmailer" e-mail program sends off the first letter containing embedded, processed PHP using the [new] phpfile object. 2 minutes later, the letter is inspected, at vettra.vids@gmail.com, and is exactly as expected.

Tuesday June 12, 2012
1:05am: R&D from the Vettrasoft laboratory: 1st-time, from a program written in C++, a file was generated using PHP preprocessing, including setting variables via environment variables in the PHP script.
1:27am: databag values from a C++ program were successully loaded into environment variables and accessed from a PHP script.

Wednesday May 30, 2012 - build 12 released
Header files incurred some cleanup. The primary feature of this build is the e-mail address object , now fully functional.

Friday April 27, 2012 (9:21pm)
Vettrasoft's video #5, "multi-threaded programming", is released.

Saturday April 21, 2012 (6:37pm)
Vettrasoft's first youtube instructional video on Z Directory usage is released. This is followed in rapid succession by 3 more videos, covering encryption and client-server architecture.

Tuesday February 14, 2012
header file clean-up.

Thursday January 26, 2012
captchas [security check] added to web site pages - contact and download forms.

Saturday January 21, 2012
Vettrasoft signs up with Rimu web hosting services, for its production web site.

Thursday November 03, 2011
The first Z Directory installer programs were created.

Monday October 17, 2011
"regloader" [installer program] did its first successful registry operations. Build #3 started.

Friday October 14, 2011
free-trial Z Directory library installer programs successfully wrote all info into the registry.

Monday September 26, 2011
Vettrasoft successfully completes its first full round-trip encryption - decryption of the internal data, for the "branding" of individual libraries.

Monday July 25, 2011
Z Directory decryption of the internal data for "branding" individual libraries starts to function correctly.

Wednesday April 20, 2011
"krypt" (general-purpose encryption - decryption program) is completed.

Monday April 18, 2011
after painstaking debuggging and analysis, errors werer isolated (and repaired) in the original, public-domain DES source code.

Saturday April 02, 2011
development of the Vettrasoft Z Directory internal security system is started.

Saturday December 25, 2010
realization that Vettrasoft's "free web hoster" site {for prototyping the web pages} cannot execute vital PHP functions. Decision to find a "pro" web hoster and abandon the current one.

Monday November 09, 2009
the Z Directory is completely recompiled. This is the first time in many (~5) years.

Friday November 06, 2009
work resumes on the Z Directory, after a long hiatus.