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).
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.