1331
In 2002, I decided to select a new handle to use online. After much deliberation, I decided to use a number. By using a number, people could judge what I say based on content with minimal bias, positive or negative. Names and ordinary handles often give hints about ethnicity, nationality, gender, religion, or age, but a number usually does not.
I wanted to select a number that has some kind of personal meaning. I love mathematics and was studying number theory at the time. I have been interested in the representation of numbers for as long as I can remember, so that seemed like a good basis for selection. I wrote a program to search for candidate numbers that met various criteria, including mathematical properties as well as handle constraints.
I selected 1331 to use as my handle.
What Base?
The property that I was most enamored with is that \(11^3 = 1331\) for any base (large enough to have \(3\) as a digit).
\[ 11_r^3 = 1331_r \; | \; r > 3 \]
This number is most famous as a row of Pascal’s triangle, which can be used to explain why this property is true. The numbers in Pascal’s triangle are binomial coefficients. In other words, they are the coefficients of a binomial expansion—the expansion of \((x + y)^n\) into a sum of products. 1331 is the fourth row, which corresponds to the following binomial expansion. Note that \(n = 3\) because rows are counted from zero.
\[ (x + y)^3 = x^3 + 3x^2 y + 3xy^2 + y^3 \]
You can see that the coefficients of the terms are \(1\), \(3\), \(3\), and \(1\).
We normally use base 10 (decimal) numbers, which uses ten digits (\(0\) through \(9\)), and write them using a positional notation. The “one’s place” is in position \(0\), the “ten’s place” is in position \(1\), the “hundred’s place” is in position \(2\), etc. The value of a number in positional notation is calculated as follows, where \(i\) is the index (position starting from zero), \(n\) is the largest index in the number, \(d_i\) is the digit at position \(i\), and \(r\) is the “radix” (base).
\[ \sum_{i=0}^n d_i r^i \]
For example, the value of \(1331_{10}\) can be calculated as follows.
\[\begin{eqnarray} 1331_{10} & = & 1 \times 10^3 + 3 \times 10^2 + 3 \times 10^1 + 1 \times 10^0 \\ & = & 1 \times 1000 + 3 \times 100 + 3 \times 10 + 1 \times 1 \\ & = & 1000 + 300 + 30 + 1 \\ & = & 1331 \end{eqnarray}\]
The result is 1331 because we are using base 10. The value in base 16 (hexadecimal) can be calculated as follows.
\[\begin{eqnarray} 1331_{16} & = & 1 \times 16^3 + 3 \times 16^2 + 3 \times 16^1 + 1 \times 16^0 \\ & = & 1 \times 4096 + 3 \times 256 + 3 \times 16 + 1 \times 1 \\ & = & 4096 + 768 + 48 + 1 \\ & = & 4913 \end{eqnarray}\]
1331 in base 16 has a value of 4,913 (shown in base 10 because that is what we normally use).
Notice that the radix terms match the \(x\) terms of the binomial expansion. In the following equation, we set \(y = 1\) in the expansion shown above.
\[\begin{eqnarray} (x + y)^3 & = & x^3 + 3x^2 y + 3xy^2 + y^3 \\ (x + 1)^3 & = & x^3 + 3x^2 \times 1 + 3x \times 1^2 + 1^3 \\ & = & x^3 + 3x^2 + 3x + 1 \end{eqnarray}\]
To be explicit, \(x\) is the radix.
\[\begin{eqnarray} (x + 1)^3 & = & x^3 + 3x^2 + 3x + 1 \\ (r + 1)^3 & = & r^3 + 3r^2 + 3r + 1 \end{eqnarray}\]
We can transform this equation to the target property using the positional notation equation.
\[\begin{eqnarray} (r + 1)^3 & = & r^3 + 3r^2 + 3r + 1 \\ 11_r^3 & = & 1331_r \end{eqnarray}\]
This demonstrates the property for the specific value of 1331, but note that it is a general property of \(11_r^n\) as is shown in the following equation.
\[ 11_r^n = \sum_{i = 0}^n {n \choose i} r^i \]
When the coefficient of a term is too large to be expressed as a single digit in the base, carrying must be performed. In all other cases, the digits of \(11_r^n\) expressed in base \(r\) are the same, regardless of the base.
Fixed UID/GID
In Unix, user accounts are associated with a user identifier
(UID
) and initial login group (with group identifier
GID
). These integral identifiers are used for access
control. For non-system users, the initial group name for a user is
generally the same as the username, and the GID
for this
group is the same as the UID
of the user. The user should
have the same UID
and GID
across all systems.
Having consistent UID
and GID
identifiers is
even more important than having consistent usernames.
The reason is that permissions for accessing files are traditionally
set for the owner (specified using a UID
), members of a
group (specified using a GID
), and other users. The user
interface usually shows string identifiers (username and group name),
but generally only the UID
and GID
are
actually stored in the properties for the file in the filesystem. When
mounting a filesystem on systems that have inconsistent UID
and GID
identifiers, the permissions are also
inconsistent!
On most systems, UID
and GID
identifiers
are assigned to non-system users using sequential values starting from
1000 when not specified, and they usually have four digits (except for
on systems with many thousands of users).
In addition to being my handle, 1331 is my fixed UID
and
GID
. It is not too small, making it unlikely to conflict
with an existing UID
/GID
on systems that I may
start using, and it is not too large.
Not 1337
Sometimes somebody will mistake my handle for 1337. That is definitely not the meaning behind 1331, and I did not consider the possible confusion when I chose the handle.