Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


cafebabe (894)

cafebabe
(email not shown publicly)

Journal of cafebabe (894)

The Fine Print: The following are owned by whoever posted them. We are not responsible for them in any way.
Thursday July 21, 16
12:41 PM
Software

Before pictures of cats were popular on the Internet, we had text cows:-

$ fortune | cowsay
 ----------------------------------
| What's the major use of cowhide? |
|                                  |
| Holding cows together.           |
 ----------------------------------
     \
      \   ^__^
       \  (oo)\_______
          (__)\       )\/\
              ||----w |
              ||     ||

And now the popular cowsay utility has been cow-patched to handle multi-line input correctly, especially if it contains UTF-8. Here's the archive with a SHA1 of d3cc231704eb8575941478be3ebbc19fb6b0f5c4:-

begin 644 cowsay-3.03c.tar.gz
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
M(EA@>EVR^)N&LD*HT*B<JTDN#>?S#^'XWBC?\O:?X?#/]7*DG\?ZSX'YYZ
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
M_OUD/D61]'_4:<5)__.%?(C^EY+ZC['R_]W;X:U+OC(1(O@'V7U,_S&0+(
MM\XWCTV_VVS'F@3,[Q.ONM[\%1PKLK8>G@0K]&&N2:DI2!=/0CA8LWUK=2&I
MH+!+I85=$JI3&-2A^/A<2W<`NA:(3R*ZV1V'?0+4?2/*HB_&X&DE&>>MDI:Z
M(9EW9::#@M373SD9K)S`-/T6UM<THD^4T8U`>>F9*RGN$L:TJ]>T1\&'A>5+
MY'C&/_:6A(H]^R6JB7C)+7A-]?0NS.G$@K<*3835`NR$$96C)SP=#`&%'>8O
M,%D);9Y-`YPW)E%>XVDP.X*R#,]Z$SP%8+5J3R_?Q=::_B;(>Y<$U?TP]/]+
MW/&_A:5_Y9:8U)^'P'^(_RTF^7]BE?^/X2-]:J)^TQW<#E_TK:%[/K*'[4YK
MV&[8G7:/OA;NX,+N=_Y8I+!PWO,0#7$=UU>\D64E.SK&2LHMP$#2UTXD:$]Q
M2=?!=3&"H2!SA>$I(\%"?P[^QV=G#^;Y<3?XK^1SX?B?!/[CA'](_4N!F:?]
M0.<4ZM%IH]/AZ4"LGG7I#GK1,0`N100#IW7;FJKW7T#^H(6GQKTR#BF1@6$[
M'3M"B!GTLH^G4B82*B;A<ZO.Y38`;7:XJ+SJ%Z:YA7DL7QHATX%8I&`?TWL=
MRCVUSR\IQ??^5H2EP7__HN_TQ\U.^]0!$\#HRR@6_X\\S_\)1#^7*PO[7^+_
M$<O&0&-M<VO['=K;VD-[AVMOMM?1Z\T3M/9F=_TUZS8^M@;#MMM;1@6[8A<,
MH_M^_=WJUW<'BZ]*JZNKFYNK;]N=]=,O;]YN__[VW?'E)[?UZG.SM;/5>^6^
MWLOM]%]OM#Y_K51^7^MLW.PMGHV-E]<?UUY=W;[;'A\6W<'KUE('-XZW]W_]
M<-K_//AR=MH=?/[\]6:\EF]\+/WZL32\^;!T_>3P^/KZR<E>*;]W9N3[QR?'
M[UJ=XU?=S5SK]<'Y:>_JZF7WY,/.VO%>8^_=AYWBH/^I_VEW\ZAX<'XQ&%RV
M?G_?K=S@RO;.ZNKAOC%:ZQ\V"^7R]F;^NMG;N?YTL/KKV=:3<>MP;=PLG(Z;
MW8^YO<'[LX_0=K#VCHZ];18.+_9>[8]@WV@6/JXVNT]Z;[KESME&96=UYW!C
M;7^UT-Q8+;^L]->;@PWL7ERMK1[L?EK%3XY')P?]T[W/_7:E\/;#YJ>.T5F\
M^9@?7H\ZAYV]Z]=7&YM++]>>-&]Z;YLO\R\OMBX_M/"K$O[U]XUQ(=<MM[:^
MO#TN_[K?7GJU=WST^?,.-M8'AT=OOVY];%[D=]:N+BX7SYZ\O]Z\O>GNYSZ7
MCEI?&^WSHWQOO?GE*K<U.,KO?=ZYW6H6K[XL70^V7^9?=XTOH\K'FR\?+LYW
MOG[>;KMK.R^;I<WVQFWCS?O>M.N&RWZ??_?Q_4%YW?ATO#/X]+]VZ]`(0!``
MH&AG%2M$F]`@Z'E,8",0'=\[!S`9WYOAA]_O<1VI[.5<PMIGC>&-)K?MHRCC
3!0````````#PDP<PKBE*`!@!````
`
end

And here are some example uses:-

$ cowsay -f frog Hey, man. This lillipad is `df | perl -e 'while(defined($line=<STDIN>)){@field=split(/[ \t\n\r]+/,$line);if((index($ENV{'PWD'},$field[5])==0)&&(length($mount)<length($field[5]))){$mount=$field[5];$avail=$field[4]}}print $avail,"\n"'` full. Ribbit.
 ----------------------------------------------
| Hey, man. This lillipad is 99% full. Ribbit. |
 ----------------------------------------------
     \
      \
          oO)-.                       .-(Oo
         /__  _\                     /_  __\
         \  \(  |     ()~()         |  )/  /
          \__|\ |    (-___-)        | /|__/
          '  '--'    ==`-'==        '--'  '

If you're particularly inclined, you can chain/nest instances of cowsay:-

$ ls -l / | cowsay | cowsay | cowthink
 ----------------------------------------------------------------
(  ------------------------------------------------------------  )
( |  --------------------------------------------------------  | )
( | | total 84                                               | | )
( | | drwxr-xr-x   2 root root  4096 May 10 23:11 bin        | | )
( | | drwxr-xr-x   3 root root 16384 Jan  1  1970 boot       | | )
( | | drwxr-xr-x  12 root root  3240 May 28 11:17 dev        | | )
( | | drwxr-xr-x 111 root root  4096 May 28 23:31 etc        | | )
( | | drwxr-xr-x   3 root root  4096 May 10 22:57 home       | | )
( | | drwxr-xr-x  19 root root  4096 May 10 23:12 lib        | | )
( | | drwx------   2 root root 16384 May 10 23:38 lost+found | | )
( | | drwxr-xr-x   2 root root  4096 May 10 22:52 media      | | )
( | | drwxr-xr-x   2 root root  4096 May 10 22:52 mnt        | | )
( | | drwxr-xr-x   7 root root  4096 May 10 23:30 opt        | | )
( | | dr-xr-xr-x 104 root root     0 Jan  1  1970 proc       | | )
( | | drwx------   5 root root  4096 Jun  1 09:04 root       | | )
( | | drwxr-xr-x  12 root root   320 May 28 11:17 run        | | )
( | | drwxr-xr-x   2 root root  4096 Jun  1 05:17 sbin       | | )
( | | drwxr-xr-x   2 root root  4096 May 10 22:52 srv        | | )
( | | dr-xr-xr-x  12 root root     0 May 28 11:17 sys        | | )
( | | drwxrwxrwt  17 root root  4096 Jun  1 09:53 tmp        | | )
( | | drwxr-xr-x  11 root root  4096 May 10 23:27 usr        | | )
( | | drwxr-xr-x  11 root root  4096 May 28 23:27 var        | | )
( |  --------------------------------------------------------  | )
( |      \                                                     | )
( |       \   ^__^                                             | )
( |        \  (oo)\_______                                     | )
( |           (__)\       )\/\                                 | )
( |               ||----w |                                    | )
( |               ||     ||                                    | )
(  ------------------------------------------------------------  )
(      \                                                         )
(       \   ^__^                                                 )
(        \  (oo)\_______                                         )
(           (__)\       )\/\                                     )
(               ||----w |                                        )
(               ||     ||                                        )
 ----------------------------------------------------------------
     o
      o   ^__^
       o  (oo)\_______
          (__)\       )\/\
              ||----w |
              ||     ||

Display Options Threshold/Breakthrough Reply to Article Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0) by Anonymous Coward on Thursday July 21 2016, @04:58PM

    by Anonymous Coward on Thursday July 21 2016, @04:58PM (#378008)

    Since you assume a mono space font, it might be better to use semigraohical characters to draw with. An example of what I am thinking of are things like the box-drawing characters in code page 437. I believe they are in Unicode somewhere. Plus, that way you can give the cow spots too. My memory is that the cows used to have spots, or was that the dogcow?