¿Eres fan de la película Matrix? En ese caso, esto te encantará.

cmatrix es una pequeña aplicación que te permite mostrar en el terminal una animación al más puro estilo de esta famosa película de ciencia ficción.
Para instalarla, podemos acudir al Centro de software de Ubuntu o teclear en un terminal:
apt-get install cmatrix
Posteriormente, solo tenéis que teclear cmatrix en consola para iniciar la animación y Q para detenerla. Además, la aplicación acepta diferentes opciones y colores para configurarla a nuestro gusto. Por ejemplo, si queremos que la animación aparezca en amarillo teclearemos:
cmatrix -C yellow
O por ejemplo, si queremos que la animación aparezca en azul teclearemos:
cmatrix -C blue
Si deseáis consultar la lista completa de opciones, teclear:
man cmatrix
Un sencillo tip que os valdrá para “vacilar” a más de un amigo que se acerque a ver vuestra computadora.
Vía | jairoalejandros



#!/usr/bin/env python
# Uso: python matrix.py
import os, time, random, sys
class message(str):
def __new__(cls, text, speed):
self = super(message, cls).__new__(cls, text)
self.speed = speed
self.y = -1*len(text)
self.x = random.randint(0, display().width)
self.skip = 0
return self
def move(self):
if self.speed > self.skip:
self.skip += 1
else:
self.skip = 0
self.y += 1
class display(list):
def __init__(self):
self.height, self.width = [int(x) for x in os.popen('stty size', 'r').read().split()]
self[:] = [' ' for y in xrange(self.height) for x in xrange(self.width)]
def set_vertical(self, x, y, string):
string = string[::-1]
if x = self.width:
x = self.width-1
if y self.height:
string = string[0:self.height - y]
if y >= self.height:
return
start = y*self.width+x
length = self.width*(y+len(string))
step = self.width
self[start:length:step] = string
def __str__(self):
return ”.join(self)
i_message = raw_input(“Escribe un mensaje: “)
messages = [message(i_message, random.randint(1, 5))]
for t in xrange(1000):
messages.append(message(i_message, random.randint(1, 5)))
d = display()
for text in messages:
d.set_vertical(text.x, text.y, text)
text.move()
sys.stdout.write(str(d))
sys.stdout.flush()
del d
time.sleep(0.1)
entretenido, ahora voy a fingir que estoy leyendo codigo jeje.
saludos.
Esta no me la sabia, muy divertida, gracias por la info