Skip to main content

Star Wars ASCIImation with Python - Windows

In this post, we'll watch a Star Wars movie in ASCII format.
The only thing we need for this demo is Python-installed PC and internet connection.

Figure: Screenshots from Python Command line while Star Wars is being streamed


All credits gained in this demo will go to "blinkenlights.nl" [2] website, which broadcasts this ASCII movie using Telnet protocol on Port 23, and Python which makes socket implementation very easy for us. No authentication is needed for this broadcast.

Anyone who is able to create a TCP socket and listens blinkenlights.nl on port 23 would be able to get this stream and display on their Python command line.


CODE

My main source for Python source code is [1].

What  code below does is simply importing Python "socket" library, create a socket, use "towel.blinkenlights.nl" address variable to create connection, receive data from socket and display it. While typing (copy/paste) code, be careful about indentation. Don't forget that Python is sensitive about indentation since it interprets tab characters as function blocks (parenthesis and curly brackets in C-style languages)

Note that main body of the code is within an infinite loop. If you want to interrupt/stop streaming, use "Ctrl + C" key combination.


import socket
addr_info = socket.getaddrinfo("towel.blinkenlights.nl", 23)
addr = addr_info[0][-1]
s = socket.socket()
s.connect(addr)
while True:
 data = s.recv(500)
 print(str(data, 'utf8'), end='')



Figure: Code required for ASCIImation of Star Wars


TEST ENVIRONMENT
PC: Windows 10, 64-bit
Python Version: 3.6
REFERENCES
[1] https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/network_tcp.html#star-wars-asciimation [2] http://blinkenlights.nl/

Comments

Popular posts from this blog

Mobile App Review: Amnesty SOS

A. INTRODUCTION In this post, I will review Amnesty International's mobile app for you on both Android and iOS platforms. Amnesty International has already been doing its own part for years successfully to: Stop violation of human rights  Protect people and communities who are in immediate danger Now it is your turn to do your part and  Join this great community by taking actions for human rights Speak out for people facing with unlawful, inhumane treatment Encourage friends and family to raise their voices for human rights Collect more signatures and amplify your impact  Share on social media Figure : Amnesty SOS App on Google Play Store Figure : Amnesty SOS App on iOS App Store Android App details are as follows: Version : 1.1 Released on : Feb 20, 2018 Developer e-mail : digitalcomms@amnesty.ca iOS App details are as follows: Version : 1.1.1 Released on : April 2017 Developer e-mail : digitalcomms@amnesty.ca B. ...

How to Fill out a Cheque?

In this post, I will demonstrate how to fill out a cheque properly. You can have a cheque book either from your bank or any store. If you find these two suggestions expensive, you could also design and print out your own cheque. In Figure 1, a sample cheque is displayed and in Figure 2, some regions of the sample cheque are highlighted. Figure 1: Sample unfilled cheque. Figure 2: Some regions are highlighted in sample cheque. 1- Name and Address of Payer: Name and  address of the person who is the owner of this cheque and is filling out the cheque should be written in this region. 2- Date: For any official document, date is a mandatory field and hence you should write current date in this region. 3- Payee Name: Payee could be either a person or an organization (Store, Restaurant, Company, School etc.) You should write the name of the payee here explicitly. 4- Amount of Payment (Numeric): Exact amount of the payment should ...