# Grothendieck Prime, Logarithm Notation, Etc.

**Susam Pal**on 07 Apr 2024

Hello! With this post, I am starting a new section on this website
called *RWX*. The posts in this section are going to contain
bits and fragments of stuff I have been reading, writing, or
exploring in the previous few weeks. Usually these bits and
fragments would cover topics and ideas that were not substantial
enough to deserve their own complete blog posts but that I still
want to archive in some form on my website. Let us get started with
the first post of this section.

## Contents

- Grothendieck Prime
- Logarithm Notation
- Random String in Shell
- Joke Sorting Algorithms
- Search User Comment on Jira

## Grothendieck Prime

Quoting from the article
Comme
Appelé du Néant—As If Summoned from the Void: The Life of
Alexandre Grothendieck by Allyn Jackson published in *Notices
of the AMS, Volume 51, Number 10*:

One striking characteristic of Grothendieck's mode of thinking is that it seemed to rely so little on examples. This can be seen in the legend of the so-called "Grothendieck prime". In a mathematical conversation, someone suggested to Grothendieck that they should consider a particular prime number. "You mean an actual number?" Grothendieck asked. The other person replied, yes, an actual prime number. Grothendieck suggested, “All right, take 57.”

## Logarithm Notation

We know that the natural logarithm of a number \( x, \) i.e., the logarithm of \( x \) to the base \( e, \) is sometimes denoted as \( \ln x. \) It has other notations too. For example, many mathematics textbook just use the notation \( \log x \) after establishing once that this notation denotes the natural logarithm. The most descriptive notation is perhaps \( \log_e x \) but this is considered an overkill. I have never seen any serious textbook use this notation.

Let us focus on \( \ln x \) again. Is it not peculiar? What does \( \ln \) stand for really? Logarithm natural? Sounds very unnatural.

Well, as a kid I learnt that \( \ln \) here stands for the Latin
phrase "logarithmus naturalis". It is only recently that I bothered
to verify if this expansion of \( \ln x \) that I learnt as a kid is
really true. The most credible discussion of this that I could find
online is this thread on Mathematics Stack
Exchange: math.stackexchange.com/q/1694.
The answer by Dan Velleman points us to page 277 of an 1875
book *Lehrbuch der Mathematik* by Anton Steinhauser. Quoting
the relevant portion from the page:

Man pflegt nun, um Verwechslungen dieser beiden Systeme vorzubeugen, mit log.nat. a (gesprochen: logarithmus naturalis a) oder ln . a, oder am einfachsten mit la den natürlichen, mit log.brigg. a (gesprochen: Logarithmus briggus a) oder log.a, oder am einfachsten mit lg. a den gemeinen Logarithmus (von a) zu bezeichnen.

Roughly translated to English, it says:

In order to prevent confusion between these two systems, people now use log.nat. a (pronounced: logarithmus naturalis a) or ln . a, or easiest with la the natural ones, with log.brigg. a (pronounced: logarithm briggus a) or log.a, or most simply with lg. a to denote the common logarithm (of a).

So it does look like what I learnt as a kid is correct and the earliest possible reference of this the Internet is able to find for us is the 1875 book quoted above.

## Random String in Shell

Here is a quick way to generate a random alphanumeric string in the shell:

`LC_CTYPE=C tr -dc '[:alnum:]' < /dev/urandom | head -c 20; echo`

Here is an example output:

$LC_CTYPE=C tr -dc '[:alnum:]' < /dev/urandom | head -c 20; echoT1WK1ni9BcWAr0cR44VA

## Joke Sorting Algorithms

Sleepsort in shell:

$nums="5 1 3 6 2 4" sh -c 'for n in $nums; do sleep "$n" && echo "$n" & done; wait'1 2 3 4 5 6

Bogosort in Python:

$python3 -q>>>import random>>>nums = [5, 1, 3, 6, 2, 4]>>>while nums != sorted(nums): random.shuffle(nums)... >>>print(nums)[1, 2, 3, 4, 5, 6] >>>

## Search User Comment on Jira

I have been using Jira for a very long time now. I first came
across it while contributing to Apache projects in 2006. I find the
search features of Jira to be remarkably clumsy and inadequate.
Nevertheless, very recently I learnt to solve a common problem of
mine. Let us say, I know a user named `alice`

has
commented about a specific topic in some Jira ticket. How do I find
that ticket? Here is the search filter for it:

`issueFunction in commented("by alice") and comment ~ 'hello'`

The above example would search all comments by
user `alice`

that contains the
string `'hello'`

. However one limitation of this
solution is that the `issueFunction`

field is provided by
ScriptRunner for Jira to be available, so you need this app to be
available in your Jira for this solution to work.