Categories
Games Programação Tutoriais

Use este emulador de compilação para fingir que está trabalhando duro.

Aprenda um pouco mais de Bash scripting, com este pequeno código que imita um terminal executando uma falsa emulação de programa (que nunca termina).

De vez em quando precisamos de uma boa pausa para tomar um café e relaxar, antes de encarar os verdadeiros problemas do trabalho.
Com este script, em Bash, fica fácil deixar um terminal na tela do seu computador rodando “um monte de código desconexo” — que vai fazer os outros pensarem que você está “compilando alguma coisa muito importante”.
Este script pode ajudar a ganhar algum tempo precioso para você e (eu espero) tirar o chefe da sua cola por alguns minutos (mas não exagere…) 😉

Em outras palavras, o script vai te ajudar a “enrolar” no trabalho.

O que você precisa para rodar este script

O script mostra uma saída semelhante ao que você veria ao compilar um código em Python.
Ele é feito em Bash script e, portanto, você precisa ter suporte a esta linguagem — e não a Python.
Qualquer máquina Linux tem suporte a Bash.
Se você usa outro sistema operacional, baixe o suporte a Bash shell scripting aonde achar melhor e, depois, volte aqui (se quiser, claro).
elias praciano wallpaper and script

Como montar o emulador de compilação

Abra um editor de textos simples (eu usei o Nano).
Copie e cole o script dentro do editor, salve e vá para a linha de comando.
No terminal, rode o script:


bash ./emucomp.sh

Eu preferi gravar o meu script com o nome de emucomp.sh.
Se quiser, pode teclar F11 para deixar a execução em tela cheia — para evidenciar ainda mais que o PC ou laptop está ocupado com uma “tarefa importante”.

O script que emula a compilação de um código

Sugiro digitar na íntegra o código e, depois sair caçando os eventuais erros de digitação, se você tiver interesse em adquirir mais intimidade com programação.
Se esta não for a sua intenção, tá tudo ok em apenas copiar e colar o código.

#!/bin/bash
collect()
{
    while read line;do
        if [ -d "$line" ];then
            (for i in "$line"/*;do echo $i;done)|sort -R|collect
            echo $line
        elif [[ "$line" == *".h" ]];then
            echo $line
        fi
    done
}

sse="$(awk '/flags/{print;exit}' </proc/cpuinfo|grep -o 'sse\S*'|sed 's/^/-m/'|xargs)"

flags=""
pd="\\"

while true;do
    collect <<< /usr/include|cut -d/ -f4-|
    (
        while read line;do
            if [ "$(dirname "$line")" != "$pd" ];then
                x=$((RANDOM%8-3))
                if [[ "$x" != "-"* ]];then
                    ssef="$(sed 's/\( *\S\S*\)\{'"$x,$x"'\}$//' <<< "$sse")"
                fi
                pd="$(dirname "$line")"
                opt="-O$((RANDOM%4))"
                if [[ "$((RANDOM%2))" == 0 ]];then
                    pipe=-pipe
                fi
                case $((RANDOM%4)) in
                    0) arch=-m32;;
                    1) arch="";;
                    *) arch=-m64;;
                esac
                if [[ "$((RANDOM%3))" == 0 ]];then
                    gnu="-D_GNU_SOURCE=1 -D_REENTRANT -D_POSIX_C_SOURCE=200112L "
                fi
                flags="gcc -w $(xargs -n1 <<< "opt pipe gnu ssef arch"|sort -R|(while read line;do eval echo \$$line;done))"
            fi
            if [ -d "/usr/include/$line" ];then
                echo $flags -shared $(for i in /usr/include/$line/*.h;do cut -d/ -f4- <<< "$i"|sed 's/h$/o/';done) -o "$line"".so"
                sleep $((RANDOM%2+1))
            else
                line=$(sed 's/h$//' <<< "$line")
                echo $flags -c $line"c" -o $line"o"
                sleep 0.$((RANDOM%4))
            fi
        done
    )
done

Se preferir, torne o arquivo executável, para ficar mais fácil rodá-lo na linha de comando:


chmod +x emucomp.sh
./emucomp.sh

O código original deste script foi retirado deste site: https://codegolf.stackexchange.com/questions/30322/make-it-look-like-im-working.
O script usa informações sobre o próprio sistema para dar mais veracidade ao texto exibido. Como ele é projetado para não terminar nunca, você terá que teclar Ctrl + C, quando quiser que ele pare.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.