Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Object oriented programmers of all nations -- encapsulate

Softpanorama 1994, vol. 6, No. 6

 Софтпанорама 1994, Vol. 6. No.6 *** HUMOR ***  Составители Н.Н.БЕЗРУКОВ
                                                               И.СУВОРОВ
 ===========================================================================

* Forwarded by Boris Paleev (2:5020/113)
* Area : SU.HUMOR (SU.HUMOR)
* From : Tony Leontyev, 2:5020/231.19 (Wednesday May 11 1994 22:07)
* To   : All
* Subj : из запасов...
=============================================================================
Hi, All, брат/сестра/другое по разуму/мышлению/другое!
*****************************************************************************

public:

constructor Init;

Объектно-ориентированные программисты всех стран - инкапсулируйтесь!

virtual void run();


                                     Фэнам объектно-ориентированного
                                     программирования, посвящается.


               Словарь объектно-ориентированного
                        программирования. {// Базовый объект. //}

// v 1.0
// Словарь содержит абстрактный набор терминов, необходимых
// для порождения новых версий словаря.

// Поля:
// 1. Программистам об ООП.
// 2. Фэнам о программировании. ( разъяснение устаревших понятий. )
// 3. Руководство по использованию ООП.
// 4. Выводы и дестракторы.

ООП - глубоко ошибается тот, кто считает, что это -
объектно-ориентированное программирование. а самом
деле, это ОБЪЕКТО-ОЗАБОЧЕЫЙ ПРОГРАММИСТ. В жизни
определяется по проскакивающим в речи виртуальным
дестракторам, уму, отсутствию сообразительности, а
также попыткам породить все и вся от одного
абстрактного объекта.

ОШИБКА - в ООП - вещь настолько тривиальная, что она
не заслуживает дальнейших разъяснений (нормальное
состояние объектного проекта).

ОС - программа, до которой ООП еще толком не добрались.

ОБЪЕКТ - 1. Беспредел развития любого программного продукта.
2. Образ мышления ООП.

АБСТРАКЦИЯ - в общем-то, неплохая штука, но никто не
знает, что это такое. Как правило, это становится ясно
на заключительных испытаниях программы.

КОСТРАКТОР - некий метод, разрешающий вызывать
виртуальные дестракторы. Не бывает виртуальным.

ДЕСТРАКТОР - метод, после которого ничего уже
вызывать нельзя.

ВИРТУАЛЬЫЙ МЕТОД - свободно замещаемый метод ( никогда
неизвестно, чем он окажется, что он делает и делает ли вообще ).

РЕКУРСИЯ - то же, что и перегрузка стека.

СБОЙ, КРАХ, РАЗРУШЕИЕ - несвоевременный вызов дестрактора ( см. ОШИБКА. ).

АССЕМБЛЕР - таблицы, таблицы, таблицы... От него можно
унаследовать компилятор, если получится.

ИЕРАРХИЯ - 1. Дерево, в корне которого сущая абстракция.
2. Квадратура круга.

ОБЪЕКТ-ПРЕДОК - объект, стоящий выше кого-либо по иерархии.

АСЛЕДОВАИЕ - искажение свойств объекта-предка.

ПОРОЖДЕНИЕ - см. НАСЛЕДОВАИЕ ( Абстрактный метод. )

ТРИ - волшебное число. Число операторов во всякой
объектно-ориентированной программе стремится именно
к нему.

СИ++, ПАСКАЛЬ 6.0 и выше - примерно тоже самое, что молоток
и плоскогубцы.

"ГОЛОВАЯ БОЛЬ" - процесс разработки иерархии.

КОНЦЕПЦПИЯ - см. АБСТРАКЦИЯ.

МЕТОД - дитя-переросток процедур и функций
неандертальской фазы развития программирования.

ПОЛЕ - неотъемлемая ненужная составная часть объекта.

СТРУКТУРНОЕ ПРОГРАММИРОВАИЕ - недоразвитый предок
объектно-ориентированного программирования.

БЕЙСИК - тоже становится объектно-ориентированным языком.

ФОРТРАН - никогда им не станет. ( Хотя, кто знает... )

ПРОГРАММА - см. ОБЪЕКТ.

СООБЩЕНИЕ - 1.Объект, который объекты посылают друг другу.
2. Объект, посредством которого объекты обмениваются
между собой другими объектами.

ИКАПСУЛЯЦИЯ - объединение программ, данных и
детской неожиданности.

СОБЫТИЕ - см. СООБЩЕНИЕ.

ПОЛИМОРФИЗМ - концепция, руководствуясь которой вы никогда
не сможете точно сказать, что делает отдельно взятый объект.

ДРАЙВЕР - невидимая часть программы, генерирующая события.

ПАМЯТЬ - абстрактный машинный ресурс, стремящийся к нулю.

АБСТРАКТНЫЙ МЕТОД - заголовок, начало и конец. Настоящие
абстрактные методы не опускаются до текста внутри себя.

НАСТОЯЩИЙ ПРОГРАММИСТ - ООП (см.), создающий только абстрактные
объекты.

АБСТРАКТНЫЙ ОБЪЕКТ - 1. Объект, не имеющий полей и методов.
2. Основа всякого объектно-ориентированного проекта. 3. Вершина
любой иерархии. 4. В крайнем случае, содержащий только абстрактные
методы. 5. Продукт деятельности настоящего объектно-ориентированного
программиста.

БЫСТРОДЕЙСТВИЕ - критерий предела абстракции в ООП.

КОЛЛЕКЦИЯ - абстрактный набор абстракций.

СОБЫТИЕ - объект, возникающий в результате чего-либо.

ЗАПИСЬ - объект без методов.

ПРОЦЕДУРА, ФУНКЦИЯ - метод без объекта.

ПЕРЕМЕННАЯ - см. ОБЪЕКТ.

БЛОК-СХЕМА (ГРАФ УПРАВЛЕНИЯ) - абсолютно никчемная вещь.

5000 СТРОК - нижний предел объема кода в объектно-ориентированной
программе.

ХАКЕР - см. ООХ.

ООХ - объектно-ориентированный хакер. В отличие от ООП (см.)
в его речи не проскакивают виртуальные дестракторы поскольку
он уже распределен в статической памяти.

ПИВО - абстракция.

VMT - таблица виртуальных методов.

МОЖЕСТВЕННОЕ НАСЛЕДОВАИЕ - групповое искажение свойств
нескольких объектов.

СТИЛЬ - недостатки, присущие только одному программисту.

ЧЕЛОВЕК НИОТКУДА - автор документации на объектно-ориентированную
систему.
// Кто же еще может вразумительным языком описать все это...

destructor Done;virtual;

Выводы и рекомендации.

1. Идеальная объектно-ориентированная программа абстрактна.
2. Всякий абстрактный метод ничего не делает.
3. Всякая идеальная объектно-ориентированная программа ничего
   не делает.
4а.Лучшая объекто-ориентированная программа на ПАСКАЛЕ :
   begin
   end.
4б.Лучшая объектно-ориентированная программа на СИ++ :
   main(){}
5. We all live in a yellow submarine.


Руководство по использованию объектно-ориентированного подхода.

Откажитесь от безнадежно устаревших взглядов на управляющие структуры
и операторы. Объекты обмениваются только сообщениями, состоящими из
объектов, обменивающихся сообщениями. ( Если, прочитав это, вы исторгли
крик - можете радоваться, поскольку инстинкт самосохранения у вас
еще на месте. е закричали? Еще лучше! Значит, вы уже получили первое
крещение и становитесь ООП.( или ООХ ) )

Абстрагируйте, абстрагируйте, абстрагируйте. Когда вы почувствуете,
что на следующем шаге у получится пустота, знайте, что вы приблизились
к вершине иерархии вашего проекта.

Для получения хорошей абстракции ни в коем случае не влезайте в труды
по программированию, лучше пропустите рюмашку, походите на голове,
пообщайтесь с соратниками, в крайнем случае - погрузитесь в медитацию.
Способствует получению хорошей абстракции также присутствие программисток
и отдых в горах. Постарайтесь не думать, мысли - источник
труднообнаруживаемых и трудноудалимых ошибок.

Полученную абстракцию можно кодировать.

Не думайте об объеме памяти. Память - приходяща, а неглубокая иерархия
доставит немало хлопот и ощущение неудовлетворенности. Помните,
что до получения первого десятка уровней абстракции вы не сможете
написать ничего конкретного.

Никогда не оглядывайтесь на быстродействие машины. Вы просто не
представляете, насколько это здорово, когда для передачи сообщения о
нажатии на клавишу драйвер опрашивает все объекты, собирает мусор,
выносит его на улицу, верифицирует дисковод, а затем посылает
сообщение о начинающейся генерации события клавиатуры.
В общем-то, он должен проверить еще и получение события.

Не используйте готовые библиотеки объектов, ибо нет ничего прекраснее
воплощения в код собственного видения мира ( или его отсутствия ).

Не обращайте внимания на объем кода и число промежуточных файлов.
Программа, обладающая достаточным чувством собственного достоинства
никогда не состоит из одного файла и не начинает работать через пять
секунд после запуска. Помните, что настоящая объектно-ориентированная программа
содержит, как правило, хотя бы два рабочих модуля ( из них один - оверлейный ),
и не менее полусотни вспомогательных файлов, из которых пятнадцать
никогда не используются, двадцать нужны только при аварийном завершении
работы, в десяти содержится свопинг другой программы, а одного всегда
не хватает. Вся эта радость занимает хотя бы 40 мегабайт,
а при инсталляции дает угрожающее здоровью нормального программиста
сообщение :"Освободите 60 мегабайт на устройстве A:" и презрительно
отказывается разворачиваться, если условие не выполнено.

Сделайте в документации пометку красным цветом :"ООП!". Это отпугнет
неискушенных пользователей и настроит всех остальных на верный лад.

Запуск должен быть торжественным. Промаринуйте пользователя минут пять
( за это время поищите недостающие файлы на диске, не беда, если на одном
и том же месте - лишь бы завораживающе свистел винчестер и таинственно
чернел экран ), а если он случайно нажмет на кнопку или откроет дисковод,
можете спокойно аварийно завершать программу - в следующий раз будет
осторожнее, поскольку каждый пользователь должен знать, что нельзя беспокоить
объектно-ориентированную систему во время инициализации бестолковыми
сообщениями с клавиатуры.

{*** Комментарий для особливо дюбознательных ****
Во время начальной загрузки происходит ни с чем не
сравнимое таинство "инициализации" и "разворачивания объектов", на практике
означающее изменение значения нескольких десятков указателей; перегонки из
памяти в память объема, превышающего доступную память раз в сто
( для этого и нужны шины с повышенной пропускной способностью );
троекратного свопинга; перезагрузки ( нередко ). ***}


И ничего не бойтесь.

                          Заметив, что...

...счетчик строк компиляции соскальзывает на шестизначные
числа, - расслабтесь и получите удовольствие от красоты дисплея.

...нажатие на клавишу обрабатывается две минуты, - не огорчайтесь,
все-таки оно обрабатывается. Мир полон несовершенств, ваша машина -
не исключение.

...программа работает, как вам кажется, неправильно, - почитайте книгу
по юриспруденции. В конце концов - это только вам так кажется.

...работа подошла к концу :

   а) прогоните ее;

   б) задайте себе вопрос, а зачем это все нужно ?;

   в) не получив ответа, можете сдавать продукт.

