Perl Advent Calendar 2008-12-21

Holiday Armadillo

by Jerrad Pierce

By way of demonstrating today's widget, and as a nod to Hannukah, we present the following humorous chart based on this graphic by Laura Zigman:

                                                            .--------.                                                                   (
                                         .-----------------( Hannukah )----------------.                         )                      (_)
                                         v                  '--------'                 v                        (_)    _     _     _    |~|    _     _     _     _
                                   .-----------.                                 .-----------.                  |~|   |~|   |~|   |~|   |:|   |~|   |~|   |~|   |~|
                                  ( "Fake" Jews )                               ( "Real" Jews )                 |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                   '-----------'                                 '-----------'                  |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                      .------.                                     .-------.                    |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                     ( Joyful )                                   ( Joyless )                   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                      '------'                                     '-------'                    |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                          *                                            |                        |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                                .------------------.                                   |                        |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|   |:|
                         .-----( "Jewish Christmas" )-----.                            |                        |:|   |:|   |:|   |:|  <+++>  |:|   |:|   |:|   |:|
                         v      '------------------'      v                            |                       <+++> <+++> <+++> <+++>  }~{  <+++> <+++> <+++> <+++>
         .------------------------------.        .-----------------.                   |                        }~{   }~{   }~{   }~{   {+}   }~{   }~{   }~{   }~{
        / "Hannukah bush:"               \      / "Hannukah Goose:" \                  |                        {+}   {+}   {+}   {+}   {+}   {+}   {+}   {+}   {+}
       /  * Festive ornaments             \    (  * Organic          )                 |                         {}    {}     {}    {}  {+}  {}    {}     {}    {}
      (   * Bright lights & shiny tinsel   )    \ * Free-range      /                  |                          `{}   `{}    `{}   {} {+} {}   {}`    {}`   {}`
       \  * Tons of presents              /      '-----------------'                   |                             `{}   `{}   `{}  {}{+}{}  {}`   {}`   {}`
        \                                /        .--------------.                     |                               `'{}{}{}{}{}{}{}{}+{}{}{}{}{}{}{}{}'`
         '------------------------------'        ( Spiked egg nog )                    |                                     `{}{}{}{}__/_\__{}{}{}{}`
                         |                        '--------------'                     |                                              \/   \/
                         v                                *                            |                                              /\___/\
             .----------------------.          .--------------------.                  |                                              ~~\_/~~
            ( Love of holiday season )        ( Love of food & drink )                 |                                                {+}
             '----------------------'          '--------------------'                  |                                                {+}
                         |                                |                            |                                             __<+++>__
                         |         .------------.         |                            |                                         ___{}{}\O/{}{}___
                         '------->( Love of life )<-------'                            |                                      __<+++++++jgs+++++++>__
                                   '------------'                                      |                                     {}{}{}{}{}{/O\}{}{}{}{}{}
                                                                                       v                                     `"""""""""""""""""""""""`
                                                                            .--------------------.
                .----------------------------------------------------------( "Festival of Lights" )---------------.-------------------------------.
                v                                      v                    '--------------------'                |                               v
   .------------------------.                 .-----------------.                 .---------.   .-------.         v     .------.       .---------------------.
  ( Confusion about spelling )             .-( 8 nights of gifts )-.             / Mennorah: \ ( Chicken )-----.  &    ( Latkes )     ( Playing with dreidels )
   '------------------------'              v  '-----------------'  v            (  * Candles  ) '-------'      |        '------'       '---------------------'
      .-------------------.        .---------------.      .----------------.     \           /      |          v            |         .----.         .----------------.
      v                   v       / Fear of running \    / Fear of running  \     '---------'       |  .--------------.     |        ( Gelt )       ( Fear of spinning )
 .---------.         .---------. (   out of gifts    )  (  out of gift wrap  ) .---------------.    | / Fear of under  \    |         '----'         '----------------'
( Hannukah? )---.---( Chanukah? ) \                 /    \                  / ( Fear of matches )   |(  cooked poultry  )   |            *                    *
 '---------'    v    '---------'   '---------------'      '----------------'   '---------------'    | \                / |  |    .-------------.  .-----------------------.
     .---------------------.               |    .--------------.   |           .---------------.    |  '--------------'  |  |   ( Fear of Sugar )( Fear of putting eye out )
    / Fear of having to go  \              |   / Fear of having \  |          / Fear of setting \   |                    |  |    '-------------'  '-----------------------'
   (  back to Hebrew school  )             '->(    to go back    )<'         (   house on fire   )  | .------------------|. |   .----------------.   .-----------------.
    \                       /                  \    outside     /             \                 /   v( Fear of cholestero| )v  ( Fear of diabetes ) ( Fear of blindness )
     '---------------------'                    '--------------'               '---------------'      '------------------|'     '----------------'   '-----------------'
                |                                       |                              *                       |         |               |                    |
                |                                       |                       .-------------.                |         |               |                    |
                '------------------------------------------------------------->( Fear of death )<------------------------'------------------------------------'
                                                                                '-------------'

This flowchart was created with App:Asciio, a little tool that came out this spring. In addition to jokes and social commentary, it's rather useful for prototyping program design or documenting complex class hierarchies. The program is rather inutitive; except that "help" is k for "keyboard map." Just start clicking and banging away as I did and you can turn something out fairly quickly, without even RTFM. Even though arrows try to be rather intelligent—they initialy exit the current ballon from bottom and bend right, automagically connecting to any nearby balloon with a free handle—they can be a little difficult to orient cleanly.

Like many modern applications, Asciio autodetects what format to save as based on file extension: text/plain for .txt, and otherwise a binary format. The binary format is necessary to permit later editing of a chart, since Asciio's author hasn't yet perfected an ASCII flow-chart parser. Another missing function is the ability to insert art from an existing file, though overlay can serve a similar function.

View Source (POD)