Divirta-se com o cowsay

O cowsay é um pequeno aplicativo escrito em Perl, que pode ser usado para espairecer e refrescar os pensamentos, no Linux.
Resumidamente, é uma vaca configurável e falante.

O aplicativo exibe uma vaquinha em ASCII (veja a imagem abaixo), com uma mensagem dentro de um balão.
cowsay ascii art

Um ótimo lugar para usar o programa é de dentro de seus script, toda vez que precisar se comunicar com o seu usuário.

A vaquinha pode ser uma maneira simpática de avisar que “algo deu errado” ou anunciar o sucesso de alguma operação.
Você é que sabe.

Instale o cowsay a partir do repositório oficial da sua distro. No Debian e Ubuntu, use o apt:


sudo apt install cowsay

Execute o programa, fornecendo uma pequena linha de texto:


cowsay "O site elias.praciano.com tem vários artigos sobre Linux"

/ O site elias.praciano.com tem vários \
\ artigos sobre Linux                  /
 --------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Fácil, não é?

Experimente especificar a largura (width, em inglês) máxima de cada linha, dentro do balão:


cowsay -W10 "___elias .praciano .com___"

 ___________
/ ___elias  \
| .praciano |
\ .com___   /
 -----------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Use a vaquinha no modo Borg (repare nos olhinhos…) com a opção -b:


cowsay -W35 -b "WEBSITE: https://elias.praciano.com TWITTER: https://twitter.com/coisasdogeek"

 __________________________________
/ WEBSITE:                         \
| https://elias.praciano.com       |
| TWITTER:                         |
\ https://twitter.com/coisasdogeek /
 ----------------------------------
        \   ^__^
         \  (==)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Eu não curto maus tratos aos animais… mas existe o modo da vaquinha morta (dead cow), com a opção -d:


cowsay -W15 -d "Eu estou parecendo o cachorro do Elias, que dorme com a língua de fora... "

 _____________
/ Eu estou    \
| parecendo o |
| cachorro do |
| Elias, que  |
| dorme com a |
| língua de   |
\ fora...     /
 -------------
        \   ^__^
         \  (xx)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Experimente usar a opção -g:


cowsay -W15 -g "A opção -g invoca o modo greedy, ou seja, modo ganancioso."

 _______________
/ A opção -g    \
| invoca o modo |
| greedy, ou    |
| seja, modo    |
\ ganancioso.   /
 ---------------
        \   ^__^
         \  ($$)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Segue o modo paranoia, com -p:


cowsay -W15 -p "Modo «paranoia»"

 ____________
/ Modo       \
\ «paranoia» /
 ------------
        \   ^__^
         \  (@@)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Vaquinha chapada com -s:


cowsay -s "Modo chapada ou «stoned»"

 __________________________
< Modo chapada ou «stoned» >
 --------------------------
        \   ^__^
         \  (**)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Vaquinha cansada, com -t:


cowsay -t "Modo cansada ou «tired»"

 _________________________
< Modo cansada ou «tired» >
 -------------------------
        \   ^__^
         \  (--)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Experimente ainda estas outras opções:

  • -y — Vaca rejuvenescida (youthful)
  • -w — Oposto de cansada

Se quiser ajustar por conta própria os olhos da vaca, use a opção -e:


cowsay -e "↓↓" "meus olhinhos"

 _______________
< meus olhinhos >
 ---------------
        \   ^__^
         \  (↓↓)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Altere a aparência da língua da vaca com -T:


cowsay -T "YY" "minha pequena linguinha"

 _________________________
< minha pequena linguinha >
 -------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
             YY ||----w |
                ||     ||

Você quer outros animais?

Se você não gosta de vaquinhas simpáticas, experimente um dos outros vários animais disponíveis pelo programa.
Com a opção -l, é possível listar todos:


cowsay -l

Cow files in /usr/share/cowsay/cows:
apt bud-frogs bunny calvin cheese cock cower daemon default dragon
dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu hellokitty kiss koala kosh luke-koala mech-and-cow milk
moofasa moose pony pony-smaller ren sheep skeleton snowman stegosaurus
stimpy suse three-eyes turkey turtle tux unipony unipony-smaller vader
vader-koala www

Como são mais de 40 opções, vou deixar para você a surpresa ao explorá-las, uma a uma.