*******************************************************************************

From: [email protected] (John Townsend)
Newsgroups: alt.folklore.computers,comp.sys.apple2
Subject: Re: Request for parody of Wm Shakesp. Sonnet 130 ("My Apples screen is smaller..."
Date: 17 May 1994 13:15:34 GMT
Organization: Mead Data Central, Dayton OH
Message-ID: <[email protected]>
NNTP-Posting-Host: jordan.meaddata.com

In article , [email protected] (Petteri JДntti) writes:
|> In article ,
|> Andrew Purshottam  wrote:
|> >Hi, there was a pardoy of Shakespeare`s sonnet 130
|> >(org "My mistresses eyes are nothing like the sun"
|> > parody "My Apple's screen is smaller the the Sun's")
|> >in Sci Am a long time ago, that has also appeared in various net 
|> >filk collections. Can anyone mail me either a citation for Sci Am
|> >or a copy of the sonnet? 
|> >Thanks, Andy ([email protected])
|> 
|> or better yet, post it here as there are porbably others interested in 
|> reading it, too.

We just happen to have Scientific American online in Nexis.  I found the
article, from the June 1989 issue, but unfortunately we don't have the
"illustration" online which contains the full text of the sonnet that was
generated.  However, here's the main article if you're interested.  Maybe
someone can now find a hardcopy of this issue and followup with the whole
sonnet:


                   Copyright 1989 Information Access Company;
                   Copyright Scientific American Inc. 1989
                              Scientific American

                                   June,  1989

SECTION: Vol. 260 ; No. 6 ; Pg. 122; ISSN: 0036-8733

LENGTH: 3420 words

HEADLINE: A potpourri of programmed prose and prosody; Computer Recreations;
computer-generated commentary

BYLINE:  Dewdney,  A.K.

BODY:  COMPUTER RECREATIONS

    As the renowned Oxonian master of nonsense observed, semantics takes
precedence over syntax in creative writing.  Good literature is shaped by the
meaning contained in a writer's ideas.  Computers are not yet capable of ideas
and so cannot take care of a composition's sense.  Yet, as a number of
contemporary programs show, computers can certainly take care of the sounds.
But is it art?  That is for the reader to decide.

    Consider the writing of MARK V. SHANEY, a computer program created by Bruce
Ellis (now at the University of Sydney) that is based on an idea of Don P.
Mitchell of the AT&T Bell Laboratories.  MARK V. SHANEY is not exactly a
self-starter.  The program must first read and reflect on someone else's work.
It then produces a rambling and somewhat confused commentary on the work.  As an
example, I quote MARK V. SHANEY's reflections on reading an elementary chemistry
textbook.

    "Wash the blackboard.  Watch it dry.  The water goes into the air.  When
water goes into the air it evaporates.  Tie a damp cloth to one end of a solid
or liquid.  Look around.  What are the solid things?  What are the only ones
that take part in the clouds themselves.  As clouds move air tosses the tiny
droplets of water. Sometimes the water which leaves the body in the leaves of
green plants.  It is quite porous, almost like a sponge.  But the walls of the
hollow tubes and cells are very strong.  Chemical changes take place when
something burns...."

    The commentary is hardly different when MARK V. SHANEY digests a book on
elementary mathematics.

    "Why do we count things in groups of five.  When people learned how to coun
tmany things, they matched them against their fingers. First they counted out
enough things to match the fingers of both hands.  Then they put these things
aside in one quart.  A giant-size bottle that will hold four quarts is a
three-digit number...."

    From here on, the program's output becomes increasingly confused, as readers
may see for themselves in the illustration on this page.

    Although sense is conspicuously absent from MARK V. SHANEY's writings, the
sounds are certainly there.  The overall impression is not unlike what remains
in the brain of an inattentive student after a late-night study session.
Indeed, after reading the output of MARK V. SHANEY, I find ordinary writing
almost equally strange and incomprehensible!

    How does MARK V. SHANEY produce its remarkable works?  The answer is rather
simple.  The program's name, a weak pun on "Markov chain," provides a clue.  In
abstract terms, a Markov chain is a sequence of symbols generated according to a
table of probabilities.  In the version relevant to MARK V. SHANEY's operation,
each row of the table corresponds to a pair of symbols.  The entries in each row
consist of individual symbols, each paired with an associated probability.  A
sequence of symbols is generated by an algorithm that begins with a "chain" of
two symbols and thereafter cycles through four simple steps.

    1. Find the last two symbols in the current chain.

    2. Go to the row of the table corresponding to the symbol pair.

    3. Select a symbol from the row according to its probability.

    4. Add the selected symbol to the end of the chain.

    For example, the first few entries of a Markov-chain table for the symbols
A, B, C and D might look like this: AB: B(.1) C(.1) D(.8) AC: A(.1) B(.2) C(.1)
D(.6) AD: B(.4) D(.6) BA: B(.3) C(.4) D(.3) BB: A(.5) C(.5)

    Given the symbol pair AB as the initial chain, the algorithm would have a 10
percent chance of selecting B, a 10 percent chance of selecting C and an 80
percent chance of selecting D as the next symbol.  How does the algorithm choose
a symbol according to the probabilities?  It divides the interval between 0 and
1 into numerical segments whose lengths correspond to the symbol probabilities.
It then chooses a random number between 0 and 1 and determines in which segment
the number has fallen.

    For row AB in the above table, the segments corresponding to the respective
 probabilities for B, C and D range between 0 and .1, between .1 and .2, and
between .2 and 1.  Suppose, then, that the computer's random-number generator
yields .0172.  Because that number lies in the first segment, B would be
selected as the next symbol in the chain.  The chain would then consist of the
symbols ABB.  The algorithm would next consult row BB in order to select a
fourth symbol for the chain.  Here again, a random number is generated.  If it
is less than or equal to .5, A is selected; otherwise the algorithm selects C.
Because of its dependence on chance, if the algorithm were restarted with the
same initial symbol pair, it might well produce an entirely different chain.

    Such an algorithm was actually applied in the 1940's by Claude E. Shannon of
Bell Laboratories to analyze the information content of human language.  He
constructed the algorithm's probability tables by scanning ordinary text and
counting how many times each individual character followed each pair of
characters (including blanks).  Once the character frequencies for a given text
were known, they could easily be changed into probabilities.  The Markov chains
of characters generated in this manner had statistical properties that resembled
the source text, although they rarely contained valid words.  How then does MARK
V. SHANEY apply Markov chains to produce understandable English words?

    The trick is to apply Shannon's algorithm for Markov chains but with entire
 words instead of characters as the concatenated symbols.  As MARK V. SHANEY
scans a text, it builds a frequency table for all words that follow all the word
pairs in the text.  The program then proceeds to babble probabilistically on the
basis of the word frequencies.

    A key feature of the program is that it regards any punctuation adjacent to
a word as part of the word.  That feature enables it to form sentences having a
beginning and an end.  Approximately half of them are even grammatical.  I
shudder to think what the program might produce after scanning this article!

    Indeed, others have already shuddered at MARK V. SHANEY's reflections, some
with rage and others with laughter.  Some years ago Ellis decided to go on-line
with his creation.  The victims of the program's analyses were the innocent
computer users who subscribed to an electronic bulletin board called
net.singles.  The bulletin board provides a place for male and female
scientists, engineers, programmers and graduate students from all over the
country to post their thoughts on subjects as diverse as dating, makeup and
personal relationships.  Why not have MARK V. SHANEY read the postings and
respond with its own "thoughts" on those subjects? Here are some of MARK V.
SHANEY's more thoughtful comments.

    "When I meet someone on a professional basis, I want them to shave their
arms.  While at a conference a few weeks back, I spent an interesting evening
with a grain of salt.  I wouldn't dare take them seriously!  This brings me back
to the brash people who dare others to do so or not.  I love a good flame
argument, probably more than anyone....

    "I am going to introduce a new topic: does anyone have any suggestions?
Anybody else have any comments experience on or about mixed race couples,
married or otherwise, discrimination forwards or reverse, and eye shadow?  This
probably the origin of makeup, though it is worth reading, let alone judge
another person for reading it or not?  Ye gods!"

    The opinions of the new net.singles correspondent drew mixed reviews.
Serious users of the bulletin board's services sensed satire.  Outraged, they
urged that someone "pull the plug" on MARK V.  SHANEY's monstrous rantings.
Others inquired almost admiringly whether the program was a secret artificial
intelligence project that was being tested in a human conversational
environment.  A few may even have thought that MARK V. SHANEY was a real person,
a tortured schizophrenic desperately seeking a like-minded companion.

    If the purpose of computer prose is to fool people into thinking that it was
written by a sane person, MARK V. SHANEY probably falls short.  MELL, the
brainchild of Bonnie V. Firner of Piscataway, N.J., probably comes a little
closer to that goal.  MELL writes weird science-fantasy stories with a peculiar
meditative quality.

    "The warrior scowls in the drought pulses.  He loves himself in the drought.
He molds himself in the drought.  He glowers at the warrior Dugaki in the
drought pulses.  He calls her in the drought. He snarls at her in the drought.
He sits beside her beside awareness.  He seizes her.

    "Oh I am mighty says Oban.  He smothers her in the drought.  He smashes her
of the turquoise....

    "Oban kills Dugaki.  He has it of turquoise.  He glares at it in the drought
pulses.  He calls it in the drought.  He snarls at it in the drought.  He sits
with it beside greed.  He seizes it.  He smothers it in the drought.  He smashes
it of the turquoise.  He needs it beneath the thunderbolt.  His body burns
beneath the thunderbolt...."

    MELL consists of some 1,500 lines of BASIC code; in contrast to MARK V.
SHANEY, Firner's program is complicated even at the conceptual level.  The
program's main loop generates two characters in terms of 16 randomly generated
"descriptors" whose values define qualities such as size, niceness,
occupation, age and health, smell, commitment (from indifferent to fanatical)
and even magical power.

    Having chosen the names and traits of the story's characters, the main loop
then determines what motivates a character by examining the values of its
various descriptors.  If one of the descriptors has a low value, MELL bases the
character's interaction with the other characters on that fact.  If no character
has a low descriptor value, MELL will decide on the nature of a character's
interaction based on his or her occupation.  For each cycle of the main loop,
the program then generates several sentences that describe the characters by
fitting names for their qualities into predetermined grammatical slots.  The
sentences thus generated also include what Firner calls "background" words.

    In the above story, for example, the background word "drought" sets the
scene.  Consequently that word creeps into many of the sentences.  After
generating a paragraph that describes an act by one of the characters in this
way, the sentence-generating process starts all over again.  Between iterations
the program can change a quality of one of the characters.  This helps to keep
the story (as much as there is of one, anyway) from stagnating.

    Is poetry any easier for a computer to generate than prose?  One doubts it,
because the meaning contained in prosody tends to be far more dense than in
prose.  Of the three versifying programs I shall discuss, only POETRY GENERATOR
,which was written by Rosemary West of Mission Hills, Calif., is fully automated
;the other two require human intervention to finish the product.  West describes
 her program as follows:

    "My approach ... was to supply a large vocabulary of words and phrases that
would be selected at random and combined according to a set of grammatical
rules.  For example, consider the following poem: 'The tree dips its bare
fingers/into the black ice-pond/just as three gray geese/slide down a nearby
snowbank.'

    "Each line of the poem can be broken down into several parts.... 'The tree'
is a noun phrase; 'dips' is a verb; 'its bare fingers' is the object of that
verb.  Having categorized the parts, I can then come up with between 100 and 400
possible substitutions for each part, one of which is randomly selected by the
computer.  For example, using the same verse structure, I might get: 'A woman
hides five gray kittens/under the old jalopy/at the moment when the sad
clowns/enter your museum of pain.'"

    The poetic structures on which POETRY GENERATOR hangs its words may vary
considerably, lending variety to the syntax and to what seems to be the meaning
of the poem.  West has based some of POETRY GENERATOR's output on the
structures of her own poems, several of which have been published.

    Thomas A. Easton of Belfast, Me., thinks the best way to generate computer
poetry necessarily involves a symbiosis between human and machine.  He has
written a semiautomatic program called THUNDER THOUGHT that provides ideas for
poems.  Again, I quote the author of the program:

    "I conceive of the creative mind as having two components: the popcorn mind
and the critical mind.  The former generates random combinations of whatever
words, ideas and images happen to be in a sort of mental focus (along with
peripheral material, which is why the popcorn mind can surprise us).  The
critical mind then discards as garbage the vast bulk of what the popcorn mind
produces and edits, twists and elaborates the remainder to form poems."

    Relying on internal lists of nouns, verbs, adjectives and adverbs, THUNDER
THOUGHT operates roughly like West's POETRY GENERATOR, arranging words into
sentence frames to produce what Easton regards as raw poetic material for a
human mind to refine.

    "The intermediate result is ungrammatical, nonsensical, ridiculous garbage
... but not always.  Among the many lines of garbage there always lie a few
lines to which one responds.  They make sense--or seem to.  They beg one to
tweak them a little.  A pair of them insists that one make up a third line.
They stimulate one to think of other lines that can accompany them.  A little
editing, interpolation, elaboration and--voila!--a poem."

    Easton has written some 110 poems by this method and has published 32 of
them--some have even appeared in literary journals.  That ratio, he claims, is
one that would turn many real poets green with envy.

    The last word on computer poetry goes to ORPHEUS, a program designed by poet
Michael Newman of New York City.  ORPHEUS lays out strict frameworks, from haiku
to sonnets, into which human writers may insert their own chosen words.
Essentially ORPHEUS is a word processor ("poetry processor" in Newman's
parlance) that lays out the lines of a given poetic form.  The program allows a
human being to fill in the lines according to whim and then to end them with the
help of a rhyming dictionary.  Setting ORPHEUS in sonnet mode, for example, one
might write a pair of lines (in imitation of Shakespeare's 130th sonnet) as
follows:

    My Apple's screen is nothing like the sun;

    The Cray is faster far on problems big:

    Because the first line ends with the word "sun," ORPHEUS consults its
rhyming dictionary and displays a number of words that rhyme with sun: bun,
done, fun, gun and so forth.  Scanning them, one's eye might alight on the word
"fun." Is there a computer that is more fun than the Apple?

    An association with games brings the Atari computer to mind for the next
line.

    If Apple pleasant be, th'Atari is more fun;

    The first quatrain is polished off by selecting a word that rhymes with big.

    If wires be hairs, her circuits are a wig:

    The rest of the sonnet can be read in the illustration at the bottom of the
opposite page.

    The poetry programs I have mentioned may be bought by readers who want to
sharpen their prosodic skills.  Newman will be happy to supply ordering
information for ORPHEUS NRD (Newman's Electronic Rhyming Dictionary) and related
products to those who write him at 12 West 68th Street, #2C, New York, N.Y.
10023.  Easton meets West in a software package containing THUNDER THOUGHT and
a program similar to it called versifier, which was written by West.  Readers
may inquire about the package by writing to Easton at Box 805, R.F.D.  2,
Belfast, Me.  04915.

    Readers may also be interested in what is perhaps MARK V. SHANEY'S magnum
opus: a 20-page commentary on the deconstructionist philosophy of Jean
Baudrillard.  That effort was directed by Rob Pike of the AT&T Bell
Laboratories, with assistance from Henry S. Baird and Catherine Richards.  The
commentary can be obtained by writing Pike at the AT&T Bell Laboratories, 600
Mountain Avenue, Murray Hill, N.J.  07974.

    Students in Italy, stockbrokers in Singapore and physicians in the U.S. have
joined the growing crowd of Mandelbrot-set devotees--all thanks to a ride on the
Mandelbus, which I described in the February column.  The effort to make the
set's basic iteration algorithm understandable paid off in ridership and perhaps
even readership. Yet, as a number of letters show, some confusion remains.  It
is only the Mandelbus' first stop that is being tested for membership in the
Mandelbrot set.  Subsequent stops may be either inside or outside the set, but
if any of them turns out to be more than two units away from the origin, the
first stop can be automatically excluded from the Mandelbrot set.

    Readers who attempted to visit the area of the Mandelbrot set that Andrew
LaMance calls Love Canal were disappointed to find empty space: they were given
a wrong coordinate address.  A minus sign placed in front of the first
coordinate given should put readers squarely on the site of the curiously
alluring pollution.

    I may have been overly impressed by the magnification of 54,000 that Ken
Philip of Fairbanks, Alaska, achieved in generating an image of a sea-horse
scepter.  Such magnification hardly marks the limit of a computer's acuity.
Indeed, magnifications of that order are nearly routine both for A. G. Davis
Philip of Schenectady, N.Y., and his brother Ken.  The Schenectady Philip
writes, "While I was in Fairbanks in November, my brother's Mac II produced a
picture of a Mandelbrot midget at a magnification of 2 x 10.sup.31.  I consider
that remarkable."

    Peter Garrison of Los Angeles coincidentally explains that the
double-precision mode available in most personal computers--in which the number
of bits in the computer's "words" are doubled--actually more than doubles the
computer's resolving power.  In fact, the power is doubled for each one-bit
increase in effective word size. Extremely high magnifications can therefore be
achieved by means of the even greater precision made possible by special
hardware and software.

    Near the end of the column I meantioned a fast new algorithm for computing
the Mandelbrot set that was described by Uval Fisher in the book The Science of
Fractal Images.  William S. Cleveland of the AT&T Bell Laboratories wrote to
explain that the algorithm was actually developed by William P. Thurston and
Allan R. Wilks. According to Cleveland, the new algorithm not only is faster but
also produces more accurate pictures of the set than the standard algorithm
does.  As Cleveland says: "If you get on board the bus with the Thurston-Wilks
algorithm painting the scene (in black and white), a wholly new and more
realistic world will open up to you."

    A new way to render beautiful Mandelbrot images using the traditional method
was communicated to me by Carl G. Nugent of Seattle.  It is now possible to see
the set in delicate bas-relief, looking like the compressed fossil of an alien
life-form.  Although shaded in a single color, the images are just as beatiful
as the full-color treatments because of their incredibly tactile nature: one can
"feel" those delicate tendrils.  The appearance is based on a trick that makes
the tiny, intricate details of the set look from afar as though they were
illuminated from one side.

    The underlying idea is to divide the display screen into diagonal rows of
pixels that run from the top left to the bottom right of the screen.  If the
iteration count generated for each pixel is taken to represent the pixel's
"height," then an imaginary light source in the top left corner of the screen
will cause a black "shadow" to be cast on certain pixels, depending on the
height of the neighboring pixel (above and to the left) in its diagonal row.  In
even diagonal rows a pixel is not to be colored black unless its neighbor's
height is strictly greater than that of the pixel; in odd diagonal rows,
however, a pixel is colored black even if its neighbor has an equal height.
Hence, in Mandelbrot "plateaus" (areas where all pixels have an equal iteration
count), the diagonal pixel rows will alternate in color.  Up close the displayed
plateaus have a checkerboard appearance.  "To make it look gray," says Nugent,
"just throw away your microscope!"

GRAPHIC: forms ; Sample printouts. (forms)

IAC-NUMBER: IAC 07271022

IAC-CLASS: Magazine

LANGUAGE: ENGLISH

LOAD-DATE-MDC: December 22, 1993


-- 
// John Townsend           "We have become hostage        Design Assessment and
// Mead Data Central        to [MDC's] Lexis/Nexis."     Process Re-engineering
// 9595 Springboro Pike       -- George Stephanopoulos       [email protected]
// Miamisburg, OH  45342                                         (513) 865-7250 
// GAT d? p+(---) c++ !l u+ e++(*) m++(-) s+/ n- h--- f g- w--(+) t-- r- y+

Most popular:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg  : C++ Humor : ARE YOU A BBS ADDICT? : Object oriented programmers of all nationsC Humor : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humorPseudoScience Related Humor : Networking Humor  : Shell Humor: Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : The Most Comprehensive Collection of Editor-related Humor : Microsoft plans to buy Catholic Church : Education Humor : IBM HumorAssembler-related HumorVIM Humor Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor : Best Russian Programmer Humor : Russian Musical Humor : The Perl Purity TestPolitically Incorrect Humor : GPL-related Humor : OFM Humor : IDS Humor : Real Programmers Humor : Scripting Humor : Web Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor :



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019