{"id":2970,"date":"2011-02-06T12:05:40","date_gmt":"2011-02-06T20:05:40","guid":{"rendered":"http:\/\/www.rudyrucker.com\/blog\/?p=2970"},"modified":"2011-02-13T17:59:42","modified_gmt":"2011-02-14T01:59:42","slug":"early-days-of-creative-programming","status":"publish","type":"post","link":"https:\/\/www.rudyrucker.com\/blog\/2011\/02\/06\/early-days-of-creative-programming\/","title":{"rendered":"Early Days of Creative Programming"},"content":{"rendered":"<p><em>[ I will be speaking on some of my experiences involving software at <a target=\"blank\" href=\"http:\/\/garumfundatio.org\/dia-garum-europa-2011\">Garum Day<\/a>, an event in Bilbao, Spain, on Feburary 16, 2011.  Part of my talk, and today&#8217;s post, will derive from the \u201cComputer Hacker\u201d\u009d chapter of my memoir,<em> Nested Scrolls: A Writer\u2019s Life<\/em>, due out from PS Publishing in April, 2011, and Forge Books in Fall, 2011. ]<\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.rudyrucker.com\/blog\/images3\/spiderwebfence.jpg\"><\/p>\n<p>My new hacker friend John Walker was a founder and the CEO of a booming Sausalito corporation called Autodesk, and in 1988 he asked me if I\u2019d be interested to come work for him.  Autodesk had done very well with their drafting software, and they had a big surplus in the bank.  Walker wanted to explore some radically new kinds of software products.<\/p>\n<p>Autodesk\u2019s core business was a product called AutoCAD, an electronic drafting program used worldwide by architects and industrial designers.   Walker didn\u2019t want me to work on that.  Instead he was starting a small Advanced Technology Division, headed by Eric Lyons, and, for the moment, me and one or two other guys.<\/p>\n<p>My first project was to produce some cellular automata software with Walker.  He was an insanely talented programmer.  He worked at the level of a grand master in chess, or at the level of a mathematician at the Institute for Advanced Study.  Over Autodesk\u2019s one-week-long Christmas break, Walker wrote an assembly language program that eliminated any need for a special card such as the so-called cellular automaton machine I\u2019d been carrying around.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.rudyrucker.com\/blog\/images3\/lightshadowglasshand.jpg\"><\/p>\n<p>My role in this was to create some sample CA rules for our new software to run, and to write a manual explaining it all.  I got deeply into the task.  Walker and I and finished our project over the course of several months.  When we were done, we\u2019d produced a slick, boxed software package called<em> CA Lab: Rudy Rucker\u2019s Cellular Automata Laboratory,<\/em> which sold for about $50 and went on the market in 1989.  In those pre-Internet days, some people were actually willing to buy software of this kind on disks.  I did demos of it at a number of computer trade fairs, always having to parry the same old question.<\/p>\n<p>\u201cWhat\u2019s it good for?\u201d\u009d<\/p>\n<p>\u201cYou stare CAs for hundreds and hundreds of hours and they eat your brain, okay?\u201d\u009d<\/p>\n<p>We sold a decent number of copies, and Walker had the idea that we could develop a whole line of software packages for hackers to enjoy.  These packages were meant to be like books, but interactive, illustrating new aspects of science.  Walker wanted to call the line the Autodesk Science Series.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.rudyrucker.com\/blog\/images3\/wetclothespin.jpg\"><\/p>\n<p>The second package in the series was <em>James Gleick\u2019s Chaos: The Software<\/em>, designed to let users play with some of the programs mentioned in Gleick\u2019s best-selling book <em>Chaos<\/em>.<\/p>\n<p>What was the chaos craze all about?  Chaos is another new idea whose true origins lie in computer science.  We all know about simple, deterministic processes that do something utterly predictable\u2014like a cannonball flying along a predetermined parabola through the air.  We also know about completely messy natural processes, such as the crackling static we might hear on a radio.<\/p>\n<p>Chaotic processes lie midway between the extremes of predictability and randomness.  On the one hand, a chaotic process doesn\u2019t settle into any kind of dull and simple pattern.  On the other hand, a chaotic process isn\u2019t actually random.  It\u2019s generated by some fairly simple and deterministic law of math or physics.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.rudyrucker.com\/blog\/images3\/daffslichen.jpg\"><\/p>\n<p>There\u2019s a certain overlap here with Charles Bennett\u2019s notion of <a target=\"blank\" href=\"http:\/\/www.research.ibm.com\/people\/b\/bennetc\/Onrandom.pdf\">logical depth <\/a>.  A chaotic pattern is logically deep in that it\u2019s generated by a concise rule that uses a long computation in order to produce the patterns that you see.<\/p>\n<p>The hard thing to grasp about a messy-looking chaotic process is that it is in fact deterministic.  If, for instance, you set about computing the successive digits of pi, you\u2019ll always end up with that same number sequence, 3.1415926&#8230;  So all the digits of pi are in some sense predetermined.  But yet\u2014and this is the subtle point\u2014the digits aren\u2019t <em>predictable<\/em>, at least not predictable by any rapidly-acting rule of thumb.  Yes, someone like Bill Gosper can compute the billionth digit of pi, but he needs to run a powerful computer through quite a few cycles in order to come up with the answer.  There are some good modern formulae, bu there\u2019s no quick and dirty pencil-and-a-scrap-of-paper shortcut for finding the billionth digit of pi.  It&#8217;s going to take you about a billion steps, no matter what.  Pi is gnarly, pi is chaotic, pi is logically deep.<\/p>\n<p>In his bestselling <em>Chaos<\/em>, Gleick talked about some mathematical systems that were known to generate chaotic patterns.  Among these were the Lorenz attractor and the Mandelbrot set, and we put simulations of these into the Autodesk <em>Chaos <\/em>software, along with some other funky things.<\/p>\n<p>Working on this second Autodesk program all through 1989 and 1990 was a lot harder for me than working on <em>CA Lab <\/em>had been.  The big difference was that this time Walker didn\u2019t step in and write the bulk of the code.  Instead I worked with another Autodesk programmer, a knowledgeable and irascible guy called Josh Gordon.  Truth be told, my own programming skills were still pretty rudimentary.  I was in over my head.  And Josh was never shy about telling me this.  But somehow we struggled to a conclusion and in 1991 we shipped this second product, too.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.rudyrucker.com\/blog\/images3\/seagullhiguy.jpg\"><\/p>\n<p>Later, on my own, I\u2019d write a third science series program called <em>Artificial Life Lab<\/em>, which would be published as a disk with a book in 1993, not by Autodesk, but by the low-end Waite Group Press in the North Bay.  I might mention that, annoyingly, the Waite Group refused to pay me my royalties on the Japanese edition of the book. <\/p>\n<p>The three software packages that I worked on,<em> CA Lab<\/em>, <em>Chaos<\/em>, and <em>Artificial Life Lab<\/em>, are all long out of print by now, but you can download them for free from my <a target=\"blank\" href=\"https:\/\/www.rudyrucker.com\/oldhomepage\/#Softwaredownloads\">website<\/a>.  Note that eventually we had to change the name of <em>CA Lab <\/em>to <em>Cellab<\/em>.  A company called Computer Associates was threatening to sue us for infringing on their sacred trademarked initials CA.  As if cellular automata hadn\u2019t been around much longer than them!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ I will be speaking on some of my experiences involving software at Garum Day, an event in Bilbao, Spain, on Feburary 16, 2011. Part of my talk, and today&#8217;s post, will derive from the \u201cComputer Hacker\u201d\u009d chapter of my memoir, Nested Scrolls: A Writer\u2019s Life, due out from PS Publishing in April, 2011, and [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2970","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/posts\/2970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/comments?post=2970"}],"version-history":[{"count":11,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/posts\/2970\/revisions"}],"predecessor-version":[{"id":2987,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/posts\/2970\/revisions\/2987"}],"wp:attachment":[{"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/media?parent=2970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/categories?post=2970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rudyrucker.com\/blog\/wp-json\/wp\/v2\/tags?post=2970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}