Jason Andrade: Software Developer / Technical Writer / Research Analyst

The Jason Andrade Javascript Pseudo-Compiler (JAJPC) is a Windows command line interface (CLI) utility which concatenates multiple Javascript files into a single file, removes all unnecessary whitespace, and randomly genericizes all identifiers.   Downloading a single large Javascript file instead of multiple small ones greatly reduces the load on the server.   The JAJPC was written in the C++ programming language using Microsoft's Visual C++ IDE.

The concatenation process when combined with genericization of identifiers makes it very difficult to analyze or modify the code.   Put succinctly, the JAJPC can be used as a kind of copyright protection mechanism aimed at preventing Javascripts being used on other websites without the author's permission.   In order to be successfully used for this purpose the programmer must also check the domain name of the page running the script.   The Jason Andrade Showcase Builder is an example of this, as it can effectively only be deployed on JasonAndrade.ca.

Right-Click on this link to download the JAJPC.
The JAJPC does not have a GUI; it needs to be run from the Windows command prompt.   Type "jajpc /?" for detailed instructions on how to use the utility.


The Jason Andrade Showcase Builder is designed as a true object oriented Javascript application which uses classical inheritance.   Most Javascript code written for websites merely uses parasitic inheritance, which is poorly suited for use in complex applications.   However the downside of a true object oriented approach is the necessity of having numerous (dozens or more) separate files, which become a burden on the server.   The JAJPC was created to consolidate these multiple Javascript files into just one, thus neutralizing this negative property.

Google's Closure Compiler lacks the precision controls needed by a developer for an actual real-world application.   In order to sucessfully pseudo-compile a complex Javascript program for a live website you absolutely need to allow for compatibility with uncompiled 3rd party scripts, like JQuery.   Google's Closure Compiler is unable to specify identifiers that are to be excluded from genericization, and thus doesn't have the facilities needed to meet this crucial necessity.

Math Libraries
Showcase Builder
Javascript Pseudo-Compiler
This website is published under the Creative Commons Attribution 3.0 License