SlideShare a Scribd company logo

BEFLIX

BEFLIX is an embedded domain-specific language for generating computer animated films. BEFLIX was created by Ken Knowlton in 1963 for the IBM 7090 mainframe computer with a Stromberg-Carlson SC2040 microfilm recorder for output. Ken Knowlton created BEFLIX while working at Bell Laboratories and used it to make a number of artistic, educational and engineering films.

1 of 35
Download to read offline
Richard Thomson
Director, Computer Graphics Museum
@CGMuseum
http://ComputerGraphicsMuseum.org
info@ComputerGraphicsMuseum.org
BEFLIX First Publication
"A Computer Technique for
Producing Animated Movies",
Kenneth C. Knowlton
AFIPS Conference Proceedings 25
(Spring Joint Computer Conference 1964)
Hardware Environment
 IBM 7090 computer
 Card keypunch
 Card reader
 Line printer
 Magnetic tape drive
 Disc drive
 Stromberg-Carlson 4020 microfilm recorder
IBM 7090 Computer
 IBM's first transistor based mainframe
 First install November, 1959
 Typical cost $2.9 million in 1960
 Evolution of IBM 709 vacuum tube
mainframe
 Created for scientific/engineering markets
 NASA: Mercury, Gemini and Apollo
 JPL: Space Flight Operations Facility
 American Airlines: SABRE
IBM 7090 Computer
 3 index registers
 227 instructions
 single-precision floating-point (36-bits)
 36-bit words
 32,768 words of core memory
 2.18 µs memory cycle time
 4.36 µs floating-point add time
 4.36-30.53 µs floating-point multiply time
IBM 7090 CPU and Memory

Recommended

Медіаграмотність на уроках суспільних дисциплін
Медіаграмотність на уроках суспільних дисциплінМедіаграмотність на уроках суспільних дисциплін
Медіаграмотність на уроках суспільних дисциплінНаталія Касарда
 
6 mm kondr_ua_2014
6 mm kondr_ua_20146 mm kondr_ua_2014
6 mm kondr_ua_20146klas
 
Ulang kaji teori bahagian 4 oleh Norazmi Hasshim
Ulang kaji teori bahagian 4 oleh Norazmi HasshimUlang kaji teori bahagian 4 oleh Norazmi Hasshim
Ulang kaji teori bahagian 4 oleh Norazmi HasshimNorhayati Ismail
 
C traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmersC traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmersRichard Thomson
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 

More Related Content

Similar to BEFLIX

AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEAU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEThiyagarajan G
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secretsicastano
 
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)Matthew O'Toole
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNsAuro Tripathy
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...inside-BigData.com
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion CullingIntel® Software
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesDouglas Lanman
 
Studio and Outdoor Production
Studio and Outdoor ProductionStudio and Outdoor Production
Studio and Outdoor ProductionMila
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmJyotiraman De
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Saajid Akram
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกjibbie23
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกjibbie23
 

Similar to BEFLIX (20)

lecture2 computer graphics graphics hardware(Computer graphics tutorials)
 lecture2  computer graphics graphics hardware(Computer graphics tutorials) lecture2  computer graphics graphics hardware(Computer graphics tutorials)
lecture2 computer graphics graphics hardware(Computer graphics tutorials)
 
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEAU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secrets
 
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
 
lecture4 raster details in computer graphics(Computer graphics tutorials)
lecture4 raster details in computer graphics(Computer graphics tutorials)lecture4 raster details in computer graphics(Computer graphics tutorials)
lecture4 raster details in computer graphics(Computer graphics tutorials)
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNs
 
Cg Chap 02
Cg Chap 02Cg Chap 02
Cg Chap 02
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion Culling
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
 
Cg lab cse-v (1) (1)
Cg lab cse-v (1) (1)Cg lab cse-v (1) (1)
Cg lab cse-v (1) (1)
 
Ect114 Essay
Ect114 EssayEct114 Essay
Ect114 Essay
 
Reyes
ReyesReyes
Reyes
 
Studio and Outdoor Production
Studio and Outdoor ProductionStudio and Outdoor Production
Studio and Outdoor Production
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal Algorithm
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
 

More from Richard Thomson

Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfVintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfRichard Thomson
 
Automated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashAutomated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashRichard Thomson
 
Feature and platform testing with CMake
Feature and platform testing with CMakeFeature and platform testing with CMake
Feature and platform testing with CMakeRichard Thomson
 
Consuming Libraries with CMake
Consuming Libraries with CMakeConsuming Libraries with CMake
Consuming Libraries with CMakeRichard Thomson
 
SIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsSIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsRichard Thomson
 
Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Richard Thomson
 
Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Richard Thomson
 

