This webpage generates template-builders for the Resume Randomizer program. Firefox (version 12.0) is the recommended webbrowser. Internet Explorer (version 9.0) also works, but does not allow loading templates from disk. Chrome (version 19.0) is known not to work. You may be required to enable "active content".
Basic Use
To generate a template-builder, use the drop down boxes in the middle of this page to select a type (one of 'Constant', 'Random', 'Dependent', or 'Leaf') for each point in the outline, entering text for each 'Leaf' point. See the examples below for illustrations of the use of the program.
To save a template-builder, copy the text in the frame to the right and paste into a file on your computer. That file must be in the same folder as the Resume Randomizer program and its name must end with ".rtf" (no quotes), which stands for resume template file. Use Notepad, Emacs, Vi, or some other editor that does not store extra information in the file. Do not use Microsoft Word or Wordpad, because the resume-randomizer.exe program cannot handle extra information (e.g., formatting, or version info for the editor) added to the resume template file.
To create resumes from a template, run (double-click) the Resume Randomizer executable, "resume-randomizer.exe", which will ask which template-builder file it should use to create resumes.
To load a template-builder into this website for changes at a later date: if supported by your webbrowser (Firefox), there is a "Browse" button in the frame to the right, click that button and select the file containing the template you want to load. If there is no "Browse" button, 1) delete the text in the frame to the right, 2) copy the text from a previously created template-builder file, 3) paste that text into the right-hand frame's text box, 4) then press the button "Load this template-builder".
Pressing the "Clear template-builder" button in the right-hand frame will reset the template-builder so that there is only one point, a 'Leaf'.
Pressing the "Select all" button in the right-hand frame will select the text, making it easier to copy or delete.
Advanced usage is explained below.
Explanation
The Resume Randomizer executable, "resume-randomizer.exe", treats each template-builder as an outline. It starts at the top point in the outline (which has the label '1'). When it encounters an outline point with the 'Constant' type, it moves to each of the sub-points in the order listed. When the program encounters an outline point with the 'Random' type, it moves to only one of the sub-points (chosen randomly with equal likelihood). When it encounters an outline point with the 'Dependent' type, it must depend on a specific 'Random' section; the 'Dependent' section always chooses the same sub-point as the 'Random' section on which it depends. When the program encounters an outline point with the 'Leaf' type, it writes any text in that 'Leaf' to the resume file. Note that outline points labeled 'Constant' and 'Random' have drop-down boxes to select the number of sub-points. It is possible to create template-builders without using this website, but this webpage makes the process easier by reducing potential for errors and providing this graphical user interface.
Examples
Example 1, basic operation
Set the first drop down box above to 'Leaf'. There should only be one text box. Enter "Hello World" into that text box. Save the template-builder as described above and run the Resume Randomizer executable. From the menu that appears, choose the template-builder file that was just saved. When asked how many resumes to make, answer '2'. Two files ending in ".doc" will be created, each containing just the text "Hello World". The names for those two text files will start with the name of the template-builder file, then the date (in Year-Month-Day-Hour-Minute-Second format), and then some underscores separating numbers that distinguish the resumes created at the same time (described in more detail in another example below). Two files ending in ".sav" and two files ending in ".txt" will also be created as described in another example below.
Example 2, multiple text blocks
Set the first drop down box to 'Constant'. A second drop down box will be right next to the one you just changed. This second drop down box specifies the number of sub-points under this point in the outline. Set that second drop down box to '2'. There are now two sub-points with labels '1-1' and '1-2'. Set the drop down box for each of them to 'Leaf'. In the text box for '1-1', the upper 'Leaf', enter "Hello". In the text box for '1-2', the bottom 'Leaf', enter "World". As in the first example: save the template-builder, run the Resume Randomizer executable and create a few resumes from this template-builder. The generated resumes should all contain the text, "HelloWorld". Spaces or blank lines can be entered in the text boxes of the template-builder to put spaces or blank lines between the words in the resume files.
Example 3, random selections
Set the template-builder up as for Example 2, then set the first drop down box to 'Random'. As above, save the template-builder, run the Resume Randomizer executable, and generate some resumes for this template-builder. Some of the resumes will contain the text "Hello" and the others will contain the text "World". If a large enough number of resumes are generated, half of them should contain each result. Also note the files ending in ".sav" and ".txt" that are generated with the resume text files. When a template-builder contains 'Random' outline points, the ".sav" and ".txt" files will list each random choice. These files therefore contain sufficient information to reconstruct a resume from the template-builder. The ".sav" files also explain which outline point was making the choice, plainly explain the components of the file name, and list the version number for the program. The ".txt" files contain just the filename for the resume and then a tab-delimited list of the choices made by the program in creating the resume.
Example 4, nested random selections and non-uniform probabilities
Set the point labeled '1' (the first outline point) to 'Constant' with 3 sub-points (set in the drop-down box just to the right of the type). Set the '1-1' point to a 'Leaf' with the text "Hello,". Set the '1-2' point to 'Random' with 2 sub-points. Set '1-2-1' to 'Random' with 2 sub-points, each a 'Leaf'. For the text of '1-2-1-1' enter "John". For the text of '1-2-1-2' enter "Bob". Set '1-2-2' to a 'Leaf' with the text "Mary". Finally, set '1-3' to a 'Leaf' with the text ",Bye". As above, save the template-builder, run the Resume Randomizer executable, and generate some resumes for this template-builder. Approximately half of the resumes will contain "Hello,Mary,Bye", one quarter will say "Hello,John,Bye", and one quarter will say "Hello,Bob,Bye".
Example 5, repeated random selections
Set the template-builder up as for Example 4. Then for '1-2' check the 'Repeat' checkbox (described in detail below). Set the 'start' value to 0, the 'end' value to 100, and the 'interval' value to 1. Generate some resumes. Now each resume will contain 100 names, each randomly chosen. Again, "Mary" will appear about half the time, "John" one-quarter of the time, and "Bob" the remainder.
Example 6, matched random selections with same choice
Set the template-builder up as for Example 4 again. Then for '1-2' check the 'Matched' checkbox (described in detail below). Select the 'Match Same' radio button. As above, save the template-builder, and run the Resume Randomizer executable. This time, after asking "How many?" the program will ask how many resumes to match. If the first question is answered with '5', and then the program is told to match '3' resumes, a total of 15 resumes will be created. The names of the resume files will end in "_X_YofZ.doc" where X is the number of the batch (1 through 5 in this example), Y is the number of the resume within the batch (1 through 3 in this example), and Z is the total number of resumes in each batch (3 in this example). Each of the resumes in a batch (i.e., with the same X value in the filename) will have chosen the same choice for the name in this example. Different batches of matched resumes choose separately from each other batch.
Example 7, matched random selections with different choices
Set the template-builder up as for Example 6. Then select the 'Match Different' radio button for point '1-2' (instead of 'Match Same'). Each resume in a batch will now be forced to choose a different choice than all the other resumes in that batch. Since there are only two choices for that 'Random' point, the generated batches cannot be larger than 2 resumes without generating an error. Generate some resumes matched in pairs, and observe that in each pair one of the resumes will contain "Mary" and the other will contain either "John" or "Bob".
Example 8, repeated random selections and non-uniform probablities without nested sections
Set the first point to 'Random' that repeats 100 times and has 4 sub-points, each a 'Leaf'. Set the text for the first three 'Leaf's to "a" and the text for the fourth 'Leaf' to "b". Generate some resumes. In each resume, "a" should appear three times as often as "b".
Example 9, using special text while repeating, and "do not print doubles"
Set the first point to 'Random' with two sub-points, each a 'Leaf'. Make the 'Random' repeat with start 1990, end 2000, interval 2, to signify that jobs will be chosen every two years starting in 1990 and stopping before 2000. Set the text for the '1-1' 'Leaf' to "%current% - %next%1% waiter. ", and the text for the '1-2' 'Leaf' to "%current% - %next%1% chef. ". Generate some resumes and note how the special text inside each 'Leaf' is replaced with the values from the counter. If the 'Random' point was also marked "Do not print doubles", a possible output would be "1990 - 1994 waiter. 1994 - 1996 chef. 1996 - 2000 waiter."
Example 10, typical resume
Open the "example_resume_template.rtf" file provided with the Resume Randomizer program. Copy the text inside that file and paste it into the text box on the right, replacing any text already there. Press the "Load this template-builder" button.
You may then wish to check the "Hide" checkbox next to the topmost section, to see just the text and structure of the template-builder.
This template-builder creates resumes for one of two people, "Linda" and "Mary", which are chosen using the '1-1' 'Random' point. That point is set to Match Different, so that when creating a matched pair, one resume will get the text for "Linda" and the other will get the text for "Mary". The '1-5' 'Random' point contains all of the characteristics for the work history. The history repeats for 10 years from 2003 to 1993. That point is set to Match Same so that both resumes in the matched pair will take the same sub-point each year. The first sub-point, '1-5-1' is a 'Leaf' with no text in the text box. So when this choice is picked, nothing is added to the resume for that year. The other sub-points, '1-5-2' through '1-5-6' are all 'Random' points with two sub-points each. If the program chooses '1-5-2', then it will choose between '1-5-2-1' and '1-5-2-2', which may be considered functionally equivalent jobs (cashiers at large stores). Furthermore, the points labeled '1-5-2' through '1-5-6' are all set to Match Different, so that the "Linda" resume will get one of the two functionally equivalent jobs, and the "Mary" resume will get the other functionally equivalent job.
Notice that the 'Leaf' points for the work history contain special text (explained below) to print the years worked. Also note the use of "Do not print doubles" (explained below) to prevent printing job text twice in a row. Generate a few resumes from this template-builder and compare the results to the template-builder.
Example 11, choosing the same subsections using dependent sections
Set the first point to 'Constant' with three subsections. Set the first subsection to 'Random' with two subsections, both of type 'Leaf'. Set the text for those 'Leaf's to "I want a job. " and "Do you have an opening? ". Set section '1-2' to a 'Leaf' with the text, "Thank you, John. ". Set section '1-3' to 'Dependent'. It will automatically select the first (and currently only) 'Random' section ('1-1') on which to depend. Set sections '1-3-1' and '1-3-2' to 'Leaf's with "john111@me.com" and "john222@me.com" respectively. Generate some resumes and see how "I want a job. " is always followed by "john111@me.com", while "Do you have an opening? " is always followed by "john222@me.com".
Example 12, formatting resumes using templates that generate HTML
If the resumes must have formatting (e.g., fonts, italics, right justification, text color, etc.) there are three methods of applying that formatting:
First, it can be done manually, though if many resumes are being created the formatting could take significant time.
Second, it can be done programmatically, e.g., with a macro in Microsoft Word. Creation of such macros may take careful thought, since the resumes can vary in length and content. It may be necessary to add special "tags" (combinations of letters and numbers) to the template, so that the macro can find the starts and ends of different sections or words that you want to have different formatting. Removal of those tags can be part of the macro itself.
Third, templates can be created that generate HTML. The resumes will still end in ".doc", and can be opened with a webbrowser, or Microsoft Word, or Apache OpenOffice Writer. Then, any formatting can be contained in the HTML, and in fact, the formatting can be randomized just like any other aspect of the resumes. If you press the "Load Example 12" button above, you can see how Cascading Style Sheets (CSS) can be used to set formatting, as well as various HTML tags for italics, horizontal rule, etc.
Generating HTML (and therefore webpages) significantly increases the capabilities of the resulting "resumes", allowing for tables, lists, images, hyperlinks, ads, etc. It is even possible to put javascript code into the template, which will be run when the resumes are opened by a web browser (or when the user click a button or moves the mouse over a certain area), so it is possible to use this program to put programs into your HTML "resumes".
Advanced Use
"Hide" setting:
In order to reduce clutter, outline points marked "Hide" do not display any of the controls (i.e., buttons, drop-down boxes, text entry areas) for themselves or their subpoints. Instead, 'Random' and 'Dependent' points are displayed with a black border inside of which their subpoints are displayed, each surrounded by a grey border. 'Constant' and 'Leaf' points do not create borders. This setting has no effect on generation of resume files and does not work in Internet Explorer.
Non-equal likelihood:
When choosing between two (or more) options for characteristics (e.g., "Linda" vs. "Mary"), the experimenter may not want each option to be chosen an equal amount of the time. Currently three methods exist for giving two characteristics different likelihoods for being chosen. The first method is to nest random sections, like Example 4 above. The second method is to copy that characteristic, so that the 'Random' point has n chances to choose the copied characteristic (where n is the total number of copies), e.g., Example 8 above. The third method is the setting called "Non-uniform chance for immediate repeat" which is described below in the section marked "Repeating" and does not affect the chance that a characteristic will be initially chosen.
Matched "pairs":
This option allows the experiment to create matched resumes based on experimenter-defined matches. The maximum number of possible matches is set at 199 (2-4 is more common in the literature). There are two ways resumes can be matched. The first way is that any of the 'Random' points can be set to "Matched Same", in which case the matched resume files will all choose the same characteristic (Examples 6&10 above). The second way is that any of the 'Random' points can be set to "Matched Different", in which case the resume files will be generated such that no two files will choose the identical characteristic (Examples 7&10 above). Make sure that any point marked "Match Different" contain at least one characteristic per matched resume.
Repeating:
This option is most useful for generating job histories where multiple jobs are picked from a single list. If an outline point is set to "Repeat", then that point will be repeated some number of times (see Example 5 above). When a resume is generated, a counter inside the executable will be initialized to the 'start' value, and then incremented by the 'interval' value after each time the point is completed. The repetitions will stop when the counter is equal to or past the 'end' value.
When generating job histories, the user may desire for the same characteristic (i.e., previous jobs) not to be printed twice in succession. Setting the option "Do not print doubles" will tell the executable to not print the same characteristic upon successive repetitions until a different characteristic is chosen (see Examples 9&10).
There are three settings that affect the probability of choosing the same characteristic in multiple repetitions. The "Same if Repeat" setting will choose the same characteristic on each repetition. The "Always different when repeat" setting will prevent the resume from containing the same characteristic more than once. ("Always different when repeat" is different from "Do not print doubles" because the former will print a different characteristic for each repetition, whereas the latter may only end up printing one characteristic.) The third setting that affects probability is "Non-uniform chance for immediate repeat", which allows the experimenter to specify the exact chance of choosing the same subpoint that was chosen the last repetition.
To assist with the creation of work histories, special text in a 'Leaf' will be replaced with values from the repetition counter (see Examples 9&10 above). The purpose behind this feature is to allow the repetition over a set of jobs, where the description of each job contains the years worked. Those years should increment as the work history is being created, and should follow the repetition counter. The text %start% will be replaced with the start value. %end% will be replaced with the end value. %current% will be replaced with the value of the counter at the time of that choice. %currentPlusInterval% will be replaced by the sum of the current value of the counter and the counting interval. %next% is also a special text, but it must be followed by the label of a 'Random' point and then a percent sign, '%'.
(The "label" of a point is the string of numbers and minus signs directly to the left of the 'Leaf'/'Random'/'Constant'/'Dependent' drop-down box. The top point's label is 1, its first subpoint is 1-1, and its second subpoint is 1-2.)
The %next% special text will be replaced by the current value of the specified counter when that repetition makes a different choice than it did previously. If any %next% instances are not replaced before the repetitions finish, they will be replaced by the end value.
Only 'Random' points can be marked "repeating". To repeat a 'Constant', 'Dependent', or 'Leaf' point, create a repeating 'Random' point with a single subpoint that will then get chosen each repetition.
Dependent sections:
Dependent sections are used to link a random selection at one place in the resume to another selection elsewhere in the resume. When a 'Dependent' section is first added to a template-builder, it will automatically depend upon the first 'Random' section in the template-builder. The drop-down box after "on section labeled" can be used to change which 'Random' section to depend upon. The 'Dependent' section will automatically have the same number of subsections as the 'Random' section on which it depends. If the template-builder does not contain at least one 'Random' section above the 'Dependent' section, an error will be displayed.
When the resume-randomizer program generates resumes from a template-builder, the program stores the last choice for each 'Random' section. When the program comes to a 'Dependent' section, it makes the same choice that was last made by the depended-upon 'Random' section. For example, dependent sections are useful if you are generating resumes and you want the phone number to be dependent on the name, the year of high school graduation, or some other random selection made while generating the resume. For another example, if you are generating resumes for different jobs at random and certain education entries need to be paired with certain certificates. See Example 11 above.
Two example template-builders are included with the Resume Randomizer program. The first is named "example_cover_letter_template.rtf" and generates cover letters for a matched pairs study, such that the two cover letters contain different but functionally equivalent text. The second is named "example_resume_template.rtf" and generates resumes as if for a matched pair study on the effects of high school graduation date on the probability of interview callbacks. Note that this latter template-builder is the same as Example 10 above. To create text files (cover letters or resumes, respectively) from these template-builder files, double-click on the Resume Randomizer executable, "resume-randomizer.exe" and follow the prompts that will ask which template-builder to use and how many cover letters or resumes to create.
Copyright Ryan Beasley and Joanna Lahey, June 20, 2012