Grothendieck Prime, Logarithm Notation, Etc.
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; echo T1WK1ni9BcWAr0cR44VA
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.