2021-04-05 23:20:35 +00:00
|
|
|
# Alphabetter - procedurally improving the alphabet
|
|
|
|
|
|
|
|
Inspired by @rfglenn's [tweet](https://twitter.com/rfglenn/status/1378555751870820354?s=21) about alphabetizing the alphabet,
|
|
|
|
Alphabetter is a shitpost that "improves" the alphabet by sorting the letters lexicographically by their canonical
|
|
|
|
(American English) spellings.
|
|
|
|
|
|
|
|
But it doesn't stop there. It then sorts the "new" alphabet by *its own* order, and then sorts THAT alphabet, iteratively, with
|
|
|
|
the goal of finding a "steady state", that is, an alphabet that is already alphabetized. (according to its own order)
|
|
|
|
|
|
|
|
This happens after only 3 iterations, yielding the "better" alphabet:
|
|
|
|
|
|
|
|
```
|
|
|
|
rahbdwyuieflmnsxcqgjkoptvz
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
If for some reason you want to run this code, just do
|
|
|
|
|
|
|
|
```
|
|
|
|
go build alphabetter.go
|
|
|
|
```
|
|
|
|
|
|
|
|
with nearly any version of golang installed. Then execute it with
|
|
|
|
|
|
|
|
```
|
|
|
|
./alphabetter
|
|
|
|
```
|
2021-04-06 03:02:18 +00:00
|
|
|
|
2021-04-06 03:11:33 +00:00
|
|
|
To loop forever, run with `--infinite`. While in infinite mode, only the starting alphabet and final alphabet are printed.
|
2021-04-06 03:02:18 +00:00
|
|
|
|
2021-04-06 03:11:33 +00:00
|
|
|
To start with a random alphabet (on each iteration), run with `--random`.
|