Por fim, você pode direcionar o output de comandos para utilitário com um pipe:


uptime | cowsay -f daemon

 _____________________________________
/  16:53:14 up 5 days, 22:25, 1 user, \
\ load average: 0,25, 0,43, 0,58      /
 -------------------------------------
   \         ,        ,
    \       /(        )`
     \      \ \___   / |
            /- _  `-/  '
           (/\/ \ \   /\
           / /   | `    \
           O O   ) /    |
           `-^--'`<     '
          (_.)  _  )   /
           `.___/`    /
             `-----' /
<----.     __ / __   \
<----|====O)))==) \) /====
<----'    `--' `.__,' \
             |        |
              \       /
        ______( (_  / \______
      ,'  ,-----'   |        \
      `--{__________)        \/

Faça chover no seu terminal com este script Python

A tarefa deste pequeno script Python é simular chuva no seu terminal.
O meu exemplo foi rodado com o Python 2, em uma máquina Debian Linux. Sinta-se à vontade para experimentar em outras plataformas contudo.

O script, abaixo, joga 100 “gotas” aleatórias de “chuva” no seu terminal e é um ótimo exemplo do uso da função random no Python.

Se você não tiver um compilador ou interpretador Python disponível, no momento, experimente um destes compiladores/interpretadores online.
python como fazer chover ou nevar no terminal
Veja o que mais o script faz:

  • o script usa o caractere “/” para representar as gotas de chuva. Mas você pode escolher qualquer outro.
    Se você trocar o caractere “/” para ” ‘ “, o efeito vai parecer que está caindo neve no seu terminal;
  • ao final da chuva, uma mensagem é exibida centralizada na tela.
  • roda em qualquer tamanho de terminal;

Segue o código:

import curses
import random
import time

myscreen = curses.initscr()
curses.curs_set(0) # no cursor please 
HEIGHT, WIDTH = myscreen.getmaxyx() 
RAIN = '/' # altere aqui a aparencia da sua gota de chuva 
TIME = 10 

def make_it_rain(window, tot_time, msg, wait_time, num_drops):
    """
    window    :: a janela no curses 
    time      :: duracao da chuva
    msg       :: mensagem exibida ao final da chuva
    wait_time :: tempo de espera entre cada quadro
    num_drops :: quantidade de gotas
    """
    for _ in range(tot_time):
        for i in range(num_drops):
            x,y=random.randint(1, HEIGHT-2),random.randint(1,WIDTH-2)       
            window.addstr(x,y,RAIN)
        window.refresh()
        time.sleep(wait_time)
        window.erase()

    window.refresh()
    window.addstr(HEIGHT/2, int(WIDTH/2.7), msg)


if __name__ == '__main__':
    make_it_rain(myscreen, TIME, 'IT HAS STOPPED RAINING!', 0.2, 100)
    myscreen.getch()
    curses.endwin()

Eu gravei o meu script com o nome de chuva.py
Compile, com o Python 2:

python2 chuva.py

Referências

http://codegolf.stackexchange.com/questions/107545/its-raining-in-terminal.

Transforme a webcam em um espelho côncavo com o mplayer no Linux

Esta dica faz uso do programa mplayer para distorcer a imagem obtida pela sua webcam e exibi-la ao vivo em um quadro, na sua tela.
O procedimento pode ser usado por qualquer usuário iniciante (se você estiver com disposição para se divertir um pouco, será melhor ainda).
Note que é necessário usar os softwares contidos no pacote do mplayer2 — a versão padrão do mplayer, que vem instalada no Ubuntu 14.04 ou Debian 7.0 não permite fazer a brincadeira.
Para isto, faça a instalação do pacote:

sudo apt-get install mplayer2

Aguarde a instalação.
Agora, execute o seguinte comando:

mplayer --vf=geq='(p(X\,Y*sin(X/128))-0)' tv://

captura de tela do mplayer webcam
Na verdade, não sou tão feio assim… :p

Você pode alterar o valor do seno, entre parẽnteses sin(X/128). Originalmente, o valor usado era sin(X/512).
Faça as suas experiências.
A opção --vf=geq faz uso de um dos muitos recursos do mplayer: os filtros.
Ela ativa o filtro de equações — que pode usar várias constantes.


Se tiver filhos, eles(as) irão adorar a brincadeira.
Divirta-se!