#!/usr/bin/perl -w # /home/sites/www.in-vacua.com/web/cgi-bin/mendoza.pl -w use CGI qw(:all); use strict; ################################################################################## # # # 'mendoza.pl' (description: generates versions the High Entropy Essays # - date: early 1960's - by Professor Mendoza) # Copyright (C) 2020 Wayne Clements # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # See <http://www.gnu.org/licenses/>. # # The program is presented as it is on my website. # The html and links are as per in-vacua.com. You can change this as necessary. # # I'd appreciate a credit if you use any of the code. # # Wayne Clements, www.in-vacua.com. email: invacua_at__btinternet[Do T]com # ################################################################################ srand; my @keywords1; my @s10 = ("by permutation ", "by the uncertainty relation ", "periodically ", "normally ", "effectively ", "in crystals ", "therefore "); my @s20 = ("quantised particles ", "antisymetrical waves ", "functions electrons ", "metal fermions "); my @s30 = ("fill the bend ", "occupy all energies ", "form bloch waves ", "have a mean free path "); my @s40 = ("emerge from ", "depend on ", "form ", "define "); my @s50 = ("in the alkali metals <br>", "in insulators <br>", "in semiconductors <br>", "on bose-einstein statistics <br>", "up to a certain value <br>", "in a certain state <br>", "using mathius equation <br>", "with forbidden energies <br>"); my @s60 = ("the kronig penny model <br>", "the dirac delta function <br>", "the binding energy <br>", "extended zones <br>", "the crystal structure <br>", "structure factors f <br>", "atomic orbitals <br>"); my $s1 = $s10[int(rand(@s10))]; my $s2 = $s20[int(rand(@s20))]; my $s3 = $s30[int(rand(@s30))]; my $s4 = $s40[int(rand(@s40))]; my $s5 = $s50[int(rand(@s50))]; my $s6 = $s60[int(rand(@s60))]; my $range = 2; my $rand1 = int(rand($range)); if ($rand1 == 1) { push @keywords1, $s1, $s2, $s3, $s5 } else { push @keywords1, $s1, $s2, $s4, $s6 } ####################### 2 ######################## my @s10b = ("in periodic lattices ", "always ", "often ", "because of equipartition ", "however ", "on the contrary ", "by analogy "); my @s20b = ("quantised waves ", "atomic vibrations ", "normal modes ", "degrees of freedom "); my @s30b = ("are conserved ", "are transported ", "can be calculated ", "are transformed "); my @s40b = ("consist of ", "are equivalent to ", "can be considered as ", "transform into "); my @s50b = ("along lattice directions <br>", "with energy hv <br>", "with energy kt/2 <br>", "the planck oscillators <br>", "by perturbation theory <br>", "at zone boundaries <br>", "at the debye cutoff <br>", "at every lattice vector <br>"); my @s60b = ("normal co-coordinates <br>", "einstein spectra <br>", "brioullin zoens <br>", "standing waves <br>", "wave packets <br>", "work function <br>", "the reciprocal lattice <br>"); my $s1b = $s10b[int(rand(@s10b))]; my $s2b = $s20b[int(rand(@s20b))]; my $s3b = $s30b[int(rand(@s30b))]; my $s4b = $s40b[int(rand(@s40b))]; my $s5b = $s50b[int(rand(@s50b))]; my $s6b = $s60b[int(rand(@s60b))]; my $rangeb = 2; my $rand1b = int(rand($rangeb)); my @keywords1b; if ($rand1b == 1) { push @keywords1b, $s1b, $s2b, $s3b, $s5b } else { push @keywords1b, $s1b, $s2b, $s4b, $s6b } ####################### 3 ######################## my @s10c = ("usually ", "sometimes ", "in all cases ", "therefore ", "hence ", "however ", "in solids "); my @s20c = ("phonons ", "electrons ", "lattice waves ", "photons " ); my @s30c = ("are propagated ", "are reflected ", "travel ", "transport energy "); my @s40c = ("undergo ", "interact via ", "suffer ", "produce "); my @s50c = ("with loss of energy <br>", "conserving momentum <br>", "with the velocity of sound<br> ", "with velocity c <br>", "in all directions <br>", "isotropically <br>", "anisotropically <br>", "along the crystal axes <br>"); my @s60c = ("umklapp processes <br>", "reflections <br>", "standing waves <br>", "electron-phonon interactions <br>", "periodic potentials <br>", "purturbations <br>", "energy discontinuities <br>"); my $s1c = $s10c[int(rand(@s10c))]; my $s2c = $s20c[int(rand(@s20c))]; my $s3c = $s30c[int(rand(@s30c))]; my $s4c = $s40c[int(rand(@s40c))]; my $s5c = $s50c[int(rand(@s50c))]; my $s6c = $s60c[int(rand(@s60c))]; my $rangec = 2; my $rand1c = int(rand($rangec)); my @keywords1c; if ($rand1c == 1) { push @keywords1c, $s1c, $s2c, $s3c, $s5c } else { push @keywords1c, $s1c, $s2c, $s4c, $s6c } ####################### 4 ######################## my @s10d = ("originally ", "at first ", "in 1869 ", "before 1901 ", "in the 19th century ", "before planck ", "a long time ago "); my @s20d = ("rayleigh and jeans ", "lorentz ", "maxwell ", "j.j. thomson "); my @s30d =("explained solids ", "found electrons baffling ", "proceeded wrongly ", "made poor assumptions "); my @s40d = ("incorrectly interpreted ", "failed to explain ", "could not understand ", "tried to deal with "); my @s50d = ("on pre-quantum physics <br>", "using classical arguments <br>", "on holzman statistics <br>", "with distinguishable particles <br>", "mathematically <br>", "theoretically <br>", "with lagrangians, etc <br>", "phenomenologically <br>"); my @s60d = ("solids, liquids and gasses <br>", "electrical conduction <br>", "the equipartition of energy <br>", "the failure of equopartition <br>", "thermal conduction <br>", "the rydberg constant <br>", "the blamer serixies <br>"); my $s1d = $s10d[int(rand(@s10d))]; my $s2d = $s20d[int(rand(@s20d))]; my $s3d = $s30d[int(rand(@s30d))]; my $s4d = $s40d[int(rand(@s40d))]; my $s5d = $s50d[int(rand(@s50d))]; my $s6d = $s60d[int(rand(@s60d))]; my $ranged = 2; my $rand1d = int(rand($ranged)); my @keywords1d; if ($rand1d == 1) { push @keywords1d, $s1d, $s2d, $s3d, $s5d } else { push @keywords1d, $s1d, $s2d, $s4d, $s6d } ####################### 5 ######################## my @s10e = ("in 1905 ", "in 1895 ", "before the war ", "in 1928 ", "in the 20th century ", "recently ", "in germany "); my @s20e = ("born and von karman ", "debye ", "einstein ", "brioullin "); my @s30e = ("proceeded ", "tackled the problem ", "considered solids ", "found a solution "); my @s40e = ("calculated ", "predicted ", "suggested ", "worked out "); my @s50e = ("on the following basis <br>", "with this in mind <br>", "in terms of standing waves <br>", "using shrodinger's equation <br>", "by quantization <br>", "classically <br>", "relativistically <br>", "anharmonically <br>"); my @s60e = ("the einstein frequency <br>", "the debye spectrum <br>", "the energy gaps <br>", "the theory of conduction <br>", "the free electron theory <br>", "the lattice modes <br>", "band theory <br>"); my $s1e = $s10e[int(rand(@s10e))]; my $s2e = $s20e[int(rand(@s20e))]; my $s3e = $s30e[int(rand(@s30e))]; my $s4e = $s40e[int(rand(@s40e))]; my $s5e = $s50e[int(rand(@s50e))]; my $s6e = $s60e[int(rand(@s60e))]; my $rangee = 2; my $rand1e = int(rand($rangee)); my @keywords1e; if ($rand1e == 1) { push @keywords1e, $s1e, $s2e, $s3e, $s5e } else { push @keywords1e, $s1e, $s2e, $s4e, $s6e } print "Content-type: text/html\n\n"; print "<html><head><title>High Entropy Essays</title> </head> <body link=87CEFF VLINK=BCEE68 bgcolor=\"#000000\" text=\"#cccc00\"> <div align=\"center\"> <font face=Arial size=6 text color =\"#00cd00\">With Forbidden Energies <font face=Arial size=4> <br><br>A version of the High Entropy Essays, by Professor Mendoza<p> <br><div align=\"left\"><b> <font face=Arial size=5 text color =\"#cccc00\"><br><br>"; print @keywords1; print @keywords1b; print @keywords1c; print @keywords1d; print @keywords1e; print "</b> <br><br><p><div align=\"left\"> <form><input type=\"submit\" value=\"More Entropy\" action onSubmit=\"http://www.in-vacua.com/cgi-bin/mendoza.pl\"> </form> <p><br> <font face=Arial size=3 text color =\"#808080\"> High-Entropy Essays were part of Cybernetic Serendipity at the ICA, London, 1968 along with <br> <a href=\"http://www.in-vacua.com/cgi-bin/haiku.pl\">COMPUTERIZED HAIKU</a> . They are frankly bogus physics essays. For the versions Mendoza published<br> in the Catalogue of Cybernetic Serendipity, ouputs from several runs of the program seem to have been<br>appended to make longer texts.<br><br> Hardly anyone remembers High-Entropy Essays now. This is a sad thing. They are the<br> forerunner of all the computer texts that have tried to pass as human-authored.<br> However, Mendoza's subterfuge was quickly discovered. This happened about 1962.<br><br> Professor Mendoza tells the story:<br><br> \"You might also be interested to know the origin of<br> this work. Professor Flowers (no less) had a theory<br> that students never actually learned any real ideas;<br> all they learned was a vocabulary of okay words <br> which they strung together in arbitrary order, <br> relying on the fact that an examiner pressed for time <br> would not actually read what they had written but would<br> scan down the pages looking for those words...The end <br> point was when a colleague from another university secretly<br> sent me some first year examination papers a week or so <br> before the exam, and I wrote suitable vocabularies (without <br> cheating)and copied down what the computer emitted... <br> the script was slipped in among the genuine ones. <br> Unfortunately it was marked by a very conscientious man<br> who eventually stormed into the Director's office shouting<br> \"Who the hell is this man, why did we ever admit him?\"<br> So perhaps Professor Flowers' hypothesis was incorrect.\" <br><br> The original program is lost. Mendoza published some of <br> the High-Entropy Essays. He also published a flow chart of the program.<br> This is what I used when I came to program my version.<br> My first version was made in 2003. But I have now reprogrammed (2020) it<br> in a way that is more faithful to the original. The code is <a href='/mendoza_code.txt'>here</a>. <br><br> Wayne Clements. Feb 2020<br> <br><br> <Font size=2><A href=\"http://www.in-vacua.com/list.html\">HOME</Font></A> <br> <br></body> </HTML> ";