Coding by SMS text message - Computerphile

The Origins and Purpose of the Text API System

As a new user, I created an account and sent my first text message to the server, which served as a "knock on the door" to let it know I was there. The text service server received the message and made a post request to the server, passing on my greeting to set up my environment. To begin, I selected a Husk environment, which allowed me to use Haskell code and false (a single-line interpreter) to work in an environment that could compile and execute code.

Setting Up the Environment

I chose the Husk environment because of its simplicity and practicality. In this setting, I could interact with the system using text-based commands. Once set up, I sent a test command to the server, which replied with "please send environment choice and board of persistence." I responded by selecting the environment settings as described, and the system accepted my choices.

Practical Applications of the System

With my environment set up, I began exploring the potential uses of the system. One practical application is using it as a calculator. I sent a command to calculate 1+1, which returned the result immediately. Next, I tested the system with more complex inputs, such as "map + one from 0 to 20," which added 1 to each number in the range and returned a list of results.

Interpreting Languages

The system allows users to run interactive interpreters for various languages, including Python, Haskell, and Ruby. In these environments, users can type code into the system's text-based interface, which then evaluates it and returns the result. This feature enables users to test and develop code in a convenient, text-based setting.

Real-World Applications of the System

While initially intended to be "useless," the system has proven itself to have practical uses. For example, educators can use the system to create interactive classroom tools or facilitate group discussions. Users on-the-go can also utilize the system to quickly evaluate mathematical expressions or solve problems, making it a valuable resource for anyone in need of a quick solution.

Future Development and Limitations

The developer is currently working on incorporating additional languages into the system, including Python, Ruby, and Pearl. However, these features are disabled due to safety concerns, which means they require more work before being fully integrated. Despite this limitation, the developer acknowledges that the system does have valid use cases and is not as ridiculous as initially thought.

Personal Experience with the System

I am currently using the system for my own purposes, including testing code snippets and evaluating mathematical expressions. The ability to quickly evaluate code in a text-based setting has been a game-changer for me, allowing me to work on problems in a convenient and efficient manner. While I have limited credit on the tech system, I plan to continue exploring its capabilities and finding creative ways to utilize it.

