github.com/chenchun/docker@v1.3.2-0.20150629222414-20467faf132b/pkg/namesgenerator/names-generator.go (about)

     1  package namesgenerator
     2  
     3  import (
     4  	"fmt"
     5  	"math/rand"
     6  
     7  	"github.com/docker/docker/pkg/random"
     8  )
     9  
    10  var (
    11  	left = [...]string{
    12  		"admiring",
    13  		"adoring",
    14  		"agitated",
    15  		"angry",
    16  		"backstabbing",
    17  		"berserk",
    18  		"boring",
    19  		"clever",
    20  		"cocky",
    21  		"compassionate",
    22  		"condescending",
    23  		"cranky",
    24  		"desperate",
    25  		"determined",
    26  		"distracted",
    27  		"dreamy",
    28  		"drunk",
    29  		"ecstatic",
    30  		"elated",
    31  		"elegant",
    32  		"evil",
    33  		"fervent",
    34  		"focused",
    35  		"furious",
    36  		"gloomy",
    37  		"goofy",
    38  		"grave",
    39  		"happy",
    40  		"high",
    41  		"hopeful",
    42  		"hungry",
    43  		"insane",
    44  		"jolly",
    45  		"jovial",
    46  		"kickass",
    47  		"lonely",
    48  		"loving",
    49  		"mad",
    50  		"modest",
    51  		"naughty",
    52  		"nostalgic",
    53  		"pensive",
    54  		"prickly",
    55  		"reverent",
    56  		"romantic",
    57  		"sad",
    58  		"serene",
    59  		"sharp",
    60  		"sick",
    61  		"silly",
    62  		"sleepy",
    63  		"stoic",
    64  		"stupefied",
    65  		"suspicious",
    66  		"tender",
    67  		"thirsty",
    68  		"trusting",
    69  	}
    70  
    71  	// Docker, starting from 0.7.x, generates names from notable scientists and hackers.
    72  	right = [...]string{
    73  		// Muhammad ibn Jābir al-Ḥarrānī al-Battānī was a founding father of astronomy. https://en.wikipedia.org/wiki/Mu%E1%B8%A5ammad_ibn_J%C4%81bir_al-%E1%B8%A4arr%C4%81n%C4%AB_al-Batt%C4%81n%C4%AB
    74  		"albattani",
    75  
    76  		// June Almeida - Scottish virologist who took the first pictures of the rubella virus - https://en.wikipedia.org/wiki/June_Almeida
    77  		"almeida",
    78  
    79  		// Archimedes was a physicist, engineer and mathematician who invented too many things to list them here. https://en.wikipedia.org/wiki/Archimedes
    80  		"archimedes",
    81  
    82  		// Maria Ardinghelli - Italian translator, mathematician and physicist - https://en.wikipedia.org/wiki/Maria_Ardinghelli
    83  		"ardinghelli",
    84  
    85  		// Charles Babbage invented the concept of a programmable computer. https://en.wikipedia.org/wiki/Charles_Babbage.
    86  		"babbage",
    87  
    88  		// Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach
    89  		"banach",
    90  
    91  		// William Shockley, Walter Houser Brattain and John Bardeen co-invented the transistor (thanks Brian Goff).
    92  		// - https://en.wikipedia.org/wiki/John_Bardeen
    93  		// - https://en.wikipedia.org/wiki/Walter_Houser_Brattain
    94  		// - https://en.wikipedia.org/wiki/William_Shockley
    95  		"bardeen",
    96  		"brattain",
    97  		"shockley",
    98  
    99  		// Jean Bartik, born Betty Jean Jennings, was one of the original programmers for the ENIAC computer. https://en.wikipedia.org/wiki/Jean_Bartik
   100  		"bartik",
   101  
   102  		// Alexander Graham Bell - an eminent Scottish-born scientist, inventor, engineer and innovator who is credited with inventing the first practical telephone - https://en.wikipedia.org/wiki/Alexander_Graham_Bell
   103  		"bell",
   104  
   105  		// Elizabeth Blackwell - American doctor and first American woman to receive a medical degree - https://en.wikipedia.org/wiki/Elizabeth_Blackwell
   106  		"blackwell",
   107  
   108  		// Niels Bohr is the father of quantum theory. https://en.wikipedia.org/wiki/Niels_Bohr.
   109  		"bohr",
   110  
   111  		// Satyendra Nath Bose - He provided the foundation for Bose–Einstein statistics and the theory of the Bose–Einstein condensate. - https://en.wikipedia.org/wiki/Satyendra_Nath_Bose
   112  		"bose",
   113  
   114  		// Emmett Brown invented time travel. https://en.wikipedia.org/wiki/Emmett_Brown (thanks Brian Goff)
   115  		"brown",
   116  
   117  		// Rachel Carson - American marine biologist and conservationist, her book Silent Spring and other writings are credited with advancing the global environmental movement. https://en.wikipedia.org/wiki/Rachel_Carson
   118  		"carson",
   119  
   120  		//Subrahmanyan Chandrasekhar - Astrophysicist known for his mathematical theory on different stages and evolution in structures of the stars. He has won nobel prize for physics - https://en.wikipedia.org/wiki/Subrahmanyan_Chandrasekhar
   121  		"chandrasekhar",
   122  
   123  		// Jane Colden - American botanist widely considered the first female American botanist - https://en.wikipedia.org/wiki/Jane_Colden
   124  		"colden",
   125  
   126  		// Gerty Theresa Cori - American biochemist who became the third woman—and first American woman—to win a Nobel Prize in science, and the first woman to be awarded the Nobel Prize in Physiology or Medicine. Cori was born in Prague. https://en.wikipedia.org/wiki/Gerty_Cori
   127  		"cori",
   128  
   129  		// Seymour Roger Cray was an American electrical engineer and supercomputer architect who designed a series of computers that were the fastest in the world for decades. https://en.wikipedia.org/wiki/Seymour_Cray
   130  		"cray",
   131  
   132  		// Marie Curie discovered radioactivity. https://en.wikipedia.org/wiki/Marie_Curie.
   133  		"curie",
   134  
   135  		// Charles Darwin established the principles of natural evolution. https://en.wikipedia.org/wiki/Charles_Darwin.
   136  		"darwin",
   137  
   138  		// Leonardo Da Vinci invented too many things to list here. https://en.wikipedia.org/wiki/Leonardo_da_Vinci.
   139  		"davinci",
   140  
   141  		// Albert Einstein invented the general theory of relativity. https://en.wikipedia.org/wiki/Albert_Einstein
   142  		"einstein",
   143  
   144  		// Gertrude Elion - American biochemist, pharmacologist and the 1988 recipient of the Nobel Prize in Medicine - https://en.wikipedia.org/wiki/Gertrude_Elion
   145  		"elion",
   146  
   147  		// Douglas Engelbart gave the mother of all demos: https://en.wikipedia.org/wiki/Douglas_Engelbart
   148  		"engelbart",
   149  
   150  		// Euclid invented geometry. https://en.wikipedia.org/wiki/Euclid
   151  		"euclid",
   152  
   153  		// Pierre de Fermat pioneered several aspects of modern mathematics. https://en.wikipedia.org/wiki/Pierre_de_Fermat
   154  		"fermat",
   155  
   156  		// Enrico Fermi invented the first nuclear reactor. https://en.wikipedia.org/wiki/Enrico_Fermi.
   157  		"fermi",
   158  
   159  		// Richard Feynman was a key contributor to quantum mechanics and particle physics. https://en.wikipedia.org/wiki/Richard_Feynman
   160  		"feynman",
   161  
   162  		// Benjamin Franklin is famous for his experiments in electricity and the invention of the lightning rod.
   163  		"franklin",
   164  
   165  		// Galileo was a founding father of modern astronomy, and faced politics and obscurantism to establish scientific truth.  https://en.wikipedia.org/wiki/Galileo_Galilei
   166  		"galileo",
   167  
   168  		// Adele Goldstine, born Adele Katz, wrote the complete technical description for the first electronic digital computer, ENIAC. https://en.wikipedia.org/wiki/Adele_Goldstine
   169  		"goldstine",
   170  
   171  		// Jane Goodall - British primatologist, ethologist, and anthropologist who is considered to be the world's foremost expert on chimpanzees - https://en.wikipedia.org/wiki/Jane_Goodall
   172  		"goodall",
   173  
   174  		// Stephen Hawking pioneered the field of cosmology by combining general relativity and quantum mechanics. https://en.wikipedia.org/wiki/Stephen_Hawking
   175  		"hawking",
   176  
   177  		// Werner Heisenberg was a founding father of quantum mechanics. https://en.wikipedia.org/wiki/Werner_Heisenberg
   178  		"heisenberg",
   179  
   180  		// Dorothy Hodgkin was a British biochemist, credited with the development of protein crystallography. She was awarded the Nobel Prize in Chemistry in 1964. https://en.wikipedia.org/wiki/Dorothy_Hodgkin
   181  		"hodgkin",
   182  
   183  		// Erna Schneider Hoover revolutionized modern communication by inventing a computerized telephon switching method. https://en.wikipedia.org/wiki/Erna_Schneider_Hoover
   184  		"hoover",
   185  
   186  		// Grace Hopper developed the first compiler for a computer programming language and  is credited with popularizing the term "debugging" for fixing computer glitches. https://en.wikipedia.org/wiki/Grace_Hopper
   187  		"hopper",
   188  
   189  		// Hypatia - Greek Alexandrine Neoplatonist philosopher in Egypt who was one of the earliest mothers of mathematics - https://en.wikipedia.org/wiki/Hypatia
   190  		"hypatia",
   191  
   192  		// Yeong-Sil Jang was a Korean scientist and astronomer during the Joseon Dynasty; he invented the first metal printing press and water gauge. https://en.wikipedia.org/wiki/Jang_Yeong-sil
   193  		"jang",
   194  
   195  		// Karen Spärck Jones came up with the concept of inverse document frequency, which is used in most search engines today. https://en.wikipedia.org/wiki/Karen_Sp%C3%A4rck_Jones
   196  		"jones",
   197  
   198  		// Jack Kilby and Robert Noyce have invented silicone integrated circuits and gave Silicon Valley its name.
   199  		// - https://en.wikipedia.org/wiki/Jack_Kilby
   200  		// - https://en.wikipedia.org/wiki/Robert_Noyce
   201  		"kilby",
   202  		"noyce",
   203  
   204  		// Har Gobind Khorana - Indian-American biochemist who shared the 1968 Nobel Prize for Physiology - https://en.wikipedia.org/wiki/Har_Gobind_Khorana
   205  		"khorana",
   206  
   207  		// Maria Kirch - German astronomer and first woman to discover a comet - https://en.wikipedia.org/wiki/Maria_Margarethe_Kirch
   208  		"kirch",
   209  
   210  		// Sophie Kowalevski - Russian mathematician responsible for important original contributions to analysis, differential equations and mechanics - https://en.wikipedia.org/wiki/Sofia_Kovalevskaya
   211  		"kowalevski",
   212  
   213  		// Marie-Jeanne de Lalande - French astronomer, mathematician and cataloguer of stars - https://en.wikipedia.org/wiki/Marie-Jeanne_de_Lalande
   214  		"lalande",
   215  
   216  		// Mary Leakey - British paleoanthropologist who discovered the first fossilized Proconsul skull - https://en.wikipedia.org/wiki/Mary_Leakey
   217  		"leakey",
   218  
   219  		// Ada Lovelace invented the first algorithm. https://en.wikipedia.org/wiki/Ada_Lovelace (thanks James Turnbull)
   220  		"lovelace",
   221  
   222  		// Auguste and Louis Lumière - the first filmmakers in history - https://en.wikipedia.org/wiki/Auguste_and_Louis_Lumi%C3%A8re
   223  		"lumiere",
   224  
   225  		// Maria Mayer - American theoretical physicist and Nobel laureate in Physics for proposing the nuclear shell model of the atomic nucleus - https://en.wikipedia.org/wiki/Maria_Mayer
   226  		"mayer",
   227  
   228  		// John McCarthy invented LISP: https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)
   229  		"mccarthy",
   230  
   231  		// Barbara McClintock - a distinguished American cytogeneticist, 1983 Nobel Laureate in Physiology or Medicine for discovering transposons. https://en.wikipedia.org/wiki/Barbara_McClintock
   232  		"mcclintock",
   233  
   234  		// Malcolm McLean invented the modern shipping container: https://en.wikipedia.org/wiki/Malcom_McLean
   235  		"mclean",
   236  
   237  		// Lise Meitner - Austrian/Swedish physicist who was involved in the discovery of nuclear fission. The element meitnerium is named after her - https://en.wikipedia.org/wiki/Lise_Meitner
   238  		"meitner",
   239  
   240  		// Johanna Mestorf - German prehistoric archaeologist and first female museum director in Germany - https://en.wikipedia.org/wiki/Johanna_Mestorf
   241  		"mestorf",
   242  
   243  		// Samuel Morse - contributed to the invention of a single-wire telegraph system based on European telegraphs and was a co-developer of the Morse code - https://en.wikipedia.org/wiki/Samuel_Morse
   244  		"morse",
   245  
   246  		// Isaac Newton invented classic mechanics and modern optics. https://en.wikipedia.org/wiki/Isaac_Newton
   247  		"newton",
   248  
   249  		// Alfred Nobel - a Swedish chemist, engineer, innovator, and armaments manufacturer (inventor of dynamite) - https://en.wikipedia.org/wiki/Alfred_Nobel
   250  		"nobel",
   251  
   252  		// Cecilia Payne-Gaposchkin was an astronomer and astrophysicist who, in 1925, proposed in her Ph.D. thesis an explanation for the composition of stars in terms of the relative abundances of hydrogen and helium. https://en.wikipedia.org/wiki/Cecilia_Payne-Gaposchkin
   253  		"payne",
   254  
   255  		// Ambroise Pare invented modern surgery. https://en.wikipedia.org/wiki/Ambroise_Par%C3%A9
   256  		"pare",
   257  
   258  		// Louis Pasteur discovered vaccination, fermentation and pasteurization. https://en.wikipedia.org/wiki/Louis_Pasteur.
   259  		"pasteur",
   260  
   261  		// Radia Perlman is a software designer and network engineer and most famous for her invention of the spanning-tree protocol (STP). https://en.wikipedia.org/wiki/Radia_Perlman
   262  		"perlman",
   263  
   264  		// Rob Pike was a key contributor to Unix, Plan 9, the X graphic system, utf-8, and the Go programming language. https://en.wikipedia.org/wiki/Rob_Pike
   265  		"pike",
   266  
   267  		// Henri Poincaré made fundamental contributions in several fields of mathematics. https://en.wikipedia.org/wiki/Henri_Poincar%C3%A9
   268  		"poincare",
   269  
   270  		// Laura Poitras is a director and producer whose work, made possible by open source crypto tools, advances the causes of truth and freedom of information by reporting disclosures by whistleblowers such as Edward Snowden. https://en.wikipedia.org/wiki/Laura_Poitras
   271  		"poitras",
   272  
   273  		// Claudius Ptolemy - a Greco-Egyptian writer of Alexandria, known as a mathematician, astronomer, geographer, astrologer, and poet of a single epigram in the Greek Anthology - https://en.wikipedia.org/wiki/Ptolemy
   274  		"ptolemy",
   275  
   276  		// C. V. Raman - Indian physicist who won the Nobel Prize in 1930 for proposing the Raman effect. - https://en.wikipedia.org/wiki/C._V._Raman
   277  		"raman",
   278  
   279  		// Srinivasa Ramanujan - Indian mathematician and autodidact who made extraordinary contributions to mathematical analysis, number theory, infinite series, and continued fractions. - https://en.wikipedia.org/wiki/Srinivasa_Ramanujan
   280  		"ramanujan",
   281  
   282  		// Dennis Ritchie and Ken Thompson created UNIX and the C programming language.
   283  		// - https://en.wikipedia.org/wiki/Dennis_Ritchie
   284  		// - https://en.wikipedia.org/wiki/Ken_Thompson
   285  		"ritchie",
   286  		"thompson",
   287  
   288  		// Rosalind Franklin - British biophysicist and X-ray crystallographer whose research was critical to the understanding of DNA - https://en.wikipedia.org/wiki/Rosalind_Franklin
   289  		"rosalind",
   290  
   291  		// Meghnad Saha - Indian astrophysicist best known for his development of the Saha equation, used to describe chemical and physical conditions in stars - https://en.wikipedia.org/wiki/Meghnad_Saha
   292  		"saha",
   293  
   294  		// Jean E. Sammet developed FORMAC, the first widely used computer language for symbolic manipulation of mathematical formulas. https://en.wikipedia.org/wiki/Jean_E._Sammet
   295  		"sammet",
   296  
   297  		// Françoise Barré-Sinoussi - French virologist and Nobel Prize Laureate in Physiology or Medicine; her work was fundamental in identifying HIV as the cause of AIDS. https://en.wikipedia.org/wiki/Fran%C3%A7oise_Barr%C3%A9-Sinoussi
   298  		"sinoussi",
   299  
   300  		// Richard Matthew Stallman - the founder of the Free Software movement, the GNU project, the Free Software Foundation, and the League for Programming Freedom. He also invented the concept of copyleft to protect the ideals of this movement, and enshrined this concept in the widely-used GPL (General Public License) for software. https://en.wikiquote.org/wiki/Richard_Stallman
   301  		"stallman",
   302  
   303  		// Aaron Swartz was influential in creating RSS, Markdown, Creative Commons, Reddit, and much of the internet as we know it today. He was devoted to freedom of information on the web. https://en.wikiquote.org/wiki/Aaron_Swartz
   304  		"swartz",
   305  
   306  		// Nikola Tesla invented the AC electric system and every gadget ever used by a James Bond villain. https://en.wikipedia.org/wiki/Nikola_Tesla
   307  		"tesla",
   308  
   309  		// Linus Torvalds invented Linux and Git. https://en.wikipedia.org/wiki/Linus_Torvalds
   310  		"torvalds",
   311  
   312  		// Alan Turing was a founding father of computer science. https://en.wikipedia.org/wiki/Alan_Turing.
   313  		"turing",
   314  
   315  		// Sophie Wilson designed the first Acorn Micro-Computer and the instruction set for ARM processors. https://en.wikipedia.org/wiki/Sophie_Wilson
   316  		"wilson",
   317  
   318  		// Steve Wozniak invented the Apple I and Apple II. https://en.wikipedia.org/wiki/Steve_Wozniak
   319  		"wozniak",
   320  
   321  		// The Wright brothers, Orville and Wilbur - credited with inventing and building the world's first successful airplane and making the first controlled, powered and sustained heavier-than-air human flight - https://en.wikipedia.org/wiki/Wright_brothers
   322  		"wright",
   323  
   324  		// Rosalyn Sussman Yalow - Rosalyn Sussman Yalow was an American medical physicist, and a co-winner of the 1977 Nobel Prize in Physiology or Medicine for development of the radioimmunoassay technique. https://en.wikipedia.org/wiki/Rosalyn_Sussman_Yalow
   325  		"yalow",
   326  
   327  		// Ada Yonath - an Israeli crystallographer, the first woman from the Middle East to win a Nobel prize in the sciences. https://en.wikipedia.org/wiki/Ada_Yonath
   328  		"yonath",
   329  	}
   330  
   331  	rnd = rand.New(random.NewSource())
   332  )
   333  
   334  func GetRandomName(retry int) string {
   335  begin:
   336  	name := fmt.Sprintf("%s_%s", left[rnd.Intn(len(left))], right[rnd.Intn(len(right))])
   337  	if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
   338  		goto begin
   339  	}
   340  
   341  	if retry > 0 {
   342  		name = fmt.Sprintf("%s%d", name, rnd.Intn(10))
   343  	}
   344  	return name
   345  }