vak: (Улыбка)
[personal profile] vak
Спасибо [livejournal.com profile] ufm: еще одна веселая шутка.  Тот же тетрис, но написанный на языке sed.  Это такая утилита для потокового редактирования текста, если кто не в курсе.  В некотором приближении ее можно считать реализацией классических алгорифмов Маркова.  Там еще текст лицензии прикольный.
    This work ‘as-is’ I provide.
    No warranty express or implied.
      For no purpose fit,
      not even a wee bit.
    Liability for damages denied.

    Permission is granted hereby,
    to copy, share, and modify.
      Use it with glee,
      for profit or free.
    On this notice, these rights rely.
Скрипт на sed: http://uuner.doslash.org/forfun/sedtris.sed
Запускалка: http://uuner.doslash.org/forfun/sedtris.sh

Date: 2013-06-16 22:13 (UTC)
From: [identity profile] ufm.livejournal.com
#! /usr/bin/awk -f
# $Id: awktris.awk,v 1.4 2006/01/31 23:14:42 tnn Exp $

# awktris - tetris in 19 lines of code, or 1516 bytes.
# hand-crafted self-extracting AWK.

# (c) 2004 Tobias Nygren <tnn+awktris-awk@nygren.pp.se>
# Do whatever you like as long as I'm credited properly.

# Compatibility
# -------------
# mawk, popular on Linux systems, doesn't work because of aggressive input
# buffering. AWK was never intended for interactive use and awktris relies
# on a hack assuming the AWK implementation leaves terminal buffering alone.
# Use GNU awk instead.

# /usr/bin/awk on Solaris is horribly broken for other reasons. They however
# ship an /usr/bin/nawk which works fine. BSD awks and Tru64 work fine.


BEGIN{p="GgM{uWstty -g_;uKl=$0;close(u)}Gt(m~systemZstty _ m)}GqM{t(l);close("\
"e);exit(0)}Gp(s~printf(s)}GhM{pZ+';Ew=0;w<12;wO)pZ-';pZ+Tn'}GrM{t(l);pZT033["\
"H';hM;Ez=0;z<20;zO) {pZ|';Ew=0;w<12;wO~i=f[w+z*12];F(w-c)>=0&&(w-c)<4&&(z-d)"\
">=0&&(z-d)<4&&b[(w-c)+(z-d)*4]) iWX_;p(i)}pZ|Tn'}hM;printfZscore: %iQrows: %"\
"iQ%sQkeys: jklmqQtnn@netilium.org _,s,o,B);tZraw'}GnM{c=4;d=0;j=16*int(randM"\
"*6);Ei=0;i<16;iO)b[i]=substr(a,i+1+j,1)I_X_}GvM{N4;yO)L4;xO)FbY4]&&((V<0||V>"\
"=12||U<0||U>=20)||(f[V+(U)*12]!W '))R0;R1}A{pZT033[HT033[2J';gM;tZraw';aWaDD"\
"DDDDXDCaDXaaXDCCaXaaXXDCCaXXaaXDCDXDDCaXaaXXaaDC_;Ei=0;i<240;iO)f[i]W _;nM;e"\
"W((S :;do echo __;sleep 1;done)&(S :;do echo `dd bs=1 count=1`;done))2>/dev/"\
"null_;E;;~eKF$1I_q'qM;F$1I_j'{cP;F!vM)cO}F$1I_k'{N4;yO)L4;xO)mY4]=b[y+(3-x)*"\
"4];Ei=0;i<16;iO)b[i]=m[i];F!vM~N4;yO)L4;xO)mY4]=b[3-y+x*4];Ei=0;i<16;iO)b[i]"\
"=m[i]}}F$1I_l'{cO;F!vM)cP}F$1I_m'{S(vM~rM;dO}dP}F$1I_'{sP;dO;F!vM~dP;N4;yO)L"\
"4;xO)FbY4]&&V>=0&&V<12&&U>=0&&U<20)f[V+(U)*12]W#_;nM;j=0;N20;yO~k=1;L12;xO~F"\
"fY12]!W#'k=0}Fk~jO;oO;L12;xO~fY12]W+_;rM}Ei=y*12+11;i>11;iP)f[i]=f[i-12];Ei="\
"0;i<12;iO)f[i]W _}}FjI1~BWsingle!_;s+=50}FjI2~BWdouble!_;s+=200}FjI3~BWtripl"\
"e!_;s+=400}FjI4~BW*tetris*_;s+=800}}F!vM~BWend :Z;rM;qM}}rM}}";split("){/_)/"\
"(_/[x+y*/=_/c+x/d+y/\\/while/return / | /--/++/Ey=0;y</()/Ex=0;x</|getline;/"\ "==/function /if(/for(/XC/aaa/BEGIN/\"",b, "/");for(i=1;i<26;i++)gsub(substr(\ "~'ZYWVUTSRQPONMLKIGFEDCA_",i,1),b[i],p);system(ARGV[0] " '" p "'");exit(0)}

Date: 2013-06-17 11:01 (UTC)
From: [identity profile] tnt23.livejournal.com
Не совсем про шелл, но зато про тетрис. Старинная работа для номинации JustHack фестиваля Chaos Constructions HackAround '2007: Tetris for GSM modem

http://ftp.cc.org.ru/2007h/justhack/1_tnt23_hackvideo_divx.avi

Date: 2013-11-07 07:01 (UTC)
From: [identity profile] okhrim.livejournal.com
А есть какая-нибудь картинка с этим тетрисом?