Moving to a New Server

I am moving the NousRandom.net website to a new server. This will probably take a few days.

Posted in NousRandom | Leave a comment

Card Shuffler now operational

The Card Shuffler shuffles a standard deck of 52 cards. Options for including the red and black joker cards. Multiple decks can be shuffled at one time. You can specify to draw any number of cards from the deck. The default is to return the entire deck of cards.

The card shuffler is intended for use by other applications that need a properly shuffled deck of cards. If you select to draw less cards than the full deck, the entire deck is reshuffled on the next draw.

Each card is represented by 2 or 3 upper case letters and numbers which indicates its face value and its suit. The last letter indicates the suit.

S-Spades, C-Clubs, H-Hearts, D-Diamonds.

Face cards have a letter instead of a number indicating which face.

J-Jack, Q-Queen, K-King, A-Ace.

Jokers are represented by RJK and BJK referring to the red and black joker respectively.

All possible card codes are as follows:

2S 3S 4S 5S 6S 7S 8S 9S 10S JS QS KS AS
2C 3C 4C 5C 6C 7C 8C 9C 10C JC QC KC AC
2H 3H 4H 5H 6H 7H 8H 9H 10H JH QH KH AH
2D 3D 4D 5D 6D 7D 8D 9D 10D JD QD KD AD
RJK BJK
Posted in NousRandom | Leave a comment

Lottery Number Picker is now operational

The Lottery Number Picker is now operational. Two versions are online. The first version is designed to be very easy to use. Select a Lottery, enter how many lottery tickets to generate, then click the Generate Numbers button. Your numbers will appear in the box on the page. Just click the Generate button again to create another set of numbers.

The second version is the Custom Lottery Number Picker. This page has a form with which you can set all possible options. When the Generate Numbers button is clicked, a results page will open with a URL that can be bookmarked or copied for use in an application program to access the API.

The algorithm uses the Unique Numbers generator which creates a scrambled list of integers where each possible number is randomly chosen exactly once. The lottery algorithm then picks the numbers for each lottery ticket starting at the next number in the list. If not enough numbers remain in the list to fill all the draws, then a new list is generated.

A second draw, such as a bonus number or Powerball number, works the same way, but with its own list. The second set of numbers is separated from the first set by a slash character.

The algorithm will use as many numbers without repeats as possible. For example, if the lottery chooses 5 numbers from 39 possible numbers, then 7 tickets can be generated before a new list needs to be generated.

5 numbers drawn 7 times equals 35 numbers. That means that all but 4 of the possible 39 numbers will be used once before a new list is generated. While statistically all number combinations have an identical chance of being picked in the lottery, this algorithm will maximize the usage of all possible numbers. This minimizes biases toward any specific number.

Posted in NousRandom | Leave a comment

Most API Detail Pages are Uploaded

Most of the pages of the API Details are now uploaded and live. The last few pages will be uploaded later today. If you find any of the information confusing or any questions about the details, Post a message here or send me an email.

Posted in NousRandom | Leave a comment

API Details Pages being uploaded

The upload of the API Details Pages is taken a little longer than planned. As I was uploading the pages, I noticed some redundancies and a bit of confused organization. So I rewrote some of the pages and restructured the index tree for the various pages. At this writing, a few of the first pages are uploaded. The rest of the pages will be uploaded throughout the day. I plan to have the entire reference manual uploaded by tomorrow.

Posted in NousRandom | Leave a comment

Changes Made to the Orthographic Password Creator

I modified the Orthographic Password Creator . After agonizing for the past couple of days over how to make it generate better words, I made the following changes:

  1. Only 1 and 2 letter orthographies are being used. 3, 4, and 5 letter combinations were removed from the tables.
  2. All of the single letters are still used (as was before)
  3. I removed from the 2 letter vowels the first 6 entries (referring to the count tables). These entires have very low occurrences in the dictionary.
  4. I removed from the 2 letter consonants the first 24 entries.
  5. Adjusted the default number of passwords generated from 10 to 20. Seems that it can take a few attempts to make something memorable. 20 seems a good compromise that also works on lower resolution screens (phones).

These changes generate words that are easier to pronounce, memorize, and more often follow syllable rules. Also fewer weird spelling combinations. The complete list of single and paired letter combinations that are used to create the passwords are listed at the bottom of the Orthographic Password Creator page.

Some of the information I used to make these changes is in the following posts:

Orthography Statistics (Part 1: The Count Tables)

Orthography Statistics (Part 2: Count Plots)