"WEBVTTKind: captionsLanguage: entext eval print Loop um it's a interactive interpreter which is a play on reppel which is a standard to computer scientist so it takes your code um evals it prints it and then gives it back to you um but the difference here is that instead of printing it instead of uh typing it in your computer you text it um and then it texts it back to you so it's completely computerless don't need in the internet don't need any software set up you just text it and you're good to go it was a challenge for the most ridiculous use of a text API um and I couldn't think of any more ridic things to do with text and programming with it when you send a text to my number it will send a request to my server which I will start so the server is written no. JS so I'm going to start the server with node.js main two so that's now started and that's now listening for requests so when you send a post request to that server it will go about interpreting it as a text so I'm a new user I haven't got an account set up so I text it hello just to give it a knock on the door to let it know I'm there so that text has gone off to the text Services server which then takes the text and does a post request to it to my server so that text gone through and it's picked me up as a user so the server has replied please send environment choice and board of persistance that's asking me to set up my environment so I'm going to set up my environment as a huskin environment so I'm going do hasle and false has to all be in lowercase hasool sets The hasool Interpreter so it will be compiling hasool code and false uh means I'm working in a single line environment um you can work in like off of a file so you can build up variables and work in multiple lines and do more complex things but in this case we're go something simple so that's now been accepted um so I'm now set up as a user so I've got setup accepted come at me bro cuz my server is a bit antagonistic so I can now text it code so for example I can use it as a calculator because that's a practical use for it why not so I can text it OnePlus One because I really want to wait to find out what OnePlus One is oh that went really quick hasn't sent me any craft just sent me the result of what I wanted so I do it something more complex if I now text it map + one from 0 to 20 which is taking me a long time it's not a practical way to program every element in that list it will add one to it and then it will return me the result of that which should be 21 things all with one added to them so we go that's gone in and it's got the as you can see it's got my input here and the output here so that has text me the result of that file which also has my previous result in it for some reason so there we go I've got the list of results so I asked for a list of 0o to 20 um so that should give me 21 things and then I've added one to each one of them so it starts from one and goes up to 21 if you've got a language that can be interpreted say for example python or hascal or Ruby um you can run an interactive interpreter so that will be the python command um the ghci command the Ruby command and then in that you get a single line environment where you can type in the piece of code um and The Interpreter will evaluate it and print out the result what this does is takes text from a text and feeds that into an interpreter and then text back to the result so it's using the standard interpreters that you use on your computer if you develop this way every day um but it's just wrapping them in a text API um which yeah allows you to set use them by text um so you could actually use this for any command line thing like for example Cay so C is a fun Unix program where you give it a string and it draws a cow in asy saying that string and you can use it for stuff like that you could use it for any command line arguments I suppose there's going to be other uses for this system than what we've used it for so far um which is a bit disappointing because again it's meant to be useless it was originally made to be completely ludicrous but unfortunately it's actually ended up being somewhat useful and I'm blaming that on the reason that this didn't win um I've like for example use case of it is if you're a lecturer and you're teaching a high school class um you could put this number up and you can use it for some classroom interaction or use that I'm actually genuinely using it for now is if you're out and about and um you you've been thinking about SLE day you've been got some bit of code that's troubling you and you finally think of something that oh this might work you can evaluate it straight away and have a go at it um so it has does actually have some valid use cases it's a bit of a shame that I've only got limited credit on the tech system or I would use it forever but yeah so it's not as ridiculous as it had first seemed um I'm currently also building some other languages into it so python Ruby and pearl do work but they're disabled at the moment because they're unsafe and we nuke everything so we got our tweet here all the chocolate bars are available but not as nice Daniel purchased a 50p confection room so actually it is actually generic it is very generictext eval print Loop um it's a interactive interpreter which is a play on reppel which is a standard to computer scientist so it takes your code um evals it prints it and then gives it back to you um but the difference here is that instead of printing it instead of uh typing it in your computer you text it um and then it texts it back to you so it's completely computerless don't need in the internet don't need any software set up you just text it and you're good to go it was a challenge for the most ridiculous use of a text API um and I couldn't think of any more ridic things to do with text and programming with it when you send a text to my number it will send a request to my server which I will start so the server is written no. JS so I'm going to start the server with node.js main two so that's now started and that's now listening for requests so when you send a post request to that server it will go about interpreting it as a text so I'm a new user I haven't got an account set up so I text it hello just to give it a knock on the door to let it know I'm there so that text has gone off to the text Services server which then takes the text and does a post request to it to my server so that text gone through and it's picked me up as a user so the server has replied please send environment choice and board of persistance that's asking me to set up my environment so I'm going to set up my environment as a huskin environment so I'm going do hasle and false has to all be in lowercase hasool sets The hasool Interpreter so it will be compiling hasool code and false uh means I'm working in a single line environment um you can work in like off of a file so you can build up variables and work in multiple lines and do more complex things but in this case we're go something simple so that's now been accepted um so I'm now set up as a user so I've got setup accepted come at me bro cuz my server is a bit antagonistic so I can now text it code so for example I can use it as a calculator because that's a practical use for it why not so I can text it OnePlus One because I really want to wait to find out what OnePlus One is oh that went really quick hasn't sent me any craft just sent me the result of what I wanted so I do it something more complex if I now text it map + one from 0 to 20 which is taking me a long time it's not a practical way to program every element in that list it will add one to it and then it will return me the result of that which should be 21 things all with one added to them so we go that's gone in and it's got the as you can see it's got my input here and the output here so that has text me the result of that file which also has my previous result in it for some reason so there we go I've got the list of results so I asked for a list of 0o to 20 um so that should give me 21 things and then I've added one to each one of them so it starts from one and goes up to 21 if you've got a language that can be interpreted say for example python or hascal or Ruby um you can run an interactive interpreter so that will be the python command um the ghci command the Ruby command and then in that you get a single line environment where you can type in the piece of code um and The Interpreter will evaluate it and print out the result what this does is takes text from a text and feeds that into an interpreter and then text back to the result so it's using the standard interpreters that you use on your computer if you develop this way every day um but it's just wrapping them in a text API um which yeah allows you to set use them by text um so you could actually use this for any command line thing like for example Cay so C is a fun Unix program where you give it a string and it draws a cow in asy saying that string and you can use it for stuff like that you could use it for any command line arguments I suppose there's going to be other uses for this system than what we've used it for so far um which is a bit disappointing because again it's meant to be useless it was originally made to be completely ludicrous but unfortunately it's actually ended up being somewhat useful and I'm blaming that on the reason that this didn't win um I've like for example use case of it is if you're a lecturer and you're teaching a high school class um you could put this number up and you can use it for some classroom interaction or use that I'm actually genuinely using it for now is if you're out and about and um you you've been thinking about SLE day you've been got some bit of code that's troubling you and you finally think of something that oh this might work you can evaluate it straight away and have a go at it um so it has does actually have some valid use cases it's a bit of a shame that I've only got limited credit on the tech system or I would use it forever but yeah so it's not as ridiculous as it had first seemed um I'm currently also building some other languages into it so python Ruby and pearl do work but they're disabled at the moment because they're unsafe and we nuke everything so we got our tweet here all the chocolate bars are available but not as nice Daniel purchased a 50p confection room so actually it is actually generic it is very generic\n"