Daniel Temkin and the Beauty of Esoteric Languages
Read full transcript 27 segments
-
One of the ones that really struck me, I One of the ones that really struck me, I would say my favorite is language 33 would say my favorite is language 33 would say my favorite is language 33 called Stroll. called Stroll. called Stroll. It made me think about like spy movies It made me think about like spy movies It made me think about like spy movies and things like sneakers and some of the and things like sneakers and some of the and things like sneakers and some of the classic movies of the '9s and how cool classic movies of the '9s and how cool classic movies of the '9s and how cool it would be if someone had encoded a it would be if someone had encoded a it would be if someone had encoded a programming language that required human programming language that required human programming language that required human beings to wander around a city or a town beings to wander around a city or a town beings to wander around a city or a town in order to get the program. help me in order to get the program. help me in order to get the program. help me understand what stroll is and why it understand what stroll is and why it understand what stroll is and why it requires three pedestrians and their requires three pedestrians and their requires three pedestrians and their routes in order to realize uh routes in order to realize uh routes in order to realize uh instructions you would feed into a instructions you would feed into a instructions you would feed into a computer. Hey friends, you probably knew computer. Hey friends, you probably knew computer. Hey friends, you probably knew that text control is a powerful library that text control is a powerful library that text control is a powerful library for document editing and PDF generation. for document editing and PDF generation. for document editing and PDF generation. But did you also know that they're a But did you also know that they're a But did you also know that they're a strong supporter of the developer strong supporter of the developer strong supporter of the developer community? And it's part of their community? And it's part of their community? And it's part of their mission to build and support a strong mission to build and support a strong mission to build and support a strong community by being present, by listening community by being present, by listening community by being present, by listening to users, and by sharing knowledge at to users, and by sharing knowledge at to users, and by sharing knowledge at conferences across Europe and the United conferences across Europe and the United conferences across Europe and the United States. If you're heading to a States. If you're heading to a States. If you're heading to a conference soon, maybe check if text conference soon, maybe check if text conference soon, maybe check if text control will be there. Stop by and say control will be there. Stop by and say control will be there. Stop by and say hi. You'll find their full conference hi. You'll find their full conference hi. You'll find their full conference calendar at textcontrol.com.
-
calendar at textcontrol.com. calendar at textcontrol.com. That's textcontrol.com. Hey friends, I'm Scott Hansselman. This Hey friends, I'm Scott Hansselman. This is another episode of Hansel Minutes. is another episode of Hansel Minutes. is another episode of Hansel Minutes. Today I'm chatting with Daniel Today I'm chatting with Daniel Today I'm chatting with Daniel Tempmpkin. He's the author of the new Tempmpkin. He's the author of the new Tempmpkin. He's the author of the new book 44 esolang. It's a monograph of book 44 esolang. It's a monograph of book 44 esolang. It's a monograph of esoteric programming languages. It's a esoteric programming languages. It's a esoteric programming languages. It's a love letter to weird coding languages. love letter to weird coding languages. love letter to weird coding languages. How are you, sir? How are you, sir? How are you, sir? >> I'm doing great, thank you. >> I'm doing great, thank you. >> I'm doing great, thank you. >> There's such precision in your in your >> There's such precision in your in your >> There's such precision in your in your language and in the choice of it is a language and in the choice of it is a language and in the choice of it is a monograph of esoteric programming monograph of esoteric programming monograph of esoteric programming languages. I tr showed it to my wife and languages. I tr showed it to my wife and languages. I tr showed it to my wife and she's like, "What is this? Is this is an she's like, "What is this? Is this is an she's like, "What is this? Is this is an essay? Is it a love letter?" I said, essay? Is it a love letter?" I said, essay? Is it a love letter?" I said, "No, it's a monograph." She's like, "No, it's a monograph." She's like, "No, it's a monograph." She's like, "What's a monograph? Well, how did you "What's a monograph? Well, how did you "What's a monograph? Well, how did you did you programming is all about did you programming is all about did you programming is all about intention and everything in this book is intention and everything in this book is intention and everything in this book is very intentional. Is the subtitle to very intentional. Is the subtitle to very intentional. Is the subtitle to your book also equally as intentional? your book also equally as intentional? your book also equally as intentional? >> Yes. So, this is a book that is aimed >> Yes. So, this is a book that is aimed >> Yes. So, this is a book that is aimed both at programmers and folks in the art both at programmers and folks in the art both at programmers and folks in the art world who I'd like to introduce to the world who I'd like to introduce to the world who I'd like to introduce to the idea of SLAs. And some of the language idea of SLAs. And some of the language idea of SLAs. And some of the language that I use, such as the word monograph, that I use, such as the word monograph, that I use, such as the word monograph, is really aimed more at the art crowd to is really aimed more at the art crowd to is really aimed more at the art crowd to tell them this is an art book. So, a lot tell them this is an art book. So, a lot tell them this is an art book. So, a lot of the language that I use in the book of the language that I use in the book of the language that I use in the book is aimed more at the art crowd. I feel is aimed more at the art crowd. I feel is aimed more at the art crowd. I feel in general that programmers if they come in general that programmers if they come in general that programmers if they come across terms that they're not familiar across terms that they're not familiar across terms that they're not familiar with, they'll look them up or they won't with, they'll look them up or they won't with, they'll look them up or they won't worry about them too much. But some of worry about them too much. But some of worry about them too much. But some of the technical terminology can be a the technical terminology can be a the technical terminology can be a little bit scary to the art crowd. So, I little bit scary to the art crowd. So, I little bit scary to the art crowd. So, I have a lot of stuff in here, a lot of have a lot of stuff in here, a lot of have a lot of stuff in here, a lot of references to conceptual artists who references to conceptual artists who references to conceptual artists who they're familiar with and using words they're familiar with and using words they're familiar with and using words like monograph to make it clear that
-
like monograph to make it clear that like monograph to make it clear that this is an art book ultimately. this is an art book ultimately. this is an art book ultimately. >> So, if an artist sees this, they're >> So, if an artist sees this, they're >> So, if an artist sees this, they're going to already know what monograph is. going to already know what monograph is. going to already know what monograph is. And while I'm not an artist, I looked it And while I'm not an artist, I looked it And while I'm not an artist, I looked it up immediately and I was like, "Oh, what up immediately and I was like, "Oh, what up immediately and I was like, "Oh, what a lovely and precise word." [gasps] a lovely and precise word." [gasps] a lovely and precise word." [gasps] I see. So, is this a coffee table book I see. So, is this a coffee table book I see. So, is this a coffee table book for artists? Are we So, you're for artists? Are we So, you're for artists? Are we So, you're introducing this to artists? Are you introducing this to artists? Are you introducing this to artists? Are you trying to create a legitimacy around trying to create a legitimacy around trying to create a legitimacy around esoteric languages or what is the esoteric languages or what is the esoteric languages or what is the bridge? Am I am I being introduced to bridge? Am I am I being introduced to bridge? Am I am I being introduced to art or are they being introduced to art or are they being introduced to art or are they being introduced to programming? programming? programming? I I think you know the the the main I I think you know the the the main I I think you know the the the main thing I want to do with this book for thing I want to do with this book for thing I want to do with this book for both audiences is to show them that both audiences is to show them that both audiences is to show them that there's more happening in SLAs than there's more happening in SLAs than there's more happening in SLAs than simple puzzle languages for programmers simple puzzle languages for programmers simple puzzle languages for programmers and joke languages with kind of si silly and joke languages with kind of si silly and joke languages with kind of si silly vocabulary. Uh I I feel like SLAs have vocabulary. Uh I I feel like SLAs have vocabulary. Uh I I feel like SLAs have in terms of how they're presented in in terms of how they're presented in in terms of how they're presented in public they often fall back at a kind of public they often fall back at a kind of public they often fall back at a kind of listical thinking where it's like oh listical thinking where it's like oh listical thinking where it's like oh here's a wacky programming language here's a wacky programming language here's a wacky programming language here's another wacky one. But one of here's another wacky one. But one of here's another wacky one. But one of them might be writing code in the style them might be writing code in the style them might be writing code in the style of Arnold Schwarzenegger which doesn't of Arnold Schwarzenegger which doesn't of Arnold Schwarzenegger which doesn't really give a lot of room for for really give a lot of room for for really give a lot of room for for exploration. Um and another one might be exploration. Um and another one might be exploration. Um and another one might be creating code uh in the form of images creating code uh in the form of images creating code uh in the form of images like the language pets. Um and that is like the language pets. Um and that is like the language pets. Um and that is has a a very um and and that language has a a very um and and that language has a a very um and and that language introduces or sorry that language allows introduces or sorry that language allows introduces or sorry that language allows for individual programmers to bring for individual programmers to bring for individual programmers to bring their own visual style to code and to their own visual style to code and to their own visual style to code and to really sort of stretch the aesthetics of really sort of stretch the aesthetics of really sort of stretch the aesthetics of of the Pete language and find their own of the Pete language and find their own of the Pete language and find their own style within it. And it it's much richer
-
style within it. And it it's much richer style within it. And it it's much richer in in terms of the exploration that it in in terms of the exploration that it in in terms of the exploration that it does. And so with this book, I I I'm does. And so with this book, I I I'm does. And so with this book, I I I'm really hoping to show people that really hoping to show people that really hoping to show people that there's more to SLAs than than they there's more to SLAs than than they there's more to SLAs than than they might have realized. might have realized. might have realized. >> So Pete is a made by David uh David >> So Pete is a made by David uh David >> So Pete is a made by David uh David Morgan Maher, if I recall. That's Morgan Maher, if I recall. That's Morgan Maher, if I recall. That's correct. Yes. correct. Yes. correct. Yes. >> Yeah. And the are is there is this a >> Yeah. And the are is there is this a >> Yeah. And the are is there is this a large community? Like I can think of large community? Like I can think of large community? Like I can think of four or five kind of figures in the four or five kind of figures in the four or five kind of figures in the space of of So Lang's uh you know, space of of So Lang's uh you know, space of of So Lang's uh you know, David, Chris Pressy, but it doesn't feel David, Chris Pressy, but it doesn't feel David, Chris Pressy, but it doesn't feel like it's the kind of thing that would like it's the kind of thing that would like it's the kind of thing that would fill a Reddit of millions of people. Is fill a Reddit of millions of people. Is fill a Reddit of millions of people. Is that a fair statement? that a fair statement? that a fair statement? >> Yeah, that that that's true. There are >> Yeah, that that that's true. There are >> Yeah, that that that's true. There are many programmers who are familiar with a many programmers who are familiar with a many programmers who are familiar with a few slangs. There are many high school few slangs. There are many high school few slangs. There are many high school and college kids who who create one SLA and college kids who who create one SLA and college kids who who create one SLA to sort of first learn how to create an to sort of first learn how to create an to sort of first learn how to create an interpreter or a compiler. uh and I interpreter or a compiler. uh and I interpreter or a compiler. uh and I think that that alone is something that think that that alone is something that think that that alone is something that that that's very valuable to encourage that that's very valuable to encourage that that's very valuable to encourage people to show that they are able to people to show that they are able to people to show that they are able to design a programming language of their design a programming language of their design a programming language of their own and SLAs are sort of a more natural own and SLAs are sort of a more natural own and SLAs are sort of a more natural place to do that because you can explore place to do that because you can explore place to do that because you can explore kind of a strange idea and it's kind of a strange idea and it's kind of a strange idea and it's immediately satisfying and you don't immediately satisfying and you don't immediately satisfying and you don't have to create like a linker for it uh have to create like a linker for it uh have to create like a linker for it uh if you don't want to because that's not if you don't want to because that's not if you don't want to because that's not sort of the expectation but so there are sort of the expectation but so there are sort of the expectation but so there are a lot of people who sort of dabble in a lot of people who sort of dabble in a lot of people who sort of dabble in SLAs or have created one or two at some SLAs or have created one or two at some SLAs or have created one or two at some point but the actual community of people point but the actual community of people point but the actual community of people who are kind for regularly producing who are kind for regularly producing who are kind for regularly producing SLANS uh is somewhat smaller and I've SLANS uh is somewhat smaller and I've SLANS uh is somewhat smaller and I've interviewed many of them for my blog interviewed many of them for my blog interviewed many of them for my blog esoteric codes.
-
esoteric codes. esoteric codes. >> Mh. >> Mh. >> Mh. >> So you know I got into SLanging kind of >> So you know I got into SLanging kind of >> So you know I got into SLanging kind of like 2007208 like 2007208 like 2007208 and at the time the documentation was and at the time the documentation was and at the time the documentation was very technical. You can go to the SLAN's very technical. You can go to the SLAN's very technical. You can go to the SLAN's wiki and if you look up one of the most wiki and if you look up one of the most wiki and if you look up one of the most commons brain [ __ ] what does it tell you commons brain [ __ ] what does it tell you commons brain [ __ ] what does it tell you about this? It tells you the name is about this? It tells you the name is about this? It tells you the name is offensive to some people. The second offensive to some people. The second offensive to some people. The second thing it tells you is that it starts thing it tells you is that it starts thing it tells you is that it starts with a memory block of 30,000 memory with a memory block of 30,000 memory with a memory block of 30,000 memory cells. These are like the least cells. These are like the least cells. These are like the least interesting things about the language. interesting things about the language. interesting things about the language. What's interesting about the language is What's interesting about the language is What's interesting about the language is that because there are only eight that because there are only eight that because there are only eight commands, you have to translate your commands, you have to translate your commands, you have to translate your algorithm into the these very simple algorithm into the these very simple algorithm into the these very simple steps which create this great complexity steps which create this great complexity steps which create this great complexity of of meaning uh almost immediately when of of meaning uh almost immediately when of of meaning uh almost immediately when you jump into the language and that you jump into the language and that you jump into the language and that people have done some sort of amazing people have done some sort of amazing people have done some sort of amazing things uh in this language. Someone things uh in this language. Someone things uh in this language. Someone built a web server that that runs in built a web server that that runs in built a web server that that runs in this. It's very slow but all this stuff this. It's very slow but all this stuff this. It's very slow but all this stuff is is is very impressive. is is is very impressive. is is is very impressive. So I started esoteric codes to talk to So I started esoteric codes to talk to So I started esoteric codes to talk to otherang other esangers in terms of the otherang other esangers in terms of the otherang other esangers in terms of the ideas behind their languages. What ideas behind their languages. What ideas behind their languages. What languages influence them? what concept languages influence them? what concept languages influence them? what concept were they trying to explore and trying were they trying to explore and trying were they trying to explore and trying to keep them away from the highly to keep them away from the highly to keep them away from the highly technical language which can be technical language which can be technical language which can be confounding to some people and and and confounding to some people and and and confounding to some people and and and sort of lock some people out of that sort of lock some people out of that sort of lock some people out of that space because they they don't understand space because they they don't understand space because they they don't understand and then in addition I interviewed and then in addition I interviewed and then in addition I interviewed digital poets and artists who uh who digital poets and artists who uh who digital poets and artists who uh who create work where you have to read the create work where you have to read the create work where you have to read the the the code to fully understand the the the code to fully understand the the the code to fully understand the work. that that's sort of my my cuto off work. that that's sort of my my cuto off work. that that's sort of my my cuto off point and kind of but mainly picking
-
point and kind of but mainly picking point and kind of but mainly picking people whose work makes sense in people whose work makes sense in people whose work makes sense in conversation with those SLAs to try to conversation with those SLAs to try to conversation with those SLAs to try to encourage people to go further with encourage people to go further with encourage people to go further with their ideas and create more of a larger their ideas and create more of a larger their ideas and create more of a larger community of people coming from these community of people coming from these community of people coming from these different spaces the hacker hobbyists different spaces the hacker hobbyists different spaces the hacker hobbyists the digital poets the digital artists the digital poets the digital artists the digital poets the digital artists and so on to bring them into and so on to bring them into and so on to bring them into conversation and encourage more work of conversation and encourage more work of conversation and encourage more work of this kind. Yeah, I think that you bring this kind. Yeah, I think that you bring this kind. Yeah, I think that you bring up a good point that a lot of us were up a good point that a lot of us were up a good point that a lot of us were introduced to these languages like I introduced to these languages like I introduced to these languages like I remember learning about Befunge in like remember learning about Befunge in like remember learning about Befunge in like 1993 1993 1993 and it was in the in the context of a and it was in the in the context of a and it was in the in the context of a class and it was a compiler class and it class and it was a compiler class and it class and it was a compiler class and it was about Lex and Yak and here's a weird was about Lex and Yak and here's a weird was about Lex and Yak and here's a weird language that someone's working on and language that someone's working on and language that someone's working on and you know it was just it was a kind of a you know it was just it was a kind of a you know it was just it was a kind of a trit acknowledgement that like it trit acknowledgement that like it trit acknowledgement that like it doesn't always have to look like doesn't always have to look like doesn't always have to look like English. It can be weird and it wasn't English. It can be weird and it wasn't English. It can be weird and it wasn't presented as art. It wasn't it was presented as art. It wasn't it was presented as art. It wasn't it was almost presented as like let's see how almost presented as like let's see how almost presented as like let's see how hard we can make programming almost like hard we can make programming almost like hard we can make programming almost like it was to be mean to a point and it was it was to be mean to a point and it was it was to be mean to a point and it was like you know some of these sangs are like you know some of these sangs are like you know some of these sangs are mean-spirited and then they're like mean-spirited and then they're like mean-spirited and then they're like let's see how complicated we can make it let's see how complicated we can make it let's see how complicated we can make it and mess with people's heads [snorts] and mess with people's heads [snorts] and mess with people's heads [snorts] you know like the brain f that you you know like the brain f that you you know like the brain f that you mentioned but that doesn't feel like art mentioned but that doesn't feel like art mentioned but that doesn't feel like art that's almost like like a caricature of that's almost like like a caricature of that's almost like like a caricature of a programmer because in the 90s there a programmer because in the 90s there a programmer because in the 90s there wasn't a lot of inclusion in programming wasn't a lot of inclusion in programming wasn't a lot of inclusion in programming so it was just like let's see how hard so it was just like let's see how hard so it was just like let's see how hard we can make and you know, Linux on the we can make and you know, Linux on the we can make and you know, Linux on the desktop, compile your own kernel. And uh desktop, compile your own kernel. And uh desktop, compile your own kernel. And uh I like things to be more like I like things to be more like I like things to be more like accessible. So I like the idea that this accessible. So I like the idea that this accessible. So I like the idea that this is an exploration of, you know, who said is an exploration of, you know, who said is an exploration of, you know, who said it needed to be like this? What if it it needed to be like this? What if it it needed to be like this? What if it was pretty and what if it was look like was pretty and what if it was look like was pretty and what if it was look like QR codes? And what if it was fun?
-
QR codes? And what if it was fun? QR codes? And what if it was fun? >> Yeah. Each of these languages is a >> Yeah. Each of these languages is a >> Yeah. Each of these languages is a creative exploration of some kind, you creative exploration of some kind, you creative exploration of some kind, you know, because we had the language false know, because we had the language false know, because we had the language false and that inspired a number of other and that inspired a number of other and that inspired a number of other languages. uh and and false had commands languages. uh and and false had commands languages. uh and and false had commands that were represented with one with one that were represented with one with one that were represented with one with one character. So you have brain [ __ ] which character. So you have brain [ __ ] which character. So you have brain [ __ ] which took that in one direction and then you took that in one direction and then you took that in one direction and then you have befunge which took it in another have befunge which took it in another have befunge which took it in another that said but once we have commands that that said but once we have commands that that said but once we have commands that are single characters we don't need to are single characters we don't need to are single characters we don't need to read from left to right if we don't want read from left to right if we don't want read from left to right if we don't want to we can read up and down we can go off to we can read up and down we can go off to we can read up and down we can go off the side and come back on the other side the side and come back on the other side the side and come back on the other side and so on let's do something with that and so on let's do something with that and so on let's do something with that and and I guess the impetus behind that and and I guess the impetus behind that and and I guess the impetus behind that was to make something that you could was to make something that you could was to make something that you could write an interpreter for but that would write an interpreter for but that would write an interpreter for but that would be the most difficult language to design be the most difficult language to design be the most difficult language to design a compiler for and so that that's really a compiler for and so that that's really a compiler for and so that that's really interesting but then on top of that then interesting but then on top of that then interesting but then on top of that then you have Pete coming later where the you have Pete coming later where the you have Pete coming later where the flow uh similarly kind of turns in flow uh similarly kind of turns in flow uh similarly kind of turns in different directions but now we're different directions but now we're different directions but now we're working with color instead of with working with color instead of with working with color instead of with characters. So I think that that's characters. So I think that that's characters. So I think that that's really indebted to befunge as well. Both really indebted to befunge as well. Both really indebted to befunge as well. Both are stack languages as well. So you can are stack languages as well. So you can are stack languages as well. So you can kind of see how each language sort of kind of see how each language sort of kind of see how each language sort of inspires the next and they are exploring inspires the next and they are exploring inspires the next and they are exploring these sort of less explored spaces of these sort of less explored spaces of these sort of less explored spaces of and possibilities of of language design.
-
and possibilities of of language design. and possibilities of of language design. >> Now there's 44 esangs in this book. Are >> Now there's 44 esangs in this book. Are >> Now there's 44 esangs in this book. Are all of them realized and we can go and all of them realized and we can go and all of them realized and we can go and get clone or are some of them get clone or are some of them get clone or are some of them theoretical they could exist and the theoretical they could exist and the theoretical they could exist and the rest is left as an exercise to the rest is left as an exercise to the rest is left as an exercise to the reader languages? reader languages? reader languages? >> Yeah, so these are languages that um >> Yeah, so these are languages that um >> Yeah, so these are languages that um each kind of in some way challenge each kind of in some way challenge each kind of in some way challenge conventional ideas of what a programming conventional ideas of what a programming conventional ideas of what a programming language is or what it's for or who it's language is or what it's for or who it's language is or what it's for or who it's for. for. for. And in some cases it means that it's And in some cases it means that it's And in some cases it means that it's going to lead to languages that are not going to lead to languages that are not going to lead to languages that are not uh realizable in any form. they they uh realizable in any form. they they uh realizable in any form. they they can't really be implemented. That could can't really be implemented. That could can't really be implemented. That could be because the language has a logical be because the language has a logical be because the language has a logical contradiction in its definition. It contradiction in its definition. It contradiction in its definition. It could be that there's no real point in could be that there's no real point in could be that there's no real point in implementing it because reading the implementing it because reading the implementing it because reading the prompt is enough to give you the idea of prompt is enough to give you the idea of prompt is enough to give you the idea of what the language is. And some are what the language is. And some are what the language is. And some are really just left for the reader to sort really just left for the reader to sort really just left for the reader to sort of have their own their own take on. So of have their own their own take on. So of have their own their own take on. So I I I think a lot about um the there's I I I think a lot about um the there's I I I think a lot about um the there's this this differentiation by Solowit, this this differentiation by Solowit, this this differentiation by Solowit, the conceptual artist, between the the conceptual artist, between the the conceptual artist, between the concept of a work and the idea of a concept of a work and the idea of a concept of a work and the idea of a work. And the comp the the concept of a work. And the comp the the concept of a work. And the comp the the concept of a work is somewhat handwavy. It's it's work is somewhat handwavy. It's it's work is somewhat handwavy. It's it's sort of the initial the it it's it's the sort of the initial the it it's it's the sort of the initial the it it's it's the initial concept. It doesn't have all the initial concept. It doesn't have all the initial concept. It doesn't have all the details filled in, but it gives the what details filled in, but it gives the what details filled in, but it gives the what the flavor of the work is and what the the flavor of the work is and what the the flavor of the work is and what the work is about. But then the idea fills work is about. But then the idea fills work is about. But then the idea fills in all the details. And it still doesn't in all the details. And it still doesn't in all the details. And it still doesn't mean that the thing becomes a physical mean that the thing becomes a physical mean that the thing becomes a physical object. It it could still just be an object. It it could still just be an object. It it could still just be an idea alone, but it has the details idea alone, but it has the details idea alone, but it has the details filled in that now it's much more filled in that now it's much more filled in that now it's much more specific. And and that's really what I specific. And and that's really what I specific. And and that's really what I wanted out of the realization is filling
-
wanted out of the realization is filling wanted out of the realization is filling in all those details because often it's in all those details because often it's in all those details because often it's surprising surprising surprising the decisions made in that in that the decisions made in that in that the decisions made in that in that prompt can lead to things in the prompt can lead to things in the prompt can lead to things in the realization that are sort of unexpected realization that are sort of unexpected realization that are sort of unexpected but are sort of inevitable because of of but are sort of inevitable because of of but are sort of inevitable because of of the because of what's defined in the the because of what's defined in the the because of what's defined in the prompt itself. So, the way the book is prompt itself. So, the way the book is prompt itself. So, the way the book is set up, you read all the prompts first set up, you read all the prompts first set up, you read all the prompts first without necessarily knowing which ones without necessarily knowing which ones without necessarily knowing which ones have been implemented or not. And then have been implemented or not. And then have been implemented or not. And then when you get to the second half of the when you get to the second half of the when you get to the second half of the book, you can see which ones uh were book, you can see which ones uh were book, you can see which ones uh were actually designed. actually designed. actually designed. >> Yeah. And I have to admit that that took >> Yeah. And I have to admit that that took >> Yeah. And I have to admit that that took me uh a back a bit because I was going me uh a back a bit because I was going me uh a back a bit because I was going through the book and I get around to through the book and I get around to through the book and I get around to page 20 and then it says prompts and I page 20 and then it says prompts and I page 20 and then it says prompts and I worry that that word prompts has been worry that that word prompts has been worry that that word prompts has been ruined by the AI AI Bros because I read ruined by the AI AI Bros because I read ruined by the AI AI Bros because I read them. Unfortunately, the word prompt has them. Unfortunately, the word prompt has them. Unfortunately, the word prompt has been co-opted and I read them as prompts been co-opted and I read them as prompts been co-opted and I read them as prompts that I would fit into a GPT. But this that I would fit into a GPT. But this that I would fit into a GPT. But this much of this work was done long before much of this work was done long before much of this work was done long before we we we had that word ruined. These we we we had that word ruined. These we we we had that word ruined. These aren't prompts to be fit fed into a aren't prompts to be fit fed into a aren't prompts to be fit fed into a chatbot. chatbot. chatbot. These are pitches. These are pitches These are pitches. These are pitches These are pitches. These are pitches like pitch. Pitch meang. Okay, here's an like pitch. Pitch meang. Okay, here's an like pitch. Pitch meang. Okay, here's an idea. Do this. It's a language except idea. Do this. It's a language except idea. Do this. It's a language except it's musical notes. It's it's a pitch, it's musical notes. It's it's a pitch, it's musical notes. It's it's a pitch, but prompt is the is the correct word.
-
but prompt is the is the correct word. but prompt is the is the correct word. You just had it stolen from you. the You just had it stolen from you. the You just had it stolen from you. the word. word. word. Yeah, it's it's really strange how much Yeah, it's it's really strange how much Yeah, it's it's really strange how much the book feels in parts like it's about the book feels in parts like it's about the book feels in parts like it's about AI that it's a comments on on AI and AI that it's a comments on on AI and AI that it's a comments on on AI and sort of reaction to it because it it sort of reaction to it because it it sort of reaction to it because it it really was written before vibe coding really was written before vibe coding really was written before vibe coding was was really a thing and be certainly was was really a thing and be certainly was was really a thing and be certainly before I was doing any code generation before I was doing any code generation before I was doing any code generation with AI and the prompts you know if you with AI and the prompts you know if you with AI and the prompts you know if you feed these prompts to an AI system feed these prompts to an AI system feed these prompts to an AI system you're going to get the most boring you're going to get the most boring you're going to get the most boring answer possible right answer possible right answer possible right >> yes [laughter] >> yes [laughter] >> yes [laughter] statistically most mediocre answer that statistically most mediocre answer that statistically most mediocre answer that they can give you and this is something they can give you and this is something they can give you and this is something I've actually tried with with with I've actually tried with with with I've actually tried with with with students. Uh and the the one of the students. Uh and the the one of the students. Uh and the the one of the things that I I really try to get across things that I I really try to get across things that I I really try to get across them is don't leave any creative them is don't leave any creative them is don't leave any creative decisions to AI. Use AI to to build to decisions to AI. Use AI to to build to decisions to AI. Use AI to to build to to generate code, but you have to be to generate code, but you have to be to generate code, but you have to be specific about what what you want if if specific about what what you want if if specific about what what you want if if you're letting it make any sort of you're letting it make any sort of you're letting it make any sort of creative decision. So So there's a creative decision. So So there's a creative decision. So So there's a a well-known called Shakespeare uh which a well-known called Shakespeare uh which a well-known called Shakespeare uh which I don't particularly enjoy. I don't I don't particularly enjoy. I don't I don't particularly enjoy. I don't think it's particularly funny, but it's think it's particularly funny, but it's think it's particularly funny, but it's it's written as dialogue as it's written as dialogue as it's written as dialogue as Shakespearean dialogue and I think Shakespearean dialogue and I think Shakespearean dialogue and I think compliments add a number and insults compliments add a number and insults compliments add a number and insults subtract them. So you get these long subtract them. So you get these long subtract them. So you get these long strings of insults and it gets very sort strings of insults and it gets very sort strings of insults and it gets very sort of repetitive. Uh one of the languages of repetitive. Uh one of the languages of repetitive. Uh one of the languages in this book is about code written as a in this book is about code written as a in this book is about code written as a effect as as feeling that goes beyond effect as as feeling that goes beyond effect as as feeling that goes beyond words and it was designed as a prompt words and it was designed as a prompt words and it was designed as a prompt that could never really be implemented.
-
that could never really be implemented. that could never really be implemented. Uh, of course we can invoke certain Uh, of course we can invoke certain Uh, of course we can invoke certain feelings through poetry or through art, feelings through poetry or through art, feelings through poetry or through art, but the idea that that we could encode but the idea that that we could encode but the idea that that we could encode that in into code somehow and that this that in into code somehow and that this that in into code somehow and that this would be sort of readable to somebody would be sort of readable to somebody would be sort of readable to somebody seems pretty far-fetched, but it's it's seems pretty far-fetched, but it's it's seems pretty far-fetched, but it's it's something interesting to think about. something interesting to think about. something interesting to think about. So, we did feed this into an AI prompt. So, we did feed this into an AI prompt. So, we did feed this into an AI prompt. I think it was Claude and it basically I think it was Claude and it basically I think it was Claude and it basically generated a version of Shakespeare. It's generated a version of Shakespeare. It's generated a version of Shakespeare. It's sort of like what it took as being sort of like what it took as being sort of like what it took as being affect or feeling are sort of positive affect or feeling are sort of positive affect or feeling are sort of positive words and negative words. So we sort of words and negative words. So we sort of words and negative words. So we sort of recreated this this other slang um with recreated this this other slang um with recreated this this other slang um with sort of the least interesting response sort of the least interesting response sort of the least interesting response to that prompt to that prompt to that prompt >> which makes a lot of sense if we think >> which makes a lot of sense if we think >> which makes a lot of sense if we think about the corpus in which these things about the corpus in which these things about the corpus in which these things are trained and that Shakespeare already are trained and that Shakespeare already are trained and that Shakespeare already exists as an SAG and is inside the AI exists as an SAG and is inside the AI exists as an SAG and is inside the AI somewhere it's reasonable that it would somewhere it's reasonable that it would somewhere it's reasonable that it would kind of find the statistical mean and go kind of find the statistical mean and go kind of find the statistical mean and go there's prior art there and it would not there's prior art there and it would not there's prior art there and it would not by by definition be creative which which by by definition be creative which which by by definition be creative which which explains a lot. explains a lot. explains a lot. >> Yeah, absolutely. >> Yeah, absolutely. >> Yeah, absolutely. >> Yeah. the the the part that I'm >> Yeah. the the the part that I'm >> Yeah. the the the part that I'm struggling with and I think it might be struggling with and I think it might be struggling with and I think it might be the one half of the brain versus I felt the one half of the brain versus I felt the one half of the brain versus I felt I felt my brain the right half versus I felt my brain the right half versus I felt my brain the right half versus the left half the artistic half versus the left half the artistic half versus the left half the artistic half versus the analytical half kind of fighting the analytical half kind of fighting the analytical half kind of fighting which each other uh because I wonder which each other uh because I wonder which each other uh because I wonder which parts of my brain are on when I am which parts of my brain are on when I am which parts of my brain are on when I am coding versus which parts of my brain coding versus which parts of my brain coding versus which parts of my brain are on when I am um when I am are on when I am um when I am are on when I am um when I am appreciating art or visiting a museum.
-
appreciating art or visiting a museum. appreciating art or visiting a museum. And I felt like my hemispheres were And I felt like my hemispheres were And I felt like my hemispheres were fighting because part of my brain was fighting because part of my brain was fighting because part of my brain was going into like well actually you know going into like well actually you know going into like well actually you know this is not true incomplete you know and this is not true incomplete you know and this is not true incomplete you know and then the other half was like oh wow then the other half was like oh wow then the other half was like oh wow that's a really that is fun and that's a really that is fun and that's a really that is fun and interesting and I I am challenged by interesting and I I am challenged by interesting and I I am challenged by that idea like the uh there was one that that idea like the uh there was one that that idea like the uh there was one that I thought was really extraordinary which I thought was really extraordinary which I thought was really extraordinary which was the what if you just used empty was the what if you just used empty was the what if you just used empty folder structures to present a folder structures to present a folder structures to present a programming language. the idea that the programming language. the idea that the programming language. the idea that the file structure itself has enough context file structure itself has enough context file structure itself has enough context and there's enough to play with from and there's enough to play with from and there's enough to play with from empty folders and file names and their empty folders and file names and their empty folders and file names and their structure within the file names and structure within the file names and structure within the file names and whether or not this is hierarchical, you whether or not this is hierarchical, you whether or not this is hierarchical, you know, scoping through files. It's so know, scoping through files. It's so know, scoping through files. It's so kind of like ridiculous that it almost kind of like ridiculous that it almost kind of like ridiculous that it almost flipped the odometer in my brain from flipped the odometer in my brain from flipped the odometer in my brain from this is ridiculous to like this is this is ridiculous to like this is this is ridiculous to like this is actually a really clever way to use the actually a really clever way to use the actually a really clever way to use the file system as [laughter] a database and file system as [laughter] a database and file system as [laughter] a database and the hemispheres are fighting it out the the hemispheres are fighting it out the the hemispheres are fighting it out the whole time. Well, I I'll tell you about whole time. Well, I I'll tell you about whole time. Well, I I'll tell you about the inspiration for that. So, so first the inspiration for that. So, so first the inspiration for that. So, so first of all, folders is a turncomplete of all, folders is a turncomplete of all, folders is a turncomplete language.
-
language. language. >> Is it? >> Is it? >> Is it? >> Not all not all the languages in here >> Not all not all the languages in here >> Not all not all the languages in here are, but that one is. So, the idea of are, but that one is. So, the idea of are, but that one is. So, the idea of folders is that it it the inspiration folders is that it it the inspiration folders is that it it the inspiration for it was the slang whites space where for it was the slang whites space where for it was the slang whites space where we use tab space and return as as the we use tab space and return as as the we use tab space and return as as the only meaningful characters. And I only meaningful characters. And I only meaningful characters. And I decided, well, those are still decided, well, those are still decided, well, those are still characters. There's still a file, but characters. There's still a file, but characters. There's still a file, but what's what's more empty than an what's what's more empty than an what's what's more empty than an empty-ook file? And to me that was empty-ook file? And to me that was empty-ook file? And to me that was really the empty folder or the folder really the empty folder or the folder really the empty folder or the folder that just has other folders in it that just has other folders in it that just has other folders in it because it always just looks like trash because it always just looks like trash because it always just looks like trash you know like like this is so the way you know like like this is so the way you know like like this is so the way that folders works the names of the that folders works the names of the that folders works the names of the folders don't matter except for how folders don't matter except for how folders don't matter except for how they're read alphabetically they're read alphabetically they're read alphabetically >> and you know the top level folders are >> and you know the top level folders are >> and you know the top level folders are commands and then the first folder commands and then the first folder commands and then the first folder alphabetically in each one the number of alphabetically in each one the number of alphabetically in each one the number of folders in that tell you tells you what folders in that tell you tells you what folders in that tell you tells you what kind of command it is and a second kind of command it is and a second kind of command it is and a second folder will be an expression that's folder will be an expression that's folder will be an expression that's passed to it depending on the type of passed to it depending on the type of passed to it depending on the type of command. So it's it it it it this is command. So it's it it it it this is command. So it's it it it it this is this is usable. This is workable. Uh one this is usable. This is workable. Uh one this is usable. This is workable. Uh one of the one of the things about folders of the one of the things about folders of the one of the things about folders is that I originally wrote it with a C# is that I originally wrote it with a C# is that I originally wrote it with a C# compiler and this was probably around 10 compiler and this was probably around 10 compiler and this was probably around 10 years ago. And it so I I originally made years ago. And it so I I originally made years ago. And it so I I originally made it sort of Windows only. This was sort it sort of Windows only. This was sort it sort of Windows only. This was sort of like the of like the of like the >> that that era of of C#. And >> that that era of of C#. And >> that that era of of C#. And the the funny thing about Windows is the the funny thing about Windows is the the funny thing about Windows is that it doesn't consider an empty folder that it doesn't consider an empty folder that it doesn't consider an empty folder content. So if you create a billion content. So if you create a billion content. So if you create a billion folders and and you get info on it, folders and and you get info on it, folders and and you get info on it, it'll tell you that it takes up zero it'll tell you that it takes up zero it'll tell you that it takes up zero bytes on disk. So uh of course your hard bytes on disk. So uh of course your hard bytes on disk. So uh of course your hard drive will get smaller and smaller if drive will get smaller and smaller if drive will get smaller and smaller if you add more billions of folders and so you add more billions of folders and so you add more billions of folders and so on.
-
on. on. >> [snorts] >> [snorts] >> [snorts] >> But one kind of nice thing about the >> But one kind of nice thing about the >> But one kind of nice thing about the folders programming language is that the folders programming language is that the folders programming language is that the input and output are through folder input and output are through folder input and output are through folder names and all the temporary storage is names and all the temporary storage is names and all the temporary storage is is stored as strings and folder names as is stored as strings and folder names as is stored as strings and folder names as well. So you can have basically a well. So you can have basically a well. So you can have basically a parallel file system where all your data parallel file system where all your data parallel file system where all your data is just stored as as as folders and you is just stored as as as folders and you is just stored as as as folders and you just get free infinite storage. just get free infinite storage. just get free infinite storage. >> And the I was also thinking how quickly >> And the I was also thinking how quickly >> And the I was also thinking how quickly it would take now in the in the world of it would take now in the in the world of it would take now in the in the world of Dropbox and one drive. How long would it Dropbox and one drive. How long would it Dropbox and one drive. How long would it take you to break one drive? Effectively take you to break one drive? Effectively take you to break one drive? Effectively ddosing one drive with a hello world ddosing one drive with a hello world ddosing one drive with a hello world that takes 30, you know, 350,000 that takes 30, you know, 350,000 that takes 30, you know, 350,000 folders, taking up no storage, but folders, taking up no storage, but folders, taking up no storage, but certainly taking up a huge amount of of certainly taking up a huge amount of of certainly taking up a huge amount of of time in uh in syncing. And then also the time in uh in syncing. And then also the time in uh in syncing. And then also the fact that you have to URL encode, you fact that you have to URL encode, you fact that you have to URL encode, you know, certain characters that the know, certain characters that the know, certain characters that the folders don't allow. So you're in you're folders don't allow. So you're in you're folders don't allow. So you're in you're in fact tunneling additional information in fact tunneling additional information in fact tunneling additional information in the folder names [snorts] that isn't in the folder names [snorts] that isn't in the folder names [snorts] that isn't allowed by virtue of how Windows deals allowed by virtue of how Windows deals allowed by virtue of how Windows deals with its file systems. with its file systems. with its file systems. >> True. Well, that sounds like a >> True. Well, that sounds like a >> True. Well, that sounds like a challenge. Let's break it. And challenge. Let's break it. And challenge. Let's break it. And >> this is the thing, right? Let's let's go >> this is the thing, right? Let's let's go >> this is the thing, right? Let's let's go and break one drive and Dropbox by and break one drive and Dropbox by and break one drive and Dropbox by synchronizing uh a million folders up synchronizing uh a million folders up synchronizing uh a million folders up into the cloud. And you did that like 10 into the cloud. And you did that like 10 into the cloud. And you did that like 10 years ago. This is worth noting that uh years ago. This is worth noting that uh years ago. This is worth noting that uh esoteric.codes esoteric.codes esoteric.codes and this book is not something that you and this book is not something that you and this book is not something that you banged out in a year. This is, you know, banged out in a year. This is, you know, banged out in a year. This is, you know, your life's work in a sense of art that your life's work in a sense of art that your life's work in a sense of art that you have explored over time. How do you have explored over time. How do you have explored over time. How do these ideas come to you though? Are you these ideas come to you though? Are you these ideas come to you though? Are you just sitting around one day in 2015, just sitting around one day in 2015, just sitting around one day in 2015, you're like, you know, whites space is you're like, you know, whites space is you're like, you know, whites space is cool, but folders, cool, but folders, cool, but folders, that's way cooler. Like, does this just that's way cooler. Like, does this just that's way cooler. Like, does this just come to you in the shower?
-
come to you in the shower? come to you in the shower? >> Yeah. Generally, one language leads to >> Yeah. Generally, one language leads to >> Yeah. Generally, one language leads to the next. uh a lot of them are about the next. uh a lot of them are about the next. uh a lot of them are about kind of the constraints of of of kind of the constraints of of of kind of the constraints of of of programming languages and how we can programming languages and how we can programming languages and how we can sort of push at the outer edges of it. sort of push at the outer edges of it. sort of push at the outer edges of it. So so one way to think about program is So so one way to think about program is So so one way to think about program is as a performance score, right? It it's a as a performance score, right? It it's a as a performance score, right? It it's a it's a score for the the the computer to it's a score for the the the computer to it's a score for the the the computer to perform. perform. perform. There's a long history of performance There's a long history of performance There's a long history of performance scores in in conceptual art and in scores in in conceptual art and in scores in in conceptual art and in flexus and other visual art such that we flexus and other visual art such that we flexus and other visual art such that we can consider things like performances can consider things like performances can consider things like performances that only are imagined that can only run that only are imagined that can only run that only are imagined that can only run in our head and there are several in our head and there are several in our head and there are several languages like that in the in the book languages like that in the in the book languages like that in the in the book ones that will only make sense to one ones that will only make sense to one ones that will only make sense to one person at a time and won't be meaningful person at a time and won't be meaningful person at a time and won't be meaningful to to other people. But I guess another to to other people. But I guess another to to other people. But I guess another way to look at this is you know a way to look at this is you know a way to look at this is you know a programming language tells us what what programming language tells us what what programming language tells us what what code is right a programming language code is right a programming language code is right a programming language defines the lexicon and grammar of code defines the lexicon and grammar of code defines the lexicon and grammar of code like that seems sort of obvious but it like that seems sort of obvious but it like that seems sort of obvious but it also presents an abstract version of the also presents an abstract version of the also presents an abstract version of the machine and that's where the logic of machine and that's where the logic of machine and that's where the logic of the language is defined. So it's really the language is defined. So it's really the language is defined. So it's really the programming language that defines the programming language that defines the programming language that defines everything else. And what would happen everything else. And what would happen everything else. And what would happen if we sort of unmort that from not just if we sort of unmort that from not just if we sort of unmort that from not just practicality but from our physical practicality but from our physical practicality but from our physical machines and we sort of lift the whole machines and we sort of lift the whole machines and we sort of lift the whole thing out into space and we just think thing out into space and we just think thing out into space and we just think about the programming language alone and about the programming language alone and about the programming language alone and and what what can we do with this? How and what what can we do with this? How and what what can we do with this? How can we push it at the edges of of what can we push it at the edges of of what can we push it at the edges of of what we consider code of of what we consider we consider code of of what we consider we consider code of of what we consider a machine of of what's performable?
-
a machine of of what's performable? a machine of of what's performable? And so that that's a lot of the thinking And so that that's a lot of the thinking And so that that's a lot of the thinking that I do when I I'm designing these that I do when I I'm designing these that I do when I I'm designing these languages. So for instance, I have a languages. So for instance, I have a languages. So for instance, I have a language in the book called past tense. language in the book called past tense. language in the book called past tense. And past tense is just literally we take And past tense is just literally we take And past tense is just literally we take a program that runs in another language. a program that runs in another language. a program that runs in another language. And we convert any text in it that can And we convert any text in it that can And we convert any text in it that can be verbed into a verb and then we con we be verbed into a verb and then we con we be verbed into a verb and then we con we convert that verb in the past tense. And convert that verb in the past tense. And convert that verb in the past tense. And now it is no longer a running program now it is no longer a running program now it is no longer a running program because it can no longer run in its because it can no longer run in its because it can no longer run in its original its original language. So we original its original language. So we original its original language. So we might start with you know public static might start with you know public static might start with you know public static string hello worlds and we'll end up string hello worlds and we'll end up string hello worlds and we'll end up with public static um strung for one with public static um strung for one with public static um strung for one thing um classed namespaced helloed thing um classed namespaced helloed thing um classed namespaced helloed world. world. world. >> Oh I see. Okay. Public static voided >> Oh I see. Okay. Public static voided >> Oh I see. Okay. Public static voided main. main. main. >> Exactly. Yeah. So now it is so so now we >> Exactly. Yeah. So now it is so so now we >> Exactly. Yeah. So now it is so so now we have our text. This is a a valid program have our text. This is a a valid program have our text. This is a a valid program in past tense but there's no runnability in past tense but there's no runnability in past tense but there's no runnability in in past tense because the whole idea in in past tense because the whole idea in in past tense because the whole idea of past tense is that that program I is of past tense is that that program I is of past tense is that that program I is now in the past tense and should never now in the past tense and should never now in the past tense and should never be run again. [laughter] So if you were be run again. [laughter] So if you were be run again. [laughter] So if you were to actually write a compiler for past to actually write a compiler for past to actually write a compiler for past tense C, then those programs would no tense C, then those programs would no tense C, then those programs would no longer be valid as past tense because longer be valid as past tense because longer be valid as past tense because now they they are runnable. they've been now they they are runnable. they've been now they they are runnable. they've been brought back into the present in a way brought back into the present in a way brought back into the present in a way that sort of violates the the rules of that sort of violates the the rules of that sort of violates the the rules of the past tense language.
-
the past tense language. the past tense language. >> The one of the ones that really struck >> The one of the ones that really struck >> The one of the ones that really struck me, I would say my favorite is language me, I would say my favorite is language me, I would say my favorite is language 33 called Stroll. 33 called Stroll. 33 called Stroll. It made me think about like spy movies It made me think about like spy movies It made me think about like spy movies and things like sneakers and some of the and things like sneakers and some of the and things like sneakers and some of the classic movies of the 90s and how cool classic movies of the 90s and how cool classic movies of the 90s and how cool it would be if someone had encoded a it would be if someone had encoded a it would be if someone had encoded a programming language that required human programming language that required human programming language that required human beings to wander around a city or a town beings to wander around a city or a town beings to wander around a city or a town in order to get the program. Help me in order to get the program. Help me in order to get the program. Help me understand what stroll is and why it understand what stroll is and why it understand what stroll is and why it requires three pedestrians and their requires three pedestrians and their requires three pedestrians and their routes in order to realize uh routes in order to realize uh routes in order to realize uh instructions you would feed into a instructions you would feed into a instructions you would feed into a computer. computer. computer. >> Yeah. So the the the the red stroller >> Yeah. So the the the the red stroller >> Yeah. So the the the the red stroller and the green stroller, and the green stroller, and the green stroller, they each have their own way of moving they each have their own way of moving they each have their own way of moving through the space. Uh the red stroller through the space. Uh the red stroller through the space. Uh the red stroller is going from intersection to inter is going from intersection to inter is going from intersection to inter intersection and the green stroller from intersection and the green stroller from intersection and the green stroller from block to block. Uh and the green block to block. Uh and the green block to block. Uh and the green stroller is pointing to a space in stroller is pointing to a space in stroller is pointing to a space in memory that's represented by that that memory that's represented by that that memory that's represented by that that block. And based on what the red block. And based on what the red block. And based on what the red stroller and the blue stroller do, data stroller and the blue stroller do, data stroller and the blue stroller do, data can be written to that block or read can be written to that block or read can be written to that block or read from it.
-
from it. from it. The red stroller is in charge of all the The red stroller is in charge of all the The red stroller is in charge of all the constants and those are really defined constants and those are really defined constants and those are really defined by the the street names at each by the the street names at each by the the street names at each intersection. But the most critical intersection. But the most critical intersection. But the most critical stroller is the blue one. And the main stroller is the blue one. And the main stroller is the blue one. And the main thing about the blue one is that thing about the blue one is that thing about the blue one is that the way that their code is read is the way that their code is read is the way that their code is read is unique to that person and they can unique to that person and they can unique to that person and they can define it themselves in a way that might define it themselves in a way that might define it themselves in a way that might be totally different than another stroll be totally different than another stroll be totally different than another stroll program. The only critical thing about program. The only critical thing about program. The only critical thing about it is that it has to be something that it is that it has to be something that it is that it has to be something that you can only learn by being there in you can only learn by being there in you can only learn by being there in person. If it's something that you can person. If it's something that you can person. If it's something that you can easily find out by looking at photos and easily find out by looking at photos and easily find out by looking at photos and looking at uh Google Maps, then it it it looking at uh Google Maps, then it it it looking at uh Google Maps, then it it it shouldn't be used for this. And so it it shouldn't be used for this. And so it it shouldn't be used for this. And so it it requires uh a human being to sort of requires uh a human being to sort of requires uh a human being to sort of make decisions and sort of interpret make decisions and sort of interpret make decisions and sort of interpret what the other the the previous blue what the other the the previous blue what the other the the previous blue stroller has has set out. Um, it could stroller has has set out. Um, it could stroller has has set out. Um, it could be things like the species of various be things like the species of various be things like the species of various trees uh along blocks. Uh, it can be trees uh along blocks. Uh, it can be trees uh along blocks. Uh, it can be about the incline uh of the street. It about the incline uh of the street. It about the incline uh of the street. It can be sometimes it can be something can be sometimes it can be something can be sometimes it can be something like the number of windows, but you have like the number of windows, but you have like the number of windows, but you have to be careful with that of course to be careful with that of course to be careful with that of course because all this stuff is is online now.
-
because all this stuff is is online now. because all this stuff is is online now. And so part of what makes it a stroll And so part of what makes it a stroll And so part of what makes it a stroll program is that if you lift the whole program is that if you lift the whole program is that if you lift the whole thing, if you start the whole thing from thing, if you start the whole thing from thing, if you start the whole thing from the wrong intersection or in another the wrong intersection or in another the wrong intersection or in another town, it'll it'll have a completely town, it'll it'll have a completely town, it'll it'll have a completely different result. different result. different result. So it's a sightspecific language. Yeah, So it's a sightspecific language. Yeah, So it's a sightspecific language. Yeah, it it's sight specific. It's ephemeral. it it's sight specific. It's ephemeral. it it's sight specific. It's ephemeral. It might be different. You know, you run It might be different. You know, you run It might be different. You know, you run it on Saturday and it's different. it on Saturday and it's different. it on Saturday and it's different. Someone fills a pothole in or chops a Someone fills a pothole in or chops a Someone fills a pothole in or chops a tree down and then suddenly this thing tree down and then suddenly this thing tree down and then suddenly this thing doesn't work at all or you're going to doesn't work at all or you're going to doesn't work at all or you're going to have to change the structure. have to change the structure. have to change the structure. >> Yeah, absolutely. And a lot of that's >> Yeah, absolutely. And a lot of that's >> Yeah, absolutely. And a lot of that's built it. I mean, you know, usually when built it. I mean, you know, usually when built it. I mean, you know, usually when we write code, we want the computer to we write code, we want the computer to we write code, we want the computer to carry things out the way that we expect, carry things out the way that we expect, carry things out the way that we expect, but a lot of the languages in this book but a lot of the languages in this book but a lot of the languages in this book sort of undermine that in some way. uh sort of undermine that in some way. uh sort of undermine that in some way. uh they're they're about sort of they're they're they're about sort of they're they're they're about sort of they're saying that oftentimes code is more saying that oftentimes code is more saying that oftentimes code is more interesting when it does something that interesting when it does something that interesting when it does something that we're not expecting and not exactly what we're not expecting and not exactly what we're not expecting and not exactly what we had desired. It might bring us we had desired. It might bring us we had desired. It might bring us somewhere different and and so a lot of somewhere different and and so a lot of somewhere different and and so a lot of these languages uh approach code without these languages uh approach code without these languages uh approach code without that feeling of absolute control that we that feeling of absolute control that we that feeling of absolute control that we pretend to have when we write code. pretend to have when we write code. pretend to have when we write code. >> I've had a couple of people on the >> I've had a couple of people on the >> I've had a couple of people on the podcast in the past that have created podcast in the past that have created podcast in the past that have created programs in non-English languages. I saw programs in non-English languages. I saw programs in non-English languages. I saw that there are some here that use glyphs that there are some here that use glyphs that there are some here that use glyphs that custom make their own. You you've that custom make their own. You you've that custom make their own. You you've custom made your own glyphs. It looks custom made your own glyphs. It looks custom made your own glyphs. It looks kind of like Stargate.
-
kind of like Stargate. kind of like Stargate. Uh I think one of them was called thermo Uh I think one of them was called thermo Uh I think one of them was called thermo C, which like almost like a wingings C, which like almost like a wingings C, which like almost like a wingings style of a of a thing. Have you spent style of a of a thing. Have you spent style of a of a thing. Have you spent any other time looking at non-English any other time looking at non-English any other time looking at non-English uh languages? Just I'm curious. I know uh languages? Just I'm curious. I know uh languages? Just I'm curious. I know it's not in the book and you haven't it's not in the book and you haven't it's not in the book and you haven't explored it in the book, but I'm curious explored it in the book, but I'm curious explored it in the book, but I'm curious if you've explored languages that are in if you've explored languages that are in if you've explored languages that are in non-English like Arabic or Amharic. non-English like Arabic or Amharic. non-English like Arabic or Amharic. >> Yes. Yes. So there there are a few >> Yes. Yes. So there there are a few >> Yes. Yes. So there there are a few reasons that people make programming reasons that people make programming reasons that people make programming languages that are that are in languages languages that are that are in languages languages that are that are in languages other than English. The most common are other than English. The most common are other than English. The most common are that they want something they they build that they want something they they build that they want something they they build as an educational language for a as an educational language for a as an educational language for a community that perhaps like especially community that perhaps like especially community that perhaps like especially for children who might not yet be for children who might not yet be for children who might not yet be comfortable with English or to sort of comfortable with English or to sort of comfortable with English or to sort of encourage communication in another encourage communication in another encourage communication in another language. But then there are languages language. But then there are languages language. But then there are languages that are made to specifically challenge that are made to specifically challenge that are made to specifically challenge English as the dominant language of of English as the dominant language of of English as the dominant language of of coding. And some of those really fall coding. And some of those really fall coding. And some of those really fall more in the esoteric category because more in the esoteric category because more in the esoteric category because they're made more they're not made for they're made more they're not made for they're made more they're not made for the practical use as much as as to make the practical use as much as as to make the practical use as much as as to make a statement. Uh the most well-known of a statement. Uh the most well-known of a statement. Uh the most well-known of these is a language called Alb or Calb these is a language called Alb or Calb these is a language called Alb or Calb by Ramsey by Ramsey by Ramsey >> Nasser.
-
>> Nasser. >> Nasser. And that was a lisp language made in And that was a lisp language made in And that was a lisp language made in Arabic which had started out to be Arabic which had started out to be Arabic which had started out to be a a useful tool. And then what he found a a useful tool. And then what he found a a useful tool. And then what he found was that he was prevented from going as was that he was prevented from going as was that he was prevented from going as far as he wanted to with the language far as he wanted to with the language far as he wanted to with the language because a lot of the underlying because a lot of the underlying because a lot of the underlying technology had these biases that that technology had these biases that that technology had these biases that that became very obvious when he was trying became very obvious when he was trying became very obvious when he was trying to work with a right to left language. to work with a right to left language. to work with a right to left language. And also it raised questions like And also it raised questions like And also it raised questions like what what's the Arabic translation of of what what's the Arabic translation of of what what's the Arabic translation of of proxy bean uh or these other sort of proxy bean uh or these other sort of proxy bean uh or these other sort of technical terms and how do you even deal technical terms and how do you even deal technical terms and how do you even deal with that in in in in another language. with that in in in in another language. with that in in in in another language. Now that language became pretty well Now that language became pretty well Now that language became pretty well known and it inspired a whole bunch of known and it inspired a whole bunch of known and it inspired a whole bunch of languages in response. There's a languages in response. There's a languages in response. There's a language called uh Yorlang Yo Rlang uh language called uh Yorlang Yo Rlang uh language called uh Yorlang Yo Rlang uh which is in Yoraba which was made by a which is in Yoraba which was made by a which is in Yoraba which was made by a Nigerian programmer who spent all day Nigerian programmer who spent all day Nigerian programmer who spent all day talk speaking English for his day job talk speaking English for his day job talk speaking English for his day job and after hours he didn't want to think and after hours he didn't want to think and after hours he didn't want to think about English at all so he wants to code about English at all so he wants to code about English at all so he wants to code in his in his native tongue and then in his in his native tongue and then in his in his native tongue and then there's a language called Crearp which there's a language called Crearp which there's a language called Crearp which is a multimedia storytelling language uh is a multimedia storytelling language uh is a multimedia storytelling language uh in using the Canadian Aboriginal um in using the Canadian Aboriginal um in using the Canadian Aboriginal um syntax uh characters and that's by John syntax uh characters and that's by John syntax uh characters and that's by John Corbett who actually is the person who I Corbett who actually is the person who I Corbett who actually is the person who I am collaborating on for that that am collaborating on for that that am collaborating on for that that language that you mentioned from the language that you mentioned from the language that you mentioned from the book, the one that has like the the book, the one that has like the the book, the one that has like the the really sort of crazy characters.
-
really sort of crazy characters. really sort of crazy characters. >> This is one that we're really right in >> This is one that we're really right in >> This is one that we're really right in the middle of of designing right now. the middle of of designing right now. the middle of of designing right now. And the idea of that language is that And the idea of that language is that And the idea of that language is that each line of code is a single character each line of code is a single character each line of code is a single character and that that one character has and that that one character has and that that one character has different kind of swoops and and different kind of swoops and and different kind of swoops and and ascenders and descenders and crosses and ascenders and descenders and crosses and ascenders and descenders and crosses and each of them adds the meaning of of that each of them adds the meaning of of that each of them adds the meaning of of that line of code. But the code is that the line of code. But the code is that the line of code. But the code is that the the line of code is essentially it's it the line of code is essentially it's it the line of code is essentially it's it it has a subject and an adjunct. The it has a subject and an adjunct. The it has a subject and an adjunct. The subject goes through a test and if the subject goes through a test and if the subject goes through a test and if the test succeeds it is transformed in some test succeeds it is transformed in some test succeeds it is transformed in some way. So the subject is basically a way. So the subject is basically a way. So the subject is basically a variable and it there's basically some variable and it there's basically some variable and it there's basically some kind of conditional and if the kind of conditional and if the kind of conditional and if the conditional passes then then the subject conditional passes then then the subject conditional passes then then the subject is is is transformed and it can be in is is is transformed and it can be in is is is transformed and it can be in terms of the adjunct which is terms of the adjunct which is terms of the adjunct which is essentially a parameter that comes in essentially a parameter that comes in essentially a parameter that comes in and if you want to do something more and if you want to do something more and if you want to do something more sophisticated you have to go to like sophisticated you have to go to like sophisticated you have to go to like curing um and do you know you have to curing um and do you know you have to curing um and do you know you have to get a little bit fancier but the idea is get a little bit fancier but the idea is get a little bit fancier but the idea is that the character is pronouncable based that the character is pronouncable based that the character is pronouncable based on how the letter is drawn and the way on how the letter is drawn and the way on how the letter is drawn and the way the letter is drawn is also controls how the letter is drawn is also controls how the letter is drawn is also controls how it runs as And we have our own font for it runs as And we have our own font for it runs as And we have our own font for that which which we're in the middle of that which which we're in the middle of that which which we're in the middle of designing at the moment.
-
designing at the moment. designing at the moment. >> It might be counter to your goals, but I >> It might be counter to your goals, but I >> It might be counter to your goals, but I think it might be worth at least me think it might be worth at least me think it might be worth at least me asking whether it be something like one asking whether it be something like one asking whether it be something like one of the 44 Solangs in the book or of the 44 Solangs in the book or of the 44 Solangs in the book or something like your language something like your language something like your language selfidentifies as an esoteric selfidentifies as an esoteric selfidentifies as an esoteric programming language. Would we ever want programming language. Would we ever want programming language. Would we ever want one of them to graduate for lack of a one of them to graduate for lack of a one of them to graduate for lack of a better word? Like your your lang the better word? Like your your lang the better word? Like your your lang the Yoruba one that you mentioned is Yoruba one that you mentioned is Yoruba one that you mentioned is explicitly in the in the first line when explicitly in the in the first line when explicitly in the in the first line when you visit their website it says is an you visit their website it says is an you visit their website it says is an esoteric programming language as opposed esoteric programming language as opposed esoteric programming language as opposed to saying is a programming language. Now to saying is a programming language. Now to saying is a programming language. Now I've always said that English isn't the I've always said that English isn't the I've always said that English isn't the language that we deserve. It's just the language that we deserve. It's just the language that we deserve. It's just the one that we have. It's the big colonized one that we have. It's the big colonized one that we have. It's the big colonized language. And I feel the same way about language. And I feel the same way about language. And I feel the same way about JavaScript. Like the world could have JavaScript. Like the world could have JavaScript. Like the world could have deserved a better language but deserved a better language but deserved a better language but JavaScript is the one that we ended up JavaScript is the one that we ended up JavaScript is the one that we ended up [laughter] with. Right? Do do you do you [laughter] with. Right? Do do you do you [laughter] with. Right? Do do you do you think that any of these could be real in think that any of these could be real in think that any of these could be real in the mainstream sense or by definition the mainstream sense or by definition the mainstream sense or by definition they can't be they can't graduate beyond they can't be they can't graduate beyond they can't be they can't graduate beyond esotera? esotera? esotera? >> Yeah. So I think that your lang is a >> Yeah. So I think that your lang is a >> Yeah. So I think that your lang is a great example of one where great example of one where great example of one where the performance of the code is very the performance of the code is very the performance of the code is very clear from the text of code so long as clear from the text of code so long as clear from the text of code so long as you read yorba. So it doesn't have that you read yorba. So it doesn't have that you read yorba. So it doesn't have that feature that we associate with SLAs of feature that we associate with SLAs of feature that we associate with SLAs of being obuscatory being obuscatory being obuscatory or difficult difficult to read in a way or difficult difficult to read in a way or difficult difficult to read in a way that sort of prevents it from mainstream that sort of prevents it from mainstream that sort of prevents it from mainstream use. Uh I think that Yorba is is great use. Uh I think that Yorba is is great use. Uh I think that Yorba is is great to use for for mainstream use. It's not to use for for mainstream use. It's not to use for for mainstream use. It's not going to have the support that you'll going to have the support that you'll going to have the support that you'll have if if you're writing in C#, but have if if you're writing in C#, but have if if you're writing in C#, but it's it's the beginning of something and it's it's the beginning of something and it's it's the beginning of something and if somebody wanted to push that further if somebody wanted to push that further if somebody wanted to push that further it there, you know, I think that's an
-
it there, you know, I think that's an it there, you know, I think that's an example of an Seline that that could be example of an Seline that that could be example of an Seline that that could be used in mainstream code. What was the used in mainstream code. What was the used in mainstream code. What was the word that you just said? I didn't know. word that you just said? I didn't know. word that you just said? I didn't know. Plus plescatory. Plus plescatory. Plus plescatory. >> Oh, I was saying sorry I was I wasn't >> Oh, I was saying sorry I was I wasn't >> Oh, I was saying sorry I was I wasn't annunciating very well. I was saying annunciating very well. I was saying annunciating very well. I was saying obfuscatory. Like obuscate. obfuscatory. Like obuscate. obfuscatory. Like obuscate. >> Oh, like to obfuscate. >> Oh, like to obfuscate. >> Oh, like to obfuscate. >> Yes. >> Yes. >> Yes. >> I see. To go out of its way to be >> I see. To go out of its way to be >> I see. To go out of its way to be offiscated. offiscated. offiscated. >> Yeah, that's the thing like when we talk >> Yeah, that's the thing like when we talk >> Yeah, that's the thing like when we talk about like befunge and the other ones about like befunge and the other ones about like befunge and the other ones like that where it's like this is just like that where it's like this is just like that where it's like this is just mean like it's like let's just make it mean like it's like let's just make it mean like it's like let's just make it hard. This is not what these are about. hard. This is not what these are about. hard. This is not what these are about. They're about exploring new spaces, They're about exploring new spaces, They're about exploring new spaces, thinking about ways in an unusual way. thinking about ways in an unusual way. thinking about ways in an unusual way. Uh, no one ever, I think, when they made Uh, no one ever, I think, when they made Uh, no one ever, I think, when they made a computer thought like, oh, you know, a computer thought like, oh, you know, a computer thought like, oh, you know, what if we made this as difficult as what if we made this as difficult as what if we made this as difficult as possible or as esoteric as possible? possible or as esoteric as possible? possible or as esoteric as possible? Which brings me kind of to my last Which brings me kind of to my last Which brings me kind of to my last question. What was the first identified question. What was the first identified question. What was the first identified Solang? What's who's the person who Solang? What's who's the person who Solang? What's who's the person who said, "Let's think outside the box said, "Let's think outside the box said, "Let's think outside the box first." first." first." the the first language that's generally the the first language that's generally the the first language that's generally considered an SLAN now uh and whose considered an SLAN now uh and whose considered an SLAN now uh and whose authors consider it an SLAN would be authors consider it an SLAN would be authors consider it an SLAN would be Intercal from 1972.
-
Intercal from 1972. Intercal from 1972. UN intercal is an interesting language UN intercal is an interesting language UN intercal is an interesting language because it it's a parody of of languages because it it's a parody of of languages because it it's a parody of of languages of its time but it still holds a lot of of its time but it still holds a lot of of its time but it still holds a lot of power and how it sort of comments on on power and how it sort of comments on on power and how it sort of comments on on the experience of of coding. It the experience of of coding. It the experience of of coding. It certainly makes coding difficult. certainly makes coding difficult. certainly makes coding difficult. So, one of the famous features of of So, one of the famous features of of So, one of the famous features of of inner cow is the the please operator. If inner cow is the the please operator. If inner cow is the the please operator. If you don't say please enough, it finds you don't say please enough, it finds you don't say please enough, it finds you rude and ignores your entire you rude and ignores your entire you rude and ignores your entire program. But if you say please too much, program. But if you say please too much, program. But if you say please too much, then it finds you simpering and it also then it finds you simpering and it also then it finds you simpering and it also just ignores the entire program. And in just ignores the entire program. And in just ignores the entire program. And in the original version, this it was not the original version, this it was not the original version, this it was not documented how much please you had to documented how much please you had to documented how much please you had to use. And so, so inter I I interviewed use. And so, so inter I I interviewed use. And so, so inter I I interviewed Don Wood for for codes. Um, and actually Don Wood for for codes. Um, and actually Don Wood for for codes. Um, and actually Don just recently found the long lost uh Don just recently found the long lost uh Don just recently found the long lost uh code for the original Intercal compiler code for the original Intercal compiler code for the original Intercal compiler which we were very happy to to put which we were very happy to to put which we were very happy to to put online uh earlier this year. online uh earlier this year. online uh earlier this year. >> But it's so funny. I just want to call >> But it's so funny. I just want to call >> But it's so funny. I just want to call out that intercal which is pronounced out that intercal which is pronounced out that intercal which is pronounced and abbreviated intercal the full name and abbreviated intercal the full name and abbreviated intercal the full name for the compiler is compiler language for the compiler is compiler language for the compiler is compiler language with no pronouncable acronym.
-
with no pronouncable acronym. with no pronouncable acronym. >> Yeah, I forgotten that. [laughter] >> Yeah, I forgotten that. [laughter] >> Yeah, I forgotten that. [laughter] >> Of course you called that intercal. I'm >> Of course you called that intercal. I'm >> Of course you called that intercal. I'm sorry you were saying. [gasps] sorry you were saying. [gasps] sorry you were saying. [gasps] >> Yeah. So language one in the book which >> Yeah. So language one in the book which >> Yeah. So language one in the book which which is the actually the second which is the actually the second which is the actually the second language uh is called Olympus and language uh is called Olympus and language uh is called Olympus and Olympus was inspired in part by intercal Olympus was inspired in part by intercal Olympus was inspired in part by intercal uh the idea was if you can have this uh the idea was if you can have this uh the idea was if you can have this this interpreter that has this this interpreter that has this this interpreter that has this personality. personality. personality. What if we had eight of them? What if we What if we had eight of them? What if we What if we had eight of them? What if we had the Greek gods and each one of them had the Greek gods and each one of them had the Greek gods and each one of them might get sort of annoyed with you and might get sort of annoyed with you and might get sort of annoyed with you and ignore the entire program? Uh each one ignore the entire program? Uh each one ignore the entire program? Uh each one of them might ask different things of of them might ask different things of of them might ask different things of you in order to make the code runnable. you in order to make the code runnable. you in order to make the code runnable. And so I constructed that language in And so I constructed that language in And so I constructed that language in such a way where if you want to do such a way where if you want to do such a way where if you want to do structural things, you have to pray to structural things, you have to pray to structural things, you have to pray to Zeus or Athena. But if you want to close Zeus or Athena. But if you want to close Zeus or Athena. But if you want to close a block of code, instead of doing it a block of code, instead of doing it a block of code, instead of doing it with a right curly bracket, you call on with a right curly bracket, you call on with a right curly bracket, you call on Hades to collect the souls of any Hades to collect the souls of any Hades to collect the souls of any variables that remain uh to live on in variables that remain uh to live on in variables that remain uh to live on in his nether world. And one of the things his nether world. And one of the things his nether world. And one of the things about this is you have to give the god about this is you have to give the god about this is you have to give the god uh proper praise and it has to be uh proper praise and it has to be uh proper praise and it has to be measure it with what you're asking of measure it with what you're asking of measure it with what you're asking of them, what the complexity of that line them, what the complexity of that line them, what the complexity of that line of code is. And if you piss them off, if of code is. And if you piss them off, if of code is. And if you piss them off, if you piss off Zeus, he's just gonna you piss off Zeus, he's just gonna you piss off Zeus, he's just gonna ignore you for the rest of the program, ignore you for the rest of the program, ignore you for the rest of the program, but the other gods will still keep doing but the other gods will still keep doing but the other gods will still keep doing the work. So you'll get this this thing the work. So you'll get this this thing the work. So you'll get this this thing where every few lines of code will run where every few lines of code will run where every few lines of code will run and some won't and so on. And it's and some won't and so on. And it's and some won't and so on. And it's actually something you could take actually something you could take actually something you could take advantage of if you wanted to, although advantage of if you wanted to, although advantage of if you wanted to, although I'm not really sure why uh what the I'm not really sure why uh what the I'm not really sure why uh what the strategy would be exactly, but that that strategy would be exactly, but that that strategy would be exactly, but that that all that was really inspired by by inner all that was really inspired by by inner all that was really inspired by by inner cal. That definitely brings the uh the cal. That definitely brings the uh the cal. That definitely brings the uh the the demo gods that that I seem to always the demo gods that that I seem to always the demo gods that that I seem to always fail to worship, then my demos fail or
-
fail to worship, then my demos fail or fail to worship, then my demos fail or my presentations fail to uh uh the next my presentations fail to uh uh the next my presentations fail to uh uh the next level. So, the book is 44 langs. You can level. So, the book is 44 langs. You can level. So, the book is 44 langs. You can get it at danieltempkin.com. get it at danieltempkin.com. get it at danieltempkin.com. It's available at Amazon and everywhere It's available at Amazon and everywhere It's available at Amazon and everywhere that you can find books. You're also on that you can find books. You're also on that you can find books. You're also on a speaking tour of source of sorts. I a speaking tour of source of sorts. I a speaking tour of source of sorts. I think you're going to you were just in think you're going to you were just in think you're going to you were just in Portland, uh Oregon, where I am at. Portland, uh Oregon, where I am at. Portland, uh Oregon, where I am at. You're You're You're >> I'm going to be there. Oh, you're going >> I'm going to be there. Oh, you're going >> I'm going to be there. Oh, you're going to be there yet? Oh, it's October. Yeah, to be there yet? Oh, it's October. Yeah, to be there yet? Oh, it's October. Yeah, you're going to be at the PX Hacker you're going to be at the PX Hacker you're going to be at the PX Hacker space in a couple of weeks. space in a couple of weeks. space in a couple of weeks. >> So, I'm in Portland. I'll come and check >> So, I'm in Portland. I'll come and check >> So, I'm in Portland. I'll come and check you out. You're going to be up in you out. You're going to be up in you out. You're going to be up in Seattle as well. Seattle as well. Seattle as well. >> Uh, so folks should take a look at >> Uh, so folks should take a look at >> Uh, so folks should take a look at danieltempkin.com/solangs danieltempkin.com/solangs danieltempkin.com/solangs for upcoming speaking dates, some of the for upcoming speaking dates, some of the for upcoming speaking dates, some of the press that you've been doing on the press that you've been doing on the press that you've been doing on the book, and you can again pick that up book, and you can again pick that up book, and you can again pick that up anywhere that you get books. It's from anywhere that you get books. It's from anywhere that you get books. It's from MIT Press. Thank you so much, Daniel MIT Press. Thank you so much, Daniel MIT Press. Thank you so much, Daniel Tempin, for chatting with me today. Tempin, for chatting with me today. Tempin, for chatting with me today. >> Thank you. This has been another episode >> Thank you. This has been another episode >> Thank you. This has been another episode of Hansel Minutes and we'll see you of Hansel Minutes and we'll see you of Hansel Minutes and we'll see you again next week.
Summary
The transcript discusses the book "44 Esolang," a monograph exploring esoteric programming languages. It highlights "Stroll" as a unique language requiring human movement and mentions Text Control as a supporter of the developer community. The takeaway is that unconventional programming languages can be fascinating and that the book aims to bridge the gap between programming and art communities.