Orthography Statistics (Part 3: Alphabet Pairings)

Post a comment here, or send me an email if you have any comments, suggestions, issues, and such.

Posted in NousRandom, Orthography | Leave a comment

Orthography Statistics (Part 3: Alphabet Pairings)

This is Part 3 describing the statistics I used for generating better words in the Orthographic Password Creator. Part 1 looked at the pairing of all English Orthography components (Wikipedia definition of English Orthography). Part 2 showed count plots for the count tables.

I wrote a C program that permuted through all possible pairings of all letters in the alphabet, then counted how many times each pair occurs in the English language. The program loaded the entire 109,462 word dictionary into memory, which is used by the Random Word Password Creator, then counted every occurrence of every possible pair of letters (26 x 26 = 676 pairs).

This scan works different than the previous tests (Part 1) that used an editors search function. Counts for the same pairings, comparing the two methodologies, are a little higher due to the methodology. The program starts at the top of the dictionary, looks at the current and next character, then increments the appropriate counter. The pointer was then incremented by one, repeat. The search function method of the previous test would increment by two so no overlap.

For example, xxxy. The search function method would see the first two letters as a pair then increment by two. The third x is paired with xy, so xx gets one count, xy gets one count.

The C program increments by 1, so the same example xxxy, would see the first xx pair, then the second and third character xx pair, then the xy pair, so xx gets two counts and xy gets one count.

The reason I did it this way was to get statistics about how many times a particular letter is followed by another specific letter. By scanning the entire dictionary, these numbers are about as accurate as possible.

The following shows the plots followed by the data table. The first plot is a linear scale for the counts. As you can see, the curve is exponential. The second plot is the natural logarithm of the count value.

Note on the logarithm graph/table entries: The plotting program ignores the infinite values from taking the logarithm of zero, whereas the table function in the blog barfs at infinity. I replaced the infinity values for zero counts (from ln(0)) with zero in the table.

Continue reading

Posted in NousRandom, Orthography | Leave a comment

Orthography Statistics (Part 2: Count Plots)

In Part 1, I posted tables showing counts of how many times each orthographic element occurred within a dictionary of 109,462 English words. Now let us look at those numbers. The goal of this discussion is to find how to pare out letter combinations that are rarely used, or that create unusual or unlikely groupings. By removing those, the Orthographic Password Creator should produce more pronounceable, less complicated words, that should be simpler to remember.

The elements are divided between consonant and vowel orthography groups. Within each, the letters are in groups of 1-5 letter pairings. Obviously single letters will always be used, so no need to examine those. As we can see from the count tables, pairings of 4 and 5 letters happen much less frequently. Additionally, when a 4 or 5 letter group is randomly selected with another 4-5 group, the created word becomes significantly more complex. A goal is to use a set of orthography elements such that a consonant/vowel paring results in single syllables. Tests show that those larger groups tend to result in additional syllables.

Therefore, I am removing all 4 and 5 letter groups from the lists.

This leaves groups with 1 to 3 letters per group. Since all of the single letters will always be used, we need only examine the 2-letter and 3-letter groups. The following graphs show the counts in sorted order. The X-Axis is the index number which refers to the associated table row. I could not find a non-cluttered way to include the letters along the X-Axis, so the index number can be cross-referenced with the data tables. The tables are at the end of this post.

Following are two graphs for vowels and consonants, for pairs and triplets, so eight graphs total. As you see, the count values follow an exponential curve. Following each count graph is a logarithmic graph of the same values. I simply took the natural log of the count value. So without further ado, here are the graphs:

Continue reading

Posted in NousRandom, Orthography | Leave a comment

Orthography Statistics (Part 1: The Count Tables)

Many comments about the results from the Orthographic Password Creator indicate that the passwords are a bit thick and not much better than random characters. Given such, I am re-thinking the logic how the process should operate.

My original thought was to include every possible orthographic combination. Upon examination of the list, a bunch of combinations seem unlikely or unfamiliar. I decided to do an experiment. The Random Word Password Creator uses a mostly unabridged list of English words. 109,462 to be exact. I loaded the entire dictionary into a text editor (RAD Studio IDE) and used the search operation to count how many times each orthographic element is used within the entire dictionary. I made a table with three columns. The first column is the text letters of the orthography. The second column is simply a count of the number of letters in that element. That column provides a convenient sorting mechanism. The third column is how many times that text pattern was found in the dictionary. The search used a simple pattern match, so if within a word the pattern occurs twice, then that counts as two occurrences.

