Category: Artificial Intelligence

  • Jef Raskin on Artificial Intelligence and All-In-One Software

    Composite illustration of Jef Raskin and a Macintosh computer. Create with Stable Diffusion.

    After discovering Don Crabb’s thoughts on AI, which I wrote about yesterday here, I did a little more digging in the Internet Archive. This turned up an incredible treasure trove of files collected by David Craig called Apple Lisa Document and Media Collection, which included a photocopy of Jef Raskin’s interview in the amazing book by Susan Lammers titled Programmers at Work, which can be checked out for reading on archive.org here or online at this website created by Lammers).

    Jef Raskin, who wrote the user manual for the Apple II and founded the team that would go on to launch the Macintosh computer among other accomplishments, was an important figure in the first phase of the personal computer industry. Toward the end of his interview in Lammers’ book, she asks him about AI:

    INTERVIEWER: What do you feel artificial-intelligence programs can contribute to society?

    RASKIN: Artificial intelligence teaches us a lot about ourselves and about knowledge. Any reasonable artificial-intelligence program will not fit on a very inexpensive machine, at least not these days.

    Real artificial intelligence is something like religion. People used to say that just above the sky were heaven and angels. Then you get a rocket ship out there, and now you know that’s not true. So they change their tune. As soon as you accomplish something, it is no longer artificial intelligence.

    At one point, it was thought that chess-playing programs encompassed artificial intelligence. When I was a graduate student, you could get a Ph.D. in artificial intelligence by learning to program chess. Now you can buy a chess player for $29.95 and nobody calls it artificial intelligence. It’s just a little algorithm that plays chess.

    First, there’s a problem of definition. Then it gets more complicated. People say that programs should understand natural language, but our utterances are too inexact for a computer, or anybody, to figure out what is meant to be done; that’s why we have programming languages. If anyone’s ever worked from a spec prepared in English, they know that you can’t write a program from it because it’s not exact. So if human beings can’t do it, there is almost no way we can expect to make a machine do that kind of thing. When you’re dealing with so-called artificial-intelligence programs, the computers have got to learn a vocabulary. Let’s say you have five commands and you want the machine to understand any possible English equivalent to them. But it won’t understand any English equivalent: One person might say, “Get employee number,” while an Englishman might say, “Would you be so kind as to locate the numerical designation for our employee.’ That’s exactly the complaint AI people are trying to solve.

    A lot of the promise of artificial intelligence is misunderstood. What artificial intelligence has already taught us about the nature of languages is wonderful. So, do I think artificial intelligence is worthwhile? Absolutely. Do I think it’s going to turn out great products? A few. Do I think it’s going to fulfill the promise that you read about in the popular press? Not at all. Will I be putting a lot of money into artificial intelligence? Nope (qtd. in Lammers 243-244).

    Lammers, Susan. “Jef Raskin.” Programmers at Work: Interviews with 19 Programmers Who Shaped the Computer Industry. Microsoft Press, 1989, pp. 227-245.

    What he said has some resonance today. There seems to be the same kind of effect in computers that we see in other fields. For lack of a better phrase, it’s the “so, what have you done lately?” question. Once one hurdle is accomplished, its importance or significance gets erased by the passage of time and people’s attention. Deep Blue beat Kasparov at chess? Great, what’s next? AlphaGo beat Lee Sedol at Go? Okay, what’s next? ChatGPT can do your homework? Super, what’s next? With each milestone, the preceding success seems diminished and becomes the $29.95 chess player that Raskin refers to above.

    However, as AI’s capabilities increase, it seems to be edging further toward ubiquity. It’s already ever present in many aspects of our lives, such as business, finance, advertising, and photography, that we are not necessarily cognizant of or paying attention to. Now, it’s creeping into computer and smartphone operating systems (similar to Don Crabb’s observations that I wrote about yesterday) and some of the software that we use for daily productivity (email, word processing, and integrated development environments for programming). Perhaps its the eventual ubiquity of AI that will make it feel mundane instead of a radical technological development as imagined in the heady cyberpunk era represented most clearly by William Gibson’s Neuromancer (1984).

    But, there’s something else that Raskin talks about in his interview that has some relevance to AI. After he left Apple when Steve Jobs took over the Macintosh project, he founded Information Appliance, Inc. to build and market an add-on card for the Apple IIe called the SwyftCard. This card contained a ROM for an all-in-one piece of software that contained word processing, communication, calculation, printing, and programming capabilities. He explains:

    Watch this. There is no disk in the drive, and I want to type a message, “Remember to bring home some milk.” How do you like that? I turn it on and start typing. No need for commands, no insert, no getting to the editor, I can just start typing.

    Now I want to print the message and put it in my pocket, so I can use it later. I press a single key, and it prints. Isn’t that convenient . . . .

    We can do calculations easily. Before, whenever I was using the word processor and wanted to do a calculation, I’d get out my pocket calculator and have to use a separate calculating program, or get up SideKick; on the Mac, you call up the calculator and paste it into your document. We also have telecommunications capability.

    INTERVIEWER: All in the same program?

    RASKIN: Sure. There is no difference between all the applications. What’s a word processor? You use it to generate text, move it around, change it if you make a mistake, and find things. What’s a telecommunications package? You use it to generate text, or receive text generated by someone else. Instead of it coming in from a keyboard or out from a printer, it comes in or out over a telephone line. And what’s a calculator? You use it to generate numbers, which are just text, and the answer should come back into your text. So, one day it dawned on me, if these applications do the same thing, why not have one little program that does them all?

    INTERVIEWER: Well, what is this product you’ve developed to cover all of these features?

    {Raskin holds up a simple card.]

    RASKIN: It’s called a SwyftCard (qtd. in Lammers 233).

    Lammers, Susan. “Jef Raskin.” Programmers at Work: Interviews with 19 Programmers Who Shaped the Computer Industry. Microsoft Press, 1989, pp. 227-245.

    It seems to me that we’re heading toward a great collapsing of software into generative AI. As large language models learn more with increasing amounts of training data, they reveal new capabilities that emerge from the resulting trained models. Will we type and eventually talk to our computers to tell it what we want to accomplish without having to worry about having x, y, or z programs installed because the AI can do those things in an all-in-one fashion as the Nth degree of Raskin’s SwyftCard? Time, of course, will tell.

  • Don Crabb’s “Omniscient Sage” Imagined in Guide to System 7.5

    While searching around for early uses of algorithmic text, image, and music generating software from yesteryear (which I have been documenting on this page), I stumbled upon Don Crabb’s Guide to Macintosh System 7.5.5 (1996), which is a guide to using Apple’s System Software 7.5 on Macintosh and Power Macintosh computers in the mid-1990s.

    In Chapter 5, “The Multimedia is the Message,” he writes the following prophetic passages that point to right about where we are now with giving generative AI access to our files so that we can chat with an AI about the contents of those files–for ideation, brainstorming, summation, search, discovering patterns, etc. Crabb had an idea that combined Apple’s then innovative OpenDoc technology, which flips the computing metaphor from application-centric to document-centric and that facilitates different Editors (aka programs) to work on/within different Documents or create new Documents via Stationary files, with the power of artificial intelligence to observe, learn, and collaborate with computer users. The foundation of his idea is what he calls the Open Desktop Architecture (ODA) and the Omniscient Sage. He writes:

    The Multimedia/OpenDoc Desktop

    The future of the Macintosh Desktop will reside in something I call Open desktop Architecture (ODA)— as Apple ought to articulate it and we ought to use it in the form of a new Multimedia/OpenDoc desktop.

    Back in May of 1994 at the Worldwide Developer’s Conference, Don Norman— Apple Fellow and Interface Guru Extraordinaire— told us about one possible future Mac interface (AKA Finder) based on Apple Guide, that would become truly active in its assistance features and orientation. My Open Desktop Architecture relies on this same active assistance to make it fly, but it adds the OpenDoc document-centric idea of computing (see chapter 6 for more details) and the liberal use of multimedia data.

    The Omniscient Sage

    To start with, though, we need a basic interface metaphor in mind for our new desktop. I call my metaphor The Omniscient Sage. Corny sounding? You bet. But highly descriptive. The Omniscient Sage watches what you do on your Mac without being judgmental.

    The role of the Omniscient Sage is to watch, assimilate, correlate, and then assist. Active assistance based on observation, analysis, and planning at a level as far above Apple Guide 1.0 as the it was above Balloon Help. Active assistance based on the artificial intelligence work that’s been modeled and executed over the last five years. Active assistance based on a world of OpenDoc files and apps.

    Crabb, Don. Guide to Macintosh System 7.5.5. Hayden Books, 1996, p. 253.

    Crabb’s Omniscient Sage seems science fictional thinking back to that period of time. This was the era when Apple was on the ropes and nearly down for the count. Then, Steve Jobs returned with NeXTSTEP, which delivered all of the things that Apple had led us to believe was forthcoming in OS 8 codenamed Copland. However, Jobs also killed OpenDoc at Apple.

    Could the Omniscient Sage have been built on top of Mac OS X? While working towards OS X, Apple developed Apple Guide/Macintosh Guide as a robust help system that worked with AppleScript to guide the user along steps, and it could change based on the observed state of the software that the user needed help with. Yet, it was running on rails and therefore couldn’t adapt and adjust outside of those prescribed steps. Given advancements and R&D maybe this could have advanced towards something like Crabb imagined. But, when Mac OS X launched, the help system was much simpler as a web rendering engine and HTML.

    Unfortunately, Crabb didn’t get to see how close we are now to his vision of the Omniscient Sage. He died in 2000 at the age of 44.

  • Kai’s SuperGOO 1.0 for Macintosh: Face Image Generator and Manipulator

    Kai's SuperGOO 1.0 folder on MacOS 8.1.

    Kai’s SuperGOO 1.0 is a program geared toward children to easily manipulate images and generate images of human faces that can be further modified using its built-in image editing tools that are accessible through an interesting but not always intuitive user interface.

    The “Getting Started with Kai’s SuperGOO” text file includes this explanatory information:

    ABOUT SUPERGOO

    SuperGOO is organized into two basic rooms: Goo and Fusion. The Goo Room provides you with a series of distortion tools, both brushes and global effects, to create 'funhouse mirror' distortions to your images.

    The Fusion Room provides you with both cloning tools- to combine faces (and other images) from your own sources- and a library of facial components to create your own face for the Goo Room.

    Both rooms have an In and Out dialogue for importing and exporting saved images, or importing images from a TWAIN device such as a scanner or digital camera.

    Play around with SuperGOO once you've got it installed... click a button and watch what happens. That's the quickest way to get acquainted with SuperGOO. For more detail, consult the 'Quick Reference Guide' included with your software. This brief, but thorough, card will provide you with all of the basics you need to know about SuperGOO, from input to output and everything in between. For more detail, consult the SuperGOO User's Guide included on your CD-ROM.

    Kai’s SuperGOO ReadMe file includes the following system requirements:

    MINIMUM SYSTEM REQUIREMENTS

    PC

    Pentium Processor
    Windows 95 (or higher)
    Windows NT 4.0 (or higher)
    16 MB Free RAM
    25 MB HD Space for Install
    40 MB Free HD Space (after Install)
    CD-ROM Drive
    16-bit video
    14" Monitor

    MACINTOSH

    Power Macintosh
    MacOS 7.6.1 (or higher)
    16 MB RAM allocated to application
    25 MB HD Space for Install
    40 MB Free HD Space (after Install)
    CD-ROM Drive
    16-bit video
    14" Monitor

    I installed Kai’s SuperGOO on MacOS 8.1 emulated by SheepShaver on Debian Bookworm.

    Kai's SuperGOO 1.0 application's Get Info window on MacOS 8.1.

    After installation from CD-ROM, the Kai’s SuperGOO 1.0 application file is 976K and has a minimum memory size of 17,290K and a preferred size of 25,482K.

    Installation

    Kai's SuperGOO 1.0 CD-ROM installation folder on MacOS 8.1.

    Installing Kai’s SuperGOO is as straightforward as other Mac software of the era that used a basic installer. However, the initial screens shown below gesture toward its inventive user interface. To launch the installer, the user double clicks on “Kai’s SuperGOO 1.0 Installer” located in the root of the CD-ROM disc.

    Kai's SuperGOO 1.0 installation launch window on MacOS 8.1.

    The first screen after launching the installer is shown above.

    Kai's SuperGOO 1.0 installer license agreement on MacOS 8.1.

    The license agreement screen notably has stylized round buttons for Print, Save, and Continue.

    Kai's SuperGOO 1.0 installer window on MacOS 8.1.

    Clicking Continue on the previous screen takes the user to a traditional installer window. Clicking Install begins the installation of files to the selected folder on the user’s hard drive.

    Kai's SuperGOO 1.0 installer progress window on MacOS 8.1.

    Several demonstration/prompting screens accompany the copying of files.

    Kai's SuperGOO 1.0 installer progress window on MacOS 8.1.

    These screens preview key elements of SuperGOO, such as the brushes on the left and the Fusion Faces feature on the right.

    Kai's SuperGOO 1.0 installer progress window on MacOS 8.1.

    This final screen reminds the user to register, but it also shows a stylized, miniature version of the user interface.

    Kai's SuperGOO 1.0 installation completed window on MacOS 8.1.

    The software is installed and ready for use. In order to use the software, the CD-ROM has to be in the CD-ROM drive and mounted.

    Use

    Kai's SuperGOO 1.0 launch window on MacOS 8.1.
    Kai's SuperGOO 1.0 prompts the user to enter their name when running for the first time on MacOS 8.1.

    When the user first launches the software, it prompts for a name to personalize it.

    Kai's SuperGOO 1.0 main screen opens with an image of Abraham Lincoln that can be manipulated on MacOS 8.1.

    The main screen or what is called the “GOO Room” in the Read Me file. As suggested in that file, the UI invites the user to click on things to see what they do. Should the user find themselves backed inot a corner, there is an option to Reset in the lower right, or simply quitting the software with Cmd+Q and restarting the program. It opens with an image of Abraham Lincoln that can be manipulated using the tools on the left. The top set of tools are called Brushes.

    I was left wondering why Abraham Lincoln’s face was selected for manipulation. Perhaps his image is well known and perhaps liked by children, but his important accomplishments as president and his tragic assassination seem to position his face as not deserving the more radical manipulation options available.

    Kai's SuperGOO 1.0 main screen opens with an image of Abraham Lincoln that can be manipulated on MacOS 8.1. The Noise brush has been applied.

    Using the Noise brush, I obscured Lincoln’s face as if it were seen through a primitive piece of glass.

    Kai's SuperGOO 1.0 GOO Room demonstrating the Vortex video effect on MacOS 8.1.

    Below the Brushes on the left are the GOO Effects. These create videos using starting image. Above is one frame of Vortex Tiling GOO Effect.

    Kai's SuperGOO 1.0 GOO Room demonstrating the Zoom and Rotate video effect on MacOS 8.1.

    Above is one frame of the Zoom and Rotate effect.

    Kai's SuperGOO 1.0 Fusion Room random face generated on MacOS 8.1.

    By clicking on the bubble in the top middle of the UI takes the user to the Fusion Room (from the GOO Room) or to the GOO Room (from the Fusion Room). By clicking on the nuclear symbol button in the lower right corner of the Fusion Room gives the user the option to generate a new human face that mixes and matches elements akin to a police facial composite or E-FIT.

    Kai's SuperGOO 1.0 Fusion Room random face generated on MacOS 8.1.

    The results are mildly uncanny.

    Kai's SuperGOO 1.0 Fusion Room random face generated on MacOS 8.1.

    Most random generations result in white faces, but after many, many iterations, I arrived at this face with epicanthic folds. When using the eye selector on the left, there are three female options with epicanthic folds and two male options.

    Kai's SuperGOO 1.0 Fusion Room random face generated on MacOS 8.1.

    This generated face appears to have darker skin, but there’s no option for changing skin color or adjusting tone. As the various facial features are assembled, there seems to be a kind of blending that makes them work together. However, there isn’t a clear cut way to create faces outside of a narrow skin tone range using the Fusion generator. The natural variety of faces with different skin tones has to be imported.

    Kai's SuperGOO 1.0 In Panel on MacOS 8.1.

    To import an image, the user clicks the bubble in the middle to the left, which opens the “In Panel.” It can interface with image capture and scanning devices that have a TWAIN driver, open an existing file, or acquire from another device plug-in.

    Kai's SuperGOO 1.0 Out Panel on MacOS 8.1.

    By clicking on the middle bubble to the right, the user comes to the “Out Panel,” which gives options to save the image, print the image, save the currently displayed Fusion generated face, copy the Fusion generated face to the GOO Room, or export the currently displayed image to a plug-in (if installed and selected by the user).

    Kai’s SuperGOO is an interesting approach to generating images of people using algorithms. In this case, randomizing carefully edited pieces that seamlessly, more or less, fit together. Unfortunately, the available options for mixing and matching faces are homogeneous and tend toward lighter skin tones and limited facial features. While importing any face or image into the software is an option, the Fusion feature is crippled in terms of representation options available to the user.

  • Lexikon-Sonate 3.0, an Algorithmic Music Generator for Macintosh

    Lexikon-Sonate 3.0 application folder on Macintosh System 7.5.5 system emulated in SheepShaver.

    Lexikon-Sonate 3.0 is a program that generates music algorithmically. Karlheinz Essl, the Austrian composer and performer, began developing this software in 1992 and released it as Shareware. Essl continued developing the software until 2020 and released the latest versions for Windows and MacOS as freeware with a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.

    In the included Word doc named “About Lexikon-Sonate,” Essel writes that the software is “An Interactive Realtime Composition for Computer-Controlled Piano.” He expands on this in the abstract for the software, “Lexikon-Sonate is a work in progress which was started in 1992. Instead of being a composition in which the structure is fixed by notation, it manifests itself as a computer program that composes the piece – or, more precisely: an excerpt of a virtually endless piano piece – in real time. Lexikon-Sonate lacks two characteristics of a traditional piano piece: 1) there is no pre-composed text to be interpreted, and 2) there is no need for an interpreter. Instead, the instructions for playing the piano – the indication “which key should be pressed how quickly and held down for how long” – are directly generated by a computer program and transmitted immediately to a player piano which executes them. In this paper I will describe from where I started and how I arrived at the concept of an infinite interactive realtime composition.” The rest of the Word doc file is a detailed guide that explains its origins, how it works, and how to use it.

    For this post, I tried out Lexikon-Sonate 3.0 on Macintosh System 7.5.5 with Quicktime 4.1.2 installed so that it had access to Quicktime Instruments instead of MIDI output playback.

    Lexikon-Sonate 3.0 application info window on Macintosh System 7.5.5 system emulated in SheepShaver.

    The Lexikon-Sonate_3.0 application Get Info window reports that it is version 3.0 dated 4 April 2002. It is 2.4MB in size, and its minimum memory requirement is 8,932K and its preferred size is 16,932K. The Comments box includes a brief description of “algorithmic music generator” and a link to Essl’s website for Lexikon-Sonate.

    Lexikon-Sonate 3.0 application Status window on Macintosh System 7.5.5 system emulated in SheepShaver.

    When you first open Lexikon-Sonate, the Status window on the right serves as a console reporting information like settings, loading modules, and the amount of free memory. It falls into the background when the primary interactive windows load below.

    Lexikon-Sonate 3.0 application main window and Control window on Macintosh System 7.5.5 system emulated in SheepShaver.

    The main Lexikon-Sonate_3.0 window is on the left and the Control window is on the right. The main window shows the available algorithm music generating modules at the top, which can be selected in a sequence of up to 3 by clicking the grey circle to the left of each module. The selected modules will appear in the “Combination of Structure Generator” box at the bottom of the Control window on the right.

    Lexikon-Sonate 3.0 three modules selected are playing notes on the keyboard on Macintosh System 7.5.5 system emulated in SheepShaver.

    As the program begins to play music created by these algorithms, the keys illuminate to show what keys and chords are being played along with the dynamic slider. The sustain and soft pedals can be activated by the user by pressing the Space Bar or # respectively. Pressing the Escape key halts the current music generation.

    Lexikon-Sonate 3.0 is in auto mode selecting modules and playing notes on the keyboard Macintosh System 7.5.5 system emulated in SheepShaver.

    If the user clicks on “auto” in the Control window or presses the Return key, the software will cycle through modules on its own giving the software total control of the music generation process.

    Lexikon-Sonate 3.0 > Record Menu > Start or Stop on Macintosh System 7.5.5 system emulated in SheepShaver.

    If this version of the software were registered, you have access to the Record > Start or Stop feature.

    Lexikon-Sonate 3.0 > Apple Menu > About Lexikon-Sonate on Macintosh System 7.5.5 system emulated in SheepShaver.

    The Apple menu > About Lexikon-Sonate has a detailed window summarizing how the software works.

    Lexikon-Sonate 3.0's About window on Macintosh System 7.5.5 system emulated in SheepShaver.

    The descriptive About window in Lexikon-Sonate 3.0.

    Lexikon-Sonate 3.0 > Edit menu on Macintosh System 7.5.5 system emulated in SheepShaver.

    The Edit menu with an option for “Overdrive” pre-selected.

    Lexikon-Sonate 3.0 > Windows menu on Macintosh System 7.5.5 system emulated in SheepShaver.

    The Windows menu listing its three windows: Status (the console in the background), Lexikon-Sonate_3.0 (main window on the left), and Control (the main control window for starting and stopping play on the right).

    Lexikon-Sonate 3.0 > Settings menu on Macintosh System 7.5.5 system emulated in SheepShaver.

    From the Settings menu, Setup opens a new window with settings for playback and MIDI (see below). The Control option opens the Control window. Hotkeys does not seem to do anything on my installation.

    Lexikon-Sonate 3.0 > Setup window on Macintosh System 7.5.5 system emulated in SheepShaver.

    Since I don’t have a MIDI device (and they can be difficult to configure with Sheepshaver anyways), I opted to play through Quicktime (automatically selected by default). There are other settings for MIDI and logging on this window, too.

    Lexikon-Sonate seems like a remarkable piece of software that I wish that I had known about many years ago. It would have been something I would have enjoyed experimenting with.

    Also, Essl has created remarkable recordings and made interesting performances using his software, some of which are shared in videos on his website here.

  • New OER Launched: Yet Another Science Fiction Textbook (YASFT)

    Woman astronaut wearing an exosuit is reading a book in a futuristic library. A tall alien male is standing in the background selecting a book off the shelf. Image created with Stable Diffusion.

    I’m very happy to announce the launch of a new open educational resource (OER) that I’ve been working on for awhile!

    It’s called Yet Another Science Fiction Textbook (YASFT). It’s over 60,000 words and includes additional resources that can be helpful for readers, students, and instructors.

    YASFT is released under an Attribution-NonCommercial-ShareAlike 4.0 International Creative Commons License. It’s freely available to be read as it is. However, if anyone would like to use it in another way, there are licensing terms that must be followed: “This license requires that reusers give credit to the creator. It allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, for noncommercial purposes only. If others modify or adapt the material, they must license the modified material under identical terms.”

    You can find YASFT under the Teaching menu above or directly here.

    Its abstract and table of contents are included below.

    Abstract

    Yet Another Science Fiction Textbook (YASFT) is an open educational resource or OER, meaning it is freely available for anyone to use and learn with. It provides a chronological history of Science Fiction (SF) with an emphasis on literature and film, and it includes other useful resources, such as a glossary of terms, an extensive list of SF definitions, additional resources, a syllabus with hyperlinked readings available online, and video lectures. It tells a story, but not the only story, about SF history. It’s also an experiment in using generative artificial intelligence (AI) to assist with editing a large body of text, in this case over 60,000 words.

    Table of Contents

        Front Matter
    What is YASFT?
    Who made YASFT?
    Why was YASFT made?
    Why is it called YASFT?
    How can YASFT be used?
    How was YASFT made?
    Acknowledgements
    Preface
    Origins of Science Fiction
    Early Fantastic Stories
    Scientific Revolution
    Age of Enlightenment
    Romanticism
    The Gothic
    Mary Shelley’s Frankenstein
    Science-Saturated Novel
    Victor Frankenstein’s Hubris
    Critique of the Age of Enlightenment
    Tabula Rasa
    Proto-SF
    Historical Context
    Edgar Allan Poe
    Nathaniel Hawthorne
    Jules Verne
    H. G. Wells
    E. M. Forster
    Pulp SF
    Historical Context
    Overview of Pulp SF
    Hugo Gernsback
    E. E. “Doc” Smith
    C. L. Moore
    Edgar Rice Burroughs
    H. P. Lovecraft
    SF Film Serials of the 1930s and 1940s
    Buck Rogers
    Flash Gordon
    Golden Age SF
    Historical Context
    Overview of Golden Age SF
    John W. Campbell, Jr.
    Isaac Asimov
    Ray Bradbury
    Robert A. Heinlein
    Frank Herbert
    Tom Godwin
    SF Film Through the 1950s
    Film vs. Literature
    Early SF Film
    1950s SF Film Boom
    Forbidden Planet
    New Wave SF
    Historical Context
    Overview of New Wave SF
    J.G. Ballard
    Harlan Ellison
    Philip K. Dick
    Samuel R. Delany
    Star Trek
    “The City on the Edge of Forever”
    Feminist SF
    Historical Context
    Beginnings of Feminist SF
    Definitions of Feminist SF
    Joanna Russ
    Marge Piercy
    Pamela Zoline
    James Tiptree, Jr.
    Ursula K. Le Guin
    Octavia E. Butler
    Afrofuturism
    Steven Barnes
    Tananarive Due
    Nalo Hopkinson
    Nnedi Okorafor
    Cyberpunk
    Historical Context
    Coining the Cyberpunk Term
    Cyberpunk Characteristics
    William Gibson
    Sprawl Trilogy and Stories
    Hermes 2000 and Floppy Disk eBooks
    The X-Files, “Kill Switch”
    Bruce Sterling
    Pat Cadigan
    Contemporary Science Fiction
    Historical Context
    Ted Chiang
    N. K. Jemisin
    Cory Doctorow
    Charlie Jane Anders
    Martha Wells
    Mary Robinette Kowal
    Ken Liu
    R. F. Kuang
    SF Film from 1960 Onward
    1960s
    1970s
    1980s
    1990s
    2000s
    2010s
    Global Perspective: Taiwanese SF
    Brief Taiwanese History
    Taiwanese SF Overview
    Taiwanese Fandom
    Cultural Comparisons
    Issues with Translation
    How to Keep Up With Science Fiction
    Appendices
    Appendix 1: Glossary of Science Fiction Terms
    Appendix 2: Chronological List of SF Definitions of Science Fiction with MLA Citations
    Appendix 3: Further Reading
    Textbooks
    Readers
    Teaching
    Online Research
    Appendix 4: Sample Syllabus with Hyperlinked Readings
    Appendix 5: Lecture Videos
    Appendix 6: Version History