More from Richard Thomson (9)

Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfVintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
 
Automated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashAutomated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDash
 
Feature and platform testing with CMake
Feature and platform testing with CMakeFeature and platform testing with CMake
Feature and platform testing with CMake
 
Consuming Libraries with CMake
Consuming Libraries with CMakeConsuming Libraries with CMake
Consuming Libraries with CMake
 
SIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsSIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler Intrinsics
 
Modern C++
Modern C++Modern C++
Modern C++
 
Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++
 
Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++
 
Web mashups with NodeJS
Web mashups with NodeJSWeb mashups with NodeJS
Web mashups with NodeJS
 

Recently uploaded

SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementISPMAIndia
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxMindInventory
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...ISPMAIndia
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!alttaskcom
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash CourseRohan Chandane
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfssuser82c38d
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio, Inc.
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019VICTOR MAESTRE RAMIREZ
 
Cybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCIOWomenMagazine
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Fermin Galan
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowNaoki (Neo) SATO
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Dmitry Zinoviev
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetMatthewTHawley
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A..."Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...ISPMAIndia
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!Anthony Dahanne
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...emili denli
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Jeffrey Haguewood
 

Recently uploaded (20)

SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product Management
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptx
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash Course
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdf
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019
 
Cybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdf
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flow
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 Smartsheet
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A..."Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
"Discovery and Delivery through Product IntelliGenAI framework" by Ramkumar A...
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 
eLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdfeLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdf
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)
 