The concept is to see what are the most and least popular constructs. Below are two tables with the results.

Continue reading

Posted in NousRandom, Orthography | Leave a comment

Password Creator is now operational

After trying a variety of techniques for generating passwords, I decided to provide three variations of Password Creators.

Random Characters and Symbols: This creator chooses random letters and symbols to create a password. Various options for symbol sets and excluding easily confused characters.

Random Word Passwords: This creator uses a list of 109,462 English words. Words are randomly chosen until both the minimum number of words and minimum length for the password is satisfied. Options for separating words with symbols, numbers, and/or spaces.

Orthographic Passwords: This works similar to the Random Word Passwords, except instead of using a list of words, words are created by combining vowel and consonant orthographies.  The list of vowels contains 157 elements, the consonant list has 174 elements. The generator randomly chooses whether to begin the word with a vowel or consonant. If that element ends in a vowel, then the next orthography is chosen from the consonants list, and vice versa.

Posted in NousRandom | Leave a comment

Password Creator almost ready

I am testing various aspects with the Password Creator. Should be finished in a day or so. This will be a very handy API tool. Users can create passwords in a variety of styles as many as 10,000 at a time. The interface will be through the website, and through direct access of the API for autonomous processes. Very similar to the API for random numbers.

I am looking for feedback on any special requirements needed. Post a comment here or send me an email.

Posted in NousRandom | Leave a comment

The List Scrambler is now operational

The List Scrambler is now operational. You can type or paste any text into the edit box, Click the Scramble button, and the lines of text will be re-arranged in a random order. The process removes blank lines and excess spaces from the text before scrambling. The limits are much higher than other websites that offer scrambling. Any text can be pasted into the box up to 5 megabytes. The Scrambler will process up to 100,000 lines at a time.

Once the process is finished, your text is purged from the server. The filtering process only looks for EOL characters and white space characters. The text can be any valid UTF-8 characters.

Note that although the website uses a secure connection, you should not put any sensitive information into the text box.

Still beta testing, so let me know if you encounter any problems, issues, or have any requests or suggestions.

Posted in NousRandom | Leave a comment

Random Real, Random Integers, Unique Draw now operational

The new pages for Random Real Numbers, Random Integers, and Unique Number Draws are now tested and working. I embedded along side the form options the description of each field. This simplifies newcomers trying to figure out how to use the forms. The website is still beta testing, so if you find any issues or problems, let me know.

Posted in NousRandom | Leave a comment

Major update almost finished

UPDATE July 22

Decided to make a change to the API which is taking a bit longer than planned. Hoping to be finished testing it later today.


I decided to re-work the entire structure of the server side processes. After months of experimenting, modifications, tweaks, the code was getting gnarly. So I decided to completely restructure the server side code. This will allow much easier updates, removes many redundancies, makes the code more readable (very important for long term maintenance), and is simply cleaner following best practices. As such the update is taking a little longer than initially planned.

I am testing everything on a shadow test site before posting. The logic is much improved. Some restrictions on ranges are removed as they were originally used for development purposes to catch problems. The new site has a cleaner look with much more information and instructions obviously placed where applicable.

I will start uploading to the website on Wednesday (July 20) and hope to have everything checked out and verified  for proper operation by Thursday morning.

Posted in NousRandom | Leave a comment

New Version of Website Almost Ready

I am working on an improved version of the website (Beta Version 0.6). The new version has a better browser interface for accessing the numbers and a more detailed description about the number generation process. I also added a bunch of statistics from the analysis of the numbers along with a comparative study of my numbers against Quantum RNG and some other common techniques for generating random numbers.

I also improved the algorithm for scaling integers. The new rounding function is already tested and active on the website. I will make a post on this blog explaining the details in a few days. Basically, I found an issue with the distribution of numbers in small integer sets due to when a scaled floating point number is rounded up to the next integer. I developed a better rounding technique. Floating point numbers are not affected since they are not rounded. The original technique was using the library rounding function which I found does not always properly round the numbers in special cases. So I wrote my own function. The details will be in the post which I hope to get up in a few days.

I am planning to have the new site up by Monday July 18. If you have any suggestions, comments, issues, about the site, please post here or send me an email

Posted in NousRandom | Leave a comment

Blog Replaces Forum

I removed the NousRandom Forum and replaced it with this Blog. The forum seemed cumbersome for simply relaying information. I find the blog format is simpler to access and easier for others to comment on a specific topic.

Posted in NousRandom | Leave a comment