github.com/slene/docker@v1.8.0-rc1/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  		// Aryabhata - Ancient Indian mathematician-astronomer during 476-550 CE https://en.wikipedia.org/wiki/Aryabhata
    86  		"aryabhata",
    87  
    88  		// Charles Babbage invented the concept of a programmable computer. https://en.wikipedia.org/wiki/Charles_Babbage.
    89  		"babbage",
    90  
    91  		// Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach
    92  		"banach",
    93  
    94  		// William Shockley, Walter Houser Brattain and John Bardeen co-invented the transistor (thanks Brian Goff).
    95  		// - https://en.wikipedia.org/wiki/John_Bardeen
    96  		// - https://en.wikipedia.org/wiki/Walter_Houser_Brattain
    97  		// - https://en.wikipedia.org/wiki/William_Shockley
    98  		"bardeen",
    99  		"brattain",
   100  		"shockley",
   101  
   102  		// Jean Bartik, born Betty Jean Jennings, was one of the original programmers for the ENIAC computer. https://en.wikipedia.org/wiki/Jean_Bartik
   103  		"bartik",
   104  
   105  		// 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
   106  		"bell",
   107  
   108  		// Homi J Bhabha - was an Indian nuclear physicist, founding director, and professor of physics at the Tata Institute of Fundamental Research. Colloquially known as "father of Indian nuclear programme"- https://en.wikipedia.org/wiki/Homi_J._Bhabha
   109  		"bhabha",
   110  
   111  		// Bhaskara II - Ancient Indian mathematician-astronomer whose work on calculus predates Newton and Leibniz by over half a millenium - https://en.wikipedia.org/wiki/Bh%C4%81skara_II#Calculus
   112  		"bhaskara",
   113  
   114  		// Elizabeth Blackwell - American doctor and first American woman to receive a medical degree - https://en.wikipedia.org/wiki/Elizabeth_Blackwell
   115  		"blackwell",
   116  
   117  		// Niels Bohr is the father of quantum theory. https://en.wikipedia.org/wiki/Niels_Bohr.
   118  		"bohr",
   119  
   120  		// 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
   121  		"bose",
   122  
   123  		// Brahmagupta - Ancient Indian mathematician during 598-670 CE who gave rules to compute with zero - https://en.wikipedia.org/wiki/Brahmagupta#Zero
   124  		"brahmagupta",
   125  
   126  		// Emmett Brown invented time travel. https://en.wikipedia.org/wiki/Emmett_Brown (thanks Brian Goff)
   127  		"brown",
   128  
   129  		// 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
   130  		"carson",
   131  
   132  		//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
   133  		"chandrasekhar",
   134  
   135  		// Jane Colden - American botanist widely considered the first female American botanist - https://en.wikipedia.org/wiki/Jane_Colden
   136  		"colden",
   137  
   138  		// 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
   139  		"cori",
   140  
   141  		// 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
   142  		"cray",
   143  
   144  		// Marie Curie discovered radioactivity. https://en.wikipedia.org/wiki/Marie_Curie.
   145  		"curie",
   146  
   147  		// Charles Darwin established the principles of natural evolution. https://en.wikipedia.org/wiki/Charles_Darwin.
   148  		"darwin",
   149  
   150  		// Leonardo Da Vinci invented too many things to list here. https://en.wikipedia.org/wiki/Leonardo_da_Vinci.
   151  		"davinci",
   152  
   153  		// Albert Einstein invented the general theory of relativity. https://en.wikipedia.org/wiki/Albert_Einstein
   154  		"einstein",
   155  
   156  		// Gertrude Elion - American biochemist, pharmacologist and the 1988 recipient of the Nobel Prize in Medicine - https://en.wikipedia.org/wiki/Gertrude_Elion
   157  		"elion",
   158  
   159  		// Douglas Engelbart gave the mother of all demos: https://en.wikipedia.org/wiki/Douglas_Engelbart
   160  		"engelbart",
   161  
   162  		// Euclid invented geometry. https://en.wikipedia.org/wiki/Euclid
   163  		"euclid",
   164  
   165  		// Pierre de Fermat pioneered several aspects of modern mathematics. https://en.wikipedia.org/wiki/Pierre_de_Fermat
   166  		"fermat",
   167  
   168  		// Enrico Fermi invented the first nuclear reactor. https://en.wikipedia.org/wiki/Enrico_Fermi.
   169  		"fermi",
   170  
   171  		// Richard Feynman was a key contributor to quantum mechanics and particle physics. https://en.wikipedia.org/wiki/Richard_Feynman
   172  		"feynman",
   173  
   174  		// Benjamin Franklin is famous for his experiments in electricity and the invention of the lightning rod.
   175  		"franklin",
   176  
   177  		// Galileo was a founding father of modern astronomy, and faced politics and obscurantism to establish scientific truth.  https://en.wikipedia.org/wiki/Galileo_Galilei
   178  		"galileo",
   179  
   180  		// Adele Goldstine, born Adele Katz, wrote the complete technical description for the first electronic digital computer, ENIAC. https://en.wikipedia.org/wiki/Adele_Goldstine
   181  		"goldstine",
   182  
   183  		// 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
   184  		"goodall",
   185  
   186  		// Stephen Hawking pioneered the field of cosmology by combining general relativity and quantum mechanics. https://en.wikipedia.org/wiki/Stephen_Hawking
   187  		"hawking",
   188  
   189  		// Werner Heisenberg was a founding father of quantum mechanics. https://en.wikipedia.org/wiki/Werner_Heisenberg
   190  		"heisenberg",
   191  
   192  		// 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
   193  		"hodgkin",
   194  
   195  		// Erna Schneider Hoover revolutionized modern communication by inventing a computerized telephon switching method. https://en.wikipedia.org/wiki/Erna_Schneider_Hoover
   196  		"hoover",
   197  
   198  		// 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
   199  		"hopper",
   200  
   201  		// Hypatia - Greek Alexandrine Neoplatonist philosopher in Egypt who was one of the earliest mothers of mathematics - https://en.wikipedia.org/wiki/Hypatia
   202  		"hypatia",
   203  
   204  		// 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
   205  		"jang",
   206  
   207  		// 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
   208  		"jones",
   209  
   210  		// Jack Kilby and Robert Noyce have invented silicone integrated circuits and gave Silicon Valley its name.
   211  		// - https://en.wikipedia.org/wiki/Jack_Kilby
   212  		// - https://en.wikipedia.org/wiki/Robert_Noyce
   213  		"kilby",
   214  		"noyce",
   215  
   216  		// A. P. J. Abdul Kalam - is an Indian scientist aka Missile Man of India for his work on the development of ballistic missile and launch vehicle technology - https://en.wikipedia.org/wiki/A._P._J._Abdul_Kalam
   217  		"kalam",
   218  
   219  		// Har Gobind Khorana - Indian-American biochemist who shared the 1968 Nobel Prize for Physiology - https://en.wikipedia.org/wiki/Har_Gobind_Khorana
   220  		"khorana",
   221  
   222  		// Maria Kirch - German astronomer and first woman to discover a comet - https://en.wikipedia.org/wiki/Maria_Margarethe_Kirch
   223  		"kirch",
   224  
   225  		// Sophie Kowalevski - Russian mathematician responsible for important original contributions to analysis, differential equations and mechanics - https://en.wikipedia.org/wiki/Sofia_Kovalevskaya
   226  		"kowalevski",
   227  
   228  		// Marie-Jeanne de Lalande - French astronomer, mathematician and cataloguer of stars - https://en.wikipedia.org/wiki/Marie-Jeanne_de_Lalande
   229  		"lalande",
   230  
   231  		// Mary Leakey - British paleoanthropologist who discovered the first fossilized Proconsul skull - https://en.wikipedia.org/wiki/Mary_Leakey
   232  		"leakey",
   233  
   234  		// Ada Lovelace invented the first algorithm. https://en.wikipedia.org/wiki/Ada_Lovelace (thanks James Turnbull)
   235  		"lovelace",
   236  
   237  		// Auguste and Louis Lumière - the first filmmakers in history - https://en.wikipedia.org/wiki/Auguste_and_Louis_Lumi%C3%A8re
   238  		"lumiere",
   239  
   240  		// Mahavira - Ancient Indian mathematician during 9th century AD who discovered basic algebraic identities - https://en.wikipedia.org/wiki/Mah%C4%81v%C4%ABra_(mathematician)
   241  		"mahavira",
   242  
   243  		// 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
   244  		"mayer",
   245  
   246  		// John McCarthy invented LISP: https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)
   247  		"mccarthy",
   248  
   249  		// Barbara McClintock - a distinguished American cytogeneticist, 1983 Nobel Laureate in Physiology or Medicine for discovering transposons. https://en.wikipedia.org/wiki/Barbara_McClintock
   250  		"mcclintock",
   251  
   252  		// Malcolm McLean invented the modern shipping container: https://en.wikipedia.org/wiki/Malcom_McLean
   253  		"mclean",
   254  
   255  		// 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
   256  		"meitner",
   257  
   258  		// Johanna Mestorf - German prehistoric archaeologist and first female museum director in Germany - https://en.wikipedia.org/wiki/Johanna_Mestorf
   259  		"mestorf",
   260  
   261  		// 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
   262  		"morse",
   263  
   264  		// Isaac Newton invented classic mechanics and modern optics. https://en.wikipedia.org/wiki/Isaac_Newton
   265  		"newton",
   266  
   267  		// Alfred Nobel - a Swedish chemist, engineer, innovator, and armaments manufacturer (inventor of dynamite) - https://en.wikipedia.org/wiki/Alfred_Nobel
   268  		"nobel",
   269  
   270  		// Panini - Ancient Indian linguist and grammarian from 4th century CE who worked on the world's first formal system - https://en.wikipedia.org/wiki/P%C4%81%E1%B9%87ini#Comparison_with_modern_formal_systems
   271  		"panini",
   272  
   273  		// 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
   274  		"payne",
   275  
   276  		// Ambroise Pare invented modern surgery. https://en.wikipedia.org/wiki/Ambroise_Par%C3%A9
   277  		"pare",
   278  
   279  		// Louis Pasteur discovered vaccination, fermentation and pasteurization. https://en.wikipedia.org/wiki/Louis_Pasteur.
   280  		"pasteur",
   281  
   282  		// 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
   283  		"perlman",
   284  
   285  		// 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
   286  		"pike",
   287  
   288  		// Henri Poincaré made fundamental contributions in several fields of mathematics. https://en.wikipedia.org/wiki/Henri_Poincar%C3%A9
   289  		"poincare",
   290  
   291  		// 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
   292  		"poitras",
   293  
   294  		// 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
   295  		"ptolemy",
   296  
   297  		// 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
   298  		"raman",
   299  
   300  		// 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
   301  		"ramanujan",
   302  
   303  		// Dennis Ritchie and Ken Thompson created UNIX and the C programming language.
   304  		// - https://en.wikipedia.org/wiki/Dennis_Ritchie
   305  		// - https://en.wikipedia.org/wiki/Ken_Thompson
   306  		"ritchie",
   307  		"thompson",
   308  
   309  		// Rosalind Franklin - British biophysicist and X-ray crystallographer whose research was critical to the understanding of DNA - https://en.wikipedia.org/wiki/Rosalind_Franklin
   310  		"rosalind",
   311  
   312  		// 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
   313  		"saha",
   314  
   315  		// 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
   316  		"sammet",
   317  
   318  		// 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
   319  		"sinoussi",
   320  
   321  		// 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
   322  		"stallman",
   323  
   324  		// 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
   325  		"swartz",
   326  
   327  		// Nikola Tesla invented the AC electric system and every gadget ever used by a James Bond villain. https://en.wikipedia.org/wiki/Nikola_Tesla
   328  		"tesla",
   329  
   330  		// Linus Torvalds invented Linux and Git. https://en.wikipedia.org/wiki/Linus_Torvalds
   331  		"torvalds",
   332  
   333  		// Alan Turing was a founding father of computer science. https://en.wikipedia.org/wiki/Alan_Turing.
   334  		"turing",
   335  
   336  		// Varahamihira - Ancient Indian mathematician who discovered trigonometric formulae during 505-587 CE - https://en.wikipedia.org/wiki/Var%C4%81hamihira#Contributions
   337  		"varahamihira",
   338  
   339  		// Sir Mokshagundam Visvesvaraya - is a notable Indian engineer.  He is a recipient of the Indian Republic's highest honour, the Bharat Ratna, in 1955. On his birthday, 15 September is celebrated as Engineer's Day in India in his memory - https://en.wikipedia.org/wiki/Visvesvaraya
   340  		"visvesvaraya",
   341  
   342  		// Sophie Wilson designed the first Acorn Micro-Computer and the instruction set for ARM processors. https://en.wikipedia.org/wiki/Sophie_Wilson
   343  		"wilson",
   344  
   345  		// Steve Wozniak invented the Apple I and Apple II. https://en.wikipedia.org/wiki/Steve_Wozniak
   346  		"wozniak",
   347  
   348  		// 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
   349  		"wright",
   350  
   351  		// 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
   352  		"yalow",
   353  
   354  		// 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
   355  		"yonath",
   356  	}
   357  
   358  	rnd = rand.New(random.NewSource())
   359  )
   360  
   361  // GetRandomName generates a random name from the list of adjectives and surnames in this package
   362  // formatted as "adjective_surname". For example 'focused_turing'. If retry is non-zero, a random
   363  // integer between 0 and 10 will be added to the end of the name, e.g `focused_turing3`
   364  func GetRandomName(retry int) string {
   365  begin:
   366  	name := fmt.Sprintf("%s_%s", left[rnd.Intn(len(left))], right[rnd.Intn(len(right))])
   367  	if name == "boring_wozniak" /* Steve Wozniak is not boring */ {
   368  		goto begin
   369  	}
   370  
   371  	if retry > 0 {
   372  		name = fmt.Sprintf("%s%d", name, rnd.Intn(10))
   373  	}
   374  	return name
   375  }