BEFLIX

  • 1. Richard Thomson Director, Computer Graphics Museum @CGMuseum http://ComputerGraphicsMuseum.org info@ComputerGraphicsMuseum.org
  • 2. BEFLIX First Publication "A Computer Technique for Producing Animated Movies", Kenneth C. Knowlton AFIPS Conference Proceedings 25 (Spring Joint Computer Conference 1964)
  • 3. Hardware Environment  IBM 7090 computer  Card keypunch  Card reader  Line printer  Magnetic tape drive  Disc drive  Stromberg-Carlson 4020 microfilm recorder
  • 4. IBM 7090 Computer  IBM's first transistor based mainframe  First install November, 1959  Typical cost $2.9 million in 1960  Evolution of IBM 709 vacuum tube mainframe  Created for scientific/engineering markets  NASA: Mercury, Gemini and Apollo  JPL: Space Flight Operations Facility  American Airlines: SABRE
  • 5. IBM 7090 Computer  3 index registers  227 instructions  single-precision floating-point (36-bits)  36-bit words  32,768 words of core memory  2.18 µs memory cycle time  4.36 µs floating-point add time  4.36-30.53 µs floating-point multiply time
  • 6. IBM 7090 CPU and Memory
  • 10. Stromberg-Carlson 4020 Microfilm Recorder  Magtape drive for input  Charactron tube for creating image  16mm or 35mm film camera  Character beam can be defocused  Draw grayscale pixels as character blobs
  • 12. Language  BEFLIX is an Embedded DSL  Embedded ○ Embedded in another language ○ Hosted in FORTRAN II environment ○ Uses FAP (FORTRAN II Assembly Program) macro language constructs  Domain-Specific Language ○ Represent concepts from the problem domain directly
  • 13. Programming Model  Memory organized into surfaces  Coarse resolution: 126x92  Fine resolution: 252x184  3 bits/pixel  12 pixels/word  Enough memory to hold 2 fine resolution frames
  • 14. Fine Surface Designators Fine resolution alternatives: AA 252x184 BB 252x184 CC 252x368 VV 252x368
  • 15. Coarse Surface Designators Coarse resolution alternatives: WW 126x92 XX 126x92 YY 126x92 ZZ 126x92 PP 252x92 OO 378x92 FF 504x92 PP or WW, XX OO or WW, XX, YY FF or WW, XX, YY, ZZ
  • 16. Coarse Surface Designators Coarse resolution alternatives: WW 126x92 XX 126x92 YY 126x92 ZZ 126x92 TT or YY, ZZ SS or XX, YY, ZZ EE or WW, XX, YY, ZZ EE or AA TT 126x184 SS 126x276 EE 126x368
  • 17. Scanners  Scanners are named A...Z  Scanners live on a surface  Scanners have:  A coordinate within the surface  A value read from the surface  Manipulate a surface by conditionally performing operations on a scanner or between two scanners
  • 18. Low Level Operations  Place a scanner at a location on a surface  PLACE sc, surf, x, y  Conditionally perform some operations and jump  IFxxx (c1)...(cN)T(o1)...(oM)label  Evaluate each condition c1...cN  Combine them according to logical predicate xxx  If true, perform operations o1...oM  Optionally jump to label
  • 19. Low Level Operation Example IFANY (B,R,10)(B,A,C)(A,E,7)T(A,T,B)(A,U,2)(A,W,3)LOC5 If any of the following are true:  scanner B is Right of x=10  scanner B is Above scanner C  scanner A is sitting on a number Equal to 7 Then the following operations are performed:  scanner A moves To the same surface and pixel as scanner B  scanner A moves Up 2 pixels  scanner A Writes the number 3 to its pixel Then control jumps to the label LOC5 in the program.
  • 20. Scanner Conditions  Conditions are of the form (scnr,rel,quant)  scnr name of the scanner to be tested  rel relation between scanner and quant  quant can be a number or another scanner
  • 21. Scanner Comparison Relations  Compare scanner position to a value  Compare positions of two scanners  Compare scanner pixel to a value  Compare pixel between scanners
  • 22. Scanner Move Operations  Move to absolute X or Y coordinate  Move relative along X or Y axis  Move to surface and position of other scanner  Move to X or Y coordinate of another scanner without changing surfaces  Move one square based other scanner's pixel  Scanners wrap around surface boundaries in a helix
  • 23. Scanner Pixel Operations  Write pixel from value or other scanner's pixel  Write complement of other scanner's pixel  Exchange pixels between two scanners  +, -, *, / between two scanners (modulo 8)  bitwise OR and AND between two scanners
  • 24. Static and Dynamic Operations  Static operations happen immediately  Dynamic operations occur over multiple frames
  • 25. High Level Operations  Output control and temporary storage of pictures  Drawing primitives (line, arc, polyline, text)  BitBlt like operations on rectangular areas  Dynamic operations on rectangular areas  Macros using low-level operations
  • 26. Output Operations CAMERA n FRAMES n FILTER n TABLE n,c0,...,c7 AIM sc SAMPLE n LINES n FILM NOFILM UNTIL n,label RESET n COARSE FINE STORE surf,where RETREV surf,where
  • 27. Drawing Primitives LINE sc1,sc2,mode,ns,width,speed ARC sc1,ctr,d,mode,ns,w,speed,t1,w1,t2,q2 TRACE lb1,len,sc,orient,mode,ns,width,speed TYPE lb2,sc,size,hspace,vspace,mode,ns lb1 OCT n,(curve to be drawn by TRACE) lb2 BCI n,(text to be drawn by TYPE)
  • 28. Instant Rectangle Operations PAINT scTR,scBL,mode,ns BORDER scTR,scBL,width,mode,ns SHIFT scTR,scBL,dir,amount ROTATE scTR,scBL,dir,amount[,n] EXPAND scTR,scBL,dir,rep1,rep2 SQUASH scTR,scBL,dir,del,kp COPY scTR,scBL,mode,orient,sc3,sc4[,n] CENTER scTR,scBL GROW scTR,scBL,ns1,ns2,ns3,label SMOOTH scTR,scBL
  • 29. Dynamic Rectangle Operations DISOLV scTR,scBL,sc3,pat ZOOMIN scTR,scBL,fctr REDUCE scTR,scBL,fctr STRECH scTR,scBL,dir,fctr PRESS scTR,scBL,dir,fctr
  • 30. The Master Film  The SC2040 produces a master film  Duplicate frames are output only once  A repeat count is written above the frame  Repeated frames are duplicated by optical printing when the film is developed
  • 31. Workflow 1. Develop program in BEFLIX 2. Preview output samples on printout 3. Run program to create magtape 4. Load magtape into microfilm recorder 5. Produce master film 6. Optical print/expand to create work print
  • 32. Stan VanDerBeek Artist Stan VanDerBeek collaborated with Ken Knowlton on a series of films:  Poem Field No. 1 (1965)  Poem Field No. 2 (1966)  Poem Field No. 3 (1967)  Poem Field No. 4 (no date)  Poem Field No. 5 (1967)  Poem Field No. 6 (no date)  Poem Field No. 7 (1971)  Poem Field No. 8 (no date)  Collido-Oscope (1966) (VanDerBeek, Knowlton and Bosche)  Man and His World, 1967 (Shown at Expo '67)
  • 33. Poem Field No. 2 View the Video
  • 34. Looking Back at BEFLIX  BEFLIX is considered an "esoteric" programming language  Its unique syntax depends on the macro facilities of FAP  Later FORTRAN IV version resembled more traditional subroutine library  First(?) language for procedural animation
  • 35. Museum Exhibit Futures?  7090 simulation with BEFLIX implementation  No known source to BEFLIX exists?  7090 simulation is boring  7090 real experience was physical  VR exhibit?  BEFLIX IDE  Open source IDE to explore BEFLIX programs  Evolve BEFLIX to a GPU oriented language  Produce procedural moves in real-time