Placeholder Image

Subtitles section Play video

  • Welcome to my talk, recreating retro computer Art with JavaScript.

  • And my name is Sher Minn.

  • It's a little bit of an unusual name.

  • Downside is online forums don't like it when you have a space in your name.

  • I'll be here working on clientside validation, keep that in mind.

  • On the bright side, my SEO is really great.

  • If you look up my name, it's the first result and I didn't have to do anything.

  • So, life is good.

  • I am from a small country in southeast Asia called Malaysia.

  • And yeah.

  • We have actually another Malaysian in the house here that was on the stage at CSSconf.

  • Proud to represent my country.

  • And I live in New York right now where I initially moved to attend something called the recurse

  • Center.

  • RC in the house.

  • For those who don't know what the recurse Center, it's based in New York City for programmers.

  • 6, 8 or 12 weeks and you can rediscover can the joy in programming.

  • If you want to take time to learn something you have been meaning to learn, this is a

  • great place to do it.

  • And I plug it because this is the reason why I'm giving this talk here today.

  • Everything they have provided me has enabled me to pursue creative programming.

  • Creative programming.

  • I like art a lot.

  • I learned thousand draw before I learned how to code.

  • Here are some of the pieces of work that I've made in the past year.

  • And I really enjoy using programming to create code.

  • And most recently I have been really inspired by retro computer art.

  • So, what happened was that I discovered this magazine from 1976 to 1978.

  • And it was edited by a computer artist, Gracie Hertlein based in California in the United

  • States.

  • This was the first ever computer magazine entirely dedicated to computer graphics and

  • art.

  • You can see the title, inexpensive graphics in the storage category, really dates it.

  • And I got these images from a website called the recode project.com.

  • The site is no longer up.

  • But it was a great resource to look through what was cutting edge graphics back then.

  • And as you can see, it's mostly black and white, textbased, lines, geometric shapes.

  • Today we would call it minimalist or Lofi as an esthetic.

  • It was fun to look at and think about because most of the times the work published is just

  • the artwork itself.

  • There wasn't a lot of algorithms.

  • Most of the time there would be some description of the technology used and maybe some of the

  • techniques, but no actual algorithms.

  • So, the whole purpose of the website that posted this magazine, the archive for this

  • magazine were like, can we try to reverse engineer it.

  • Can we look at a piece and figure out how it was made?

  • And so, this exactly what I sort of fell into.

  • And so, this entire talk will be about the research that I did and also some of the attempts

  • at recreating these works.

  • Let's first talk about computer art.

  • What is computer art?

  • A lot of us have an idea what have computer art is.

  • It's probably right.

  • In my definition, computer art is the art that computers play a part in the creation

  • of the artwork.

  • That's using Photoshop or Illustrator or 3D graphics, AR, VR, the latest hottest thing,

  • deep learning art, AI art.

  • But we're not talking about that today.

  • We're going it be talking about the really, really early years of computer graphics.

  • This is when computer graphics became accessible and it will be about how people took those

  • technologies and used it to make art.

  • So, the decade I'm focusing on is the 1950s it 1970s.

  • This was really the crucial part where computer art was just becoming a thing.

  • So, everything's in black and white.

  • So, to talk about retro computer art, we first need to talk about what computers were like

  • back then.

  • The reason being that context really matter when is you're talking about history.

  • And if you understand the tools and the techniques that are available to people at the time,

  • you can understand why certain pieces had a certain esthetic or, you know, why was it

  • done that way.

  • It helps you appreciate a lot of the work a little bit better.

  • Here is a computer that was introduced in 1959.

  • This is the IBM7099 data processing system.

  • Not just a computer, a data processing system.

  • Really fancy.

  • It would take up the entire room.

  • You can see the magnetic tape readers at the back, console and punch card readers.

  • And it was introduced at a really cool price of $3 million.

  • Back then.

  • If you converted it to currency today counting for inflation it would be something like $19

  • million US which is really, really expensive.

  • What this meant was that computer were really difficult to come by.

  • The people who could afford it were in universities, research labs, the military, government agencies.

  • They are very scarce as a resource.

  • Can you imagine calling IBM up and saying I would like to buy a computer for $19 million.

  • I'll write you a check, you know?

  • And most of the time people wouldn't interface with the computer.

  • They would write programs for it using a punch card writing like a typewriter.

  • And you punch the code and punch it into a punch card.

  • Take the stack of punch cards and hand it to a little old man behind the door and you

  • would get the results back five minutes later.

  • If you get impatient waiting for Webpack to building with think of this.

  • It takes a lot of time.

  • And there were many uses for scientific and mathematical applications mostly by scientists

  • or mathematicians in research labs or, you know, universities.

  • So, I want to show you some examples of companies that really converted to the field of computer

  • graphics.

  • The first coined the term computer graphics and they were one of the first few people

  • to use computer graphics in design work.

  • They used it to design cockpits to animate the different reaches of the limbs for the

  • pilot in the cockpit.

  • Simulations.

  • Here was the first airport that was made using computer graphics, the Seattle Tacoma Airport

  • in the United States.

  • And Bell Labs in the US, they made one of the first ever computergenerated films.

  • First what that might look like and then I'm going to show it to you.

  • Here it is, it is a simulation of a control system from 1963.

  • And it's supercute.

  • It's a satellite revolving around a planet.

  • The early graphics were mostly designed to model or maybe just, you know, demonstrate

  • some diagrams.

  • And so, like this really simple graph of straight lines, geometric shapes, black and white,

  • that was sufficient for their purposes.

  • This is wonderful.

  • No fancy colors or gradients or anything like that.

  • And yet, you know, art happened anyway.

  • People look the limited technology they had and did something really wonderful with it.

  • So, I'm going to talk about three different types of art.

  • I just chose examples from each category.

  • And I'll show you some oscilloscope art, some graphics and some textbased art and my attempts

  • at recreating them.

  • Let's start with oscilloscope art.

  • So, cathode ray oscilloscopes.

  • If you have been in a lab or school, played with one.

  • And this is what an oscilloscope is, or this is what it looked like in the 1950s.

  • It is a device that takes electrical signals and converts them into a visual over here.

  • So, here we have an example of a sine wave on an oscilloscope.

  • This is like a little bit before, you know, the IBM7090.

  • And here on the left is a picture of Ben Laposky, credited to be one of the first few people

  • who created electronic graphics.

  • And so, what I mean by that is he would plot interesting patterns on so the oscilloscope

  • and he would then photograph them and here is some of his works.

  • And what's really interesting about them is they look really ghostly.

  • Really kind of organic a way.

  • But you can sort of tell they had this sort of mathematical quality to it.

  • A few more.

  • Around the same time actually in Europe also there was a movement getting started in computer

  • art.

  • Herbert W. Franke, we created his own electronic artwork using oscilloscopes.

  • Here is some of his work.

  • So, the interesting thing to note about this, oscilloscopes don't have a screenshot button.

  • You don't press screenshot, and this is going to come out.

  • So, in order to capture these images, what they would do is set the camera in front of

  • the screen and leave it on long exposure.

  • It captures the movement of lines and graphics on the screen.

  • What you're seeing here is not just a single snapshot.

  • It is a combination of events on a screen over time.

  • And so, here actually is an example of the same like event, but two different phases

  • of it.

  • And I think it looks really beautiful like a ghostly jelly fish.

  • And more works by him.

  • And how to do this, draw sine waves on an oscilloscope.

  • But how to get from that to that?

  • There was a little bit of an explanation in recreational math mat irks and he used the

  • sine waves and others in combination.

  • Applying operations to create composite waves that had really interesting patterns.

  • Here is an example of the work that makes is really obvious that there is a bit of a

  • sine wave thing going on.

  • And I was like, how okay.

  • I get it.

  • But how well, how are these really made?

  • I attempted to create it.

  • I'm going to show you a demo here of creation of Lapsoky's Oscillons.

  • And I'm going to use P5JS, which is a graphics drawing library based on processing.

  • The processing language was designed to make drawing with code accessible for nonprogrammers.

  • It's super great if you're interested in trying out graphical things, I highly recommend checking

  • it out.

  • It's great reference and documentation, and it's an online editor.

  • Really easy to use so a good place to start.

  • Jump to demo.

  • In P5, off global draw function that will get called to draw a frame of your animation

  • or visual.

  • And so, in this I'm just doing something really simple.

  • Just setting the center of the canvas as zerozero and drawing a tiny circle here at zerozero

  • with the width and height of 10 pixels.

  • And that's not superinteresting.

  • What's more interesting is that you can animate things.

  • So, here I'm adding a little counter.

  • And incrementing it at every frame that's being drawn.

  • And using that value to position the coordinate of the little circle.

  • I can draw a circle, and the formula is R sine theta, what X equals, and R is R cost

  • data, and R is the circle.

  • Drawing circles in circles.

  • Circles are cool, but not superinteresting.

  • What's more interesting is you can mess around with theta and multiply it by two different

  • fragments, and you get a pretzel.

  • This is an example of a figure.

  • It's when your sign and cause functions are at different phases.

  • It creates interesting loopy effects.

  • All right.

  • So, what I can do now is I can have the pretzel and then draw an additional point.

  • Pretzel is one point.

  • And draw the ellipse over here.

  • And I can draw a line between those two points, and you get kind of that, but not quite still

  • because this overlaps.

  • And it keeps on getting brighter and brighter.

  • So, what you can do is that whoops.

  • You can fade out the lines as they're being drawn.

  • And this, I imagine, would be what that might look like on the oscilloscope screen.

  • A close approximation of it.

  • So, I have actually the code here in P5 demo.

  • I will send out a link to the slides on my Twitter after this so you can play with it

  • and you can sort of mess around with some of the values and run it and see how that

  • changes the movements or the effects.

  • It's kind of interesting because you never know what you're gonna get.

  • You just punch in stuff, that looks good.

  • Or not.

  • And you just have to figure out what you're looking for.

  • You can also add color here.

  • Instead of straight lines, I drew curves, same idea.

  • And, yeah, so, that's it for oscilloscope art.

  • Next, vector graphics.

  • Vector graphics has a special place in my heart.

  • I really enjoy working with it.

  • To understand why vector graphics are really important and they're mostly lines and geometric

  • shapes, we need to understand the output available in the computers.

  • This was before laser printers.

  • You couldn't print a highdefinition image really easily like we do now.

  • In order to create really detailed images, people would use mechanical plotters.

  • Think of it as a drawing robot.

  • It has a pen and can move on the Y or X axis across the surface of the paper and draw on

  • it.

  • This is a drum printer.

  • It moves the Y which is paper and the X which is the pen.

  • And so, the limitation with plotters is that all you have is literally a robot arm that

  • draws lines.

  • And so, you had to describe your graphics in terms of vectors.

  • So, you had to provide coordinates in which to move around.

  • Can't do colors or gradients or fancy things.

  • So, a lot of the esthetic back then had to do with lines, especially close together to

  • have the effects.

  • Here is one I saw a lot of.

  • The basic idea is you take a geometric shape and nest it and get the cool, swirly effect.

  • Okay.

  • Interesting.

  • Like it's just nested squares, whatever.

  • And in fact, it was so popular that it was the esthetic for cybernetic serendipity which

  • is the first ever computer exhibition that focused on computer art and held in the institute

  • of contemporary arts in London.

  • It was a really big deal at the time.

  • And the fact that they chose this for the graphics, I guess it must be really popular.

  • Inspires some imagination.

  • A little side note about Cybernetics Serendipity, it was by a Polish woman, Jasia Reichardt,

  • and she brought together the artists and showcased them.

  • And it's the name is a reference to the happy chance discoveries that you make with the

  • computer.

  • Sometimes it's random and you don't know what's going come out and sometimes it's really beautiful.

  • I saw this motif used over and over again in interesting ways.

  • I was like whatever, I don't know.

  • But later I found out this was actually a visualization to a calculus problem.

  • That makes sense, the early artists were people with access to computers, scientists and mathematicians.

  • The problem is like this, imagine four flies sitting on a card table and they start walking

  • at the same rate.

  • Each going towards the fly on the right.

  • The math in calculus is to find the path of each.

  • If I'm trying to solve it, cool.

  • I don't think about it.

  • It's not very interesting.

  • But if you visualize it over here with each color representing the path of a certain fly,

  • it actually looks you get that swirly effect.

  • And it gets really pretty when you draw lines between each of the different flies here.

  • And I also added pretty gradients.

  • Here is some video just in case the demo didn't work.

  • You know, got to be prepared.

  • And I found out that you could do this not just with four, but with three flies or five

  • or six.

  • And because of I have a computer that runs really fast and I can cue up for it, I can

  • run it as many times as I want.

  • And what I want to do with the shape is to tell it.

  • If you put them all together, these are triangles.

  • What's fun to see is when you look at this, the first that you see is not the triangle.

  • It's actually this spirallike shape.

  • And you don't want expect that to come out of this.

  • So, kind of like that emerging property.

  • Here is one with squares.

  • It's a shape that's really, really hypnotizing.

  • So, All right.

  • And now I'm going to tell you about textbased art.

  • Some of you are thinking ASCII, right?

  • I will talk about that.

  • First, I want to talk about what was it like outputting text.

  • So, there were CRT monitors, but they had an output.

  • Here is a line printer for the '60s, I believe.

  • And it's a line printer because it prints by lines and does that really fast because

  • it has a fixed character set.

  • You can only print certain characters.

  • Just goes line by line.

  • Supergreat are for printing out text.

  • And so, people figured out ways to make creative works with this.

  • Here, a couple of pieces of work by Frederick Hammersley.

  • And you can see the images here.

  • I really like these two.

  • And the interesting thing about this, this was actually created with something called

  • the art one programming language.

  • And it was created by Katherine Nash and Richard H. Williams at a university in New Mexico.

  • Nash was from the art department and Williams was from the engineering department and they

  • collaborated to make this language with the intention to teach students to make simple

  • computer graphics.

  • It was notable for its simplicity and intended as an introduction to the use of computers

  • for those without a technological background.

  • And that sounds familiar, that sounds like P5 and processing.

  • That's really cool.

  • Art 1 was the original processing for P5.

  • This is from the '60s.

  • And if you look at the documentation, it may look more complicated for art 1, but the API

  • is the same thing.

  • You pass in the center of the ellipse and then the size of it.

  • And the same thing, and art 1, punch it on the card and do all that.

  • But the P5 is like type it in, magic.

  • Another interesting thing I noticed is if you look at the detail of some of these pieces,

  • you notice that the way that it creates its depth of texture is by overlooking characters.

  • You know they had the fixed set of characters.

  • And in order to get creative with more textures and effects, they would overlap two different

  • characters together.

  • This piece is made up entirely of zeros, dots, dashes and apostrophes.

  • And that was brilliant because you have a printer.

  • You can print over things.

  • Let's do it.

  • And I was really inspired by the fact this was really art that was making the most out

  • of the available technology.

  • Being creative with what they had instead of creating in spite of it.

  • And we still have this today, kind of.

  • Only difference is that it's not really SBR, it's more like EBCDIC, extended binary coded

  • decimal interchange code, supported by IBM at the time.

  • And it was even more limited than ASCII.

  • As you can see on the top of the character set.

  • It's a little hard to see.

  • But not a lot of characters.

  • I was curious, what was it like working in this language?

  • Original art one.

  • What features did they have?

  • What did they choose to include?

  • I did a little research and it's surprisingly hard to find things written about Art one.

  • The only thing where I found something significant was in the Reichardt book.

  • There was a flowchart talking about the languages.

  • And you can draw a line, solid rectangles, open rectangles, triangles, ellipses, and

  • I don't know why they had solid and open rectangles but not solid and open ellipse.

  • Not sure.

  • This was simple and straightforward and yet people can create interesting things out of

  • it.

  • I was inspired to recreate this using JavaScript.

  • I have here the code.

  • It's on GitHub.

  • Still a work in progress.

  • Please don't judge.

  • So, I was like, here's the thing.

  • I don't have a printer, right?

  • I'm not going to go out and buy a printer.

  • What's the closest thing we have to a printer that's easily accessible?

  • And I settled on the terminal.

  • Limited character set, wonderful, easy to use.

  • Here is an example of a piece of work that I created using the same rules that were available.

  • Art one.

  • And here these are made with triangles.

  • But they have interesting like 3D effect.

  • You can do colors with terminals.

  • Here's one that's actually inspired by the skirt that I'm wearing right now.

  • And so, you remember how I talked about how creative they got with overlapping characters?

  • So, here's the thing, turns out in a terminal it's really hard to overlap characters if

  • you're not using an extended library.

  • So, I was like, okay.

  • What's the next best thing I got?

  • Which is accents or diacritical marks.

  • You see for the Ss, there's an accent at the top and the bottom.

  • Same here, this is an asterisk and then the accent with the box around it.

  • And a lot of my interesting happy accidents.

  • Like the way that you color the background of the characters, sometimes it's a little

  • out of sync, but I like that effect.

  • So, yeah, use what you have.

  • I used Unicode.

  • Not quite SDR, but Unicode art and that was fun to play with.

  • This just skims the surface.

  • There's way, way, way so much more history in computer graphics and computer art.

  • In Europe alone, I tailored this talk for Europe because a lot of the history came out.

  • And Frieder Nake and Georg Nees, prolific computer artist in the '70s.

  • And from Hungary, making computer drawings before computer were a thing and also when

  • they were a thing.

  • And not to forget the new tendencies movement in what was once Yugoslavia and now Croatia.

  • And there's an 800page book on this.

  • If you want to look it up, the title is over here.

  • This is an interesting movement because they celebrate the modular or procedural art.

  • Even before computers were used for it.

  • And as computers became more and more known, they also became a part of this movement.

  • So, yeah.

  • Before I end I just want to talk a little bit about why?

  • Why go through all this research like looking at things from 60 years ago?

  • So, a thing that I noticed, especially in the web world, is that we are always looking

  • at, you know, what's new and what's shiny.

  • What can I do next?

  • And we don't take a lot of time to step back and to look at what has already been done.

  • But it's important to understand that we didn't all get here just on our own.

  • We really, you know, were built on the we really stand on the shoulders of giants.

  • It's really important to know where you came from.

  • Because if you don't know what has already been done, you don't know how to make something

  • new.

  • So, yeah.

  • This has given me a lot of appreciation for the technology we have today.

  • And, of course, there is no shame in finding inspiration from the past.

  • You can pick what has already been done and make it your own, refine it.

  • Learn from all these people who have put in all the work and creativity to get us where

  • we are here today.

  • And that's all I have for you.

  • I have a blog.

  • I write about this stuff if you're interested.

  • But, yeah.

  • It was such a pleasure.

  • [ Applause ]

Welcome to my talk, recreating retro computer Art with JavaScript.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it