This blog no longer exists.
You will be redirected to something cool.

Thursday, March 14, 2013

Happy Pi Day!

I made this ASCII art in honor of Pi Day. Enjoy!
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                       .;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                                :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                            +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                         #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                   :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                               `@@@@@@@@@@@  @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    @@  @@@@     @@@@@@@@@@@@@@@@@@   @@@@@@@@@@@@@@@@@@@@@@@  ,@@,  @@@@@@@  @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@       
                              .@@@@@@@@@@@@  @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@  @@@@@@@  @@` @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@   @@   @@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@``@@@@       
                             ,@@@@@@@@@@@@@  @@@ @@    @@     @     @` @' #@@@@ @@  @  @@@@  @@@ .@    @  @  @@@@        @    @@        @@@@   ##   @'    @  @    `@     @@ @@    @@@@@  @@' @@@@       
                            .@@@@@@@@@@@@@@      @@@@@ `@  @+ @  @@ .@ .  @@@@@    .@  @@@@  @@@  @@@@ @, @ `@@@@@ @@  @@. @@ .@  @  @@ @@@@  @  @  @  @@ @  @@@@  @  @@ @@ @. @@ .@@@@@@@@@ @@@@       
                           .@@@@@@@@@@@@@@@  @@@ @@     @  @# @  @@ `@   .@@@@@ @@@@@  @@@@  @@@ ;;    @@   @@@@@@ @@  @@  @@  @  @  @@ @@@@  @  @  @     @  @     @  @@ @@ @      @@@@@@@@# @@@@       
                           @@@@@@@@@@@@@@@@  @@@ @@ :'  @  #  @  ;; #@#  @@@@@@ @@@@@  @@@@  @'  @` #` @@   @@@@@@ @@  @@# ;; #@  @  @@ @@@@  @@@@  @` +#:@  @  @  @  @@ @@ @# :@'@@@@@  @@, @@@@       
                          @@@@@@@@@@@@@@@@@  @@@ @@; @  @  ; @@  @ '@@@  @@@@@@ @@@@@  @@@@   .+@@@..@ @@@ :@@@@@@ @@  @@@@``@@@  @  @@ @@@@  @@@@  @@' `;@  @@ ;  @  @@ @@ @@@` :@@@@@  @@ +@@@@       
                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@  @@@@@; '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@       
                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@  @@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                       +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                  ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       
                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;,`        +@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@@                                                    
                #@@@@@@@@@@@@@@@@@@@@@@@@#.                @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@#                                                    
                @@@@@@@@@@@@@@@@@@@@@@;                    @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@:                                                    
               #@@@@@@@@@@@@@@@@@@@@                       @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                     
               @@@@@@@@@@@@@@@@@@#                         @@@@@@@@@@@@@@@@@@@@@+                                             @@@@@@@@@@@@@@@@@@@@@                                                     
              +@@@@@@@@@@@@@@@@@                           @@@@@@@@@@@@@@@@@@@@@;                                            `@@@@@@@@@@@@@@@@@@@@@                                                     
              @@@@@@@@@@@@@@@@'                            @@@@@@@@@@@@@@@@@@@@@,                                            :@@@@@@@@@@@@@@@@@@@@@                                                     
             ;@@@@@@@@@@@@@@@`                             @@@@@@@@@@@@@@@@@@@@@`                                            #@@@@@@@@@@@@@@@@@@@@@                                                     
             @@@@@@@@@@@@@@@                               @@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@+                                                     
            `@@@@@@@@@@@@@@                                @@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@,                                                     
            @@@@@@@@@@@@@@                                 @@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                      
            @@@@@@@@@@@@@                                 `@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                      
           ;@@@@@@@@@@@@                                  ,@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                      
           @@@@@@@@@@@@                                   ;@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                      
           @@@@@@@@@@@,                                   +@@@@@@@@@@@@@@@@@@@@@                                            ,@@@@@@@@@@@@@@@@@@@@@                                                      
          #@@@@@@@@@@#                                    @@@@@@@@@@@@@@@@@@@@@@                                            '@@@@@@@@@@@@@@@@@@@@#                                                      
          @@@@@@@@@@@                                     @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@;                                                      
          @@@@@@@@@@                                      @@@@@@@@@@@@@@@@@@@@@#                                            @@@@@@@@@@@@@@@@@@@@@`                                                      
         #@@@@@@@@@.                                      @@@@@@@@@@@@@@@@@@@@@'                                            @@@@@@@@@@@@@@@@@@@@@                                                       
         @@@@@@@@@@                                       @@@@@@@@@@@@@@@@@@@@@:                                            @@@@@@@@@@@@@@@@@@@@@                                                       
         @@@@@@@@@                                        @@@@@@@@@@@@@@@@@@@@@.                                            @@@@@@@@@@@@@@@@@@@@@                                                       
        #@@@@@@@@`                                        @@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                       
        @@@@@@@@@                                         @@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@                                                       
        @@@@@@@@                                          @@@@@@@@@@@@@@@@@@@@@                                            .@@@@@@@@@@@@@@@@@@@@@                                                       
       ;@@@@@@@,                                          @@@@@@@@@@@@@@@@@@@@@                                            ;@@@@@@@@@@@@@@@@@@@@'                                                       
       @@@@@@@@                                          .@@@@@@@@@@@@@@@@@@@@@                                            #@@@@@@@@@@@@@@@@@@@@,                                                       
       @@@@@@@                                           :@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                        
       ;;;;;;;                                           '@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         #@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@#                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@'                                            @@@@@@@@@@@@@@@@@@@@@                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@:                                           ,@@@@@@@@@@@@@@@@@@@@+                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@.                                           '@@@@@@@@@@@@@@@@@@@@;                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@                                            #@@@@@@@@@@@@@@@@@@@@.                                                        
                                                         @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                         @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                         @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                        .@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                        :@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                        '@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                        #@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@@                                           .@@@@@@@@@@@@@@@@@@@@@                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@@                                           ;@@@@@@@@@@@@@@@@@@@@#                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@+                                           +@@@@@@@@@@@@@@@@@@@@;                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@;                                           @@@@@@@@@@@@@@@@@@@@@,                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@,                                           @@@@@@@@@@@@@@@@@@@@@`                                                         
                                                        @@@@@@@@@@@@@@@@@@@@@`                                           @@@@@@@@@@@@@@@@@@@@@                                                          
                                                        @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                          
                                                        @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                          
                                                        @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                          
                                                       `@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                          
                                                       ,@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                          
                                                       ;@@@@@@@@@@@@@@@@@@@@@                                           ,@@@@@@@@@@@@@@@@@@@@@                                                          
                                                       +@@@@@@@@@@@@@@@@@@@@@                                           ;@@@@@@@@@@@@@@@@@@@@@                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@@                                           +@@@@@@@@@@@@@@@@@@@@@                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@@                                           @@@@@@@@@@@@@@@@@@@@@#                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@#                                           @@@@@@@@@@@@@@@@@@@@@'                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@;                                           @@@@@@@@@@@@@@@@@@@@@:                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@.                                           @@@@@@@@@@@@@@@@@@@@@.                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@`                                                          
                                                       @@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                           
                                                      ,@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                           
                                                      '@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                           
                                                      @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                           
                                                      @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@                                                           
                                                      @@@@@@@@@@@@@@@@@@@@@+                                           `@@@@@@@@@@@@@@@@@@@@@                                                           
                                                      @@@@@@@@@@@@@@@@@@@@@:                                           .@@@@@@@@@@@@@@@@@@@@@                                                           
                                                      @@@@@@@@@@@@@@@@@@@@@`                                           :@@@@@@@@@@@@@@@@@@@@@                                                           
                                                     :@@@@@@@@@@@@@@@@@@@@@                                            ;@@@@@@@@@@@@@@@@@@@@@                                                           
                                                     #@@@@@@@@@@@@@@@@@@@@@                                            '@@@@@@@@@@@@@@@@@@@@@                                                           
                                                     @@@@@@@@@@@@@@@@@@@@@@                                            #@@@@@@@@@@@@@@@@@@@@@                                                           
                                                     @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@@                                                           
                                                     @@@@@@@@@@@@@@@@@@@@@@                                            @@@@@@@@@@@@@@@@@@@@@#                                                           
                                                     @@@@@@@@@@@@@@@@@@@@@#                                            @@@@@@@@@@@@@@@@@@@@@+                                                           
                                                    ;@@@@@@@@@@@@@@@@@@@@@:                                            @@@@@@@@@@@@@@@@@@@@@'                                                           
                                                    @@@@@@@@@@@@@@@@@@@@@@`                                            @@@@@@@@@@@@@@@@@@@@@;                                                           
                                                    @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@:                                                           
                                                    @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@,                                                           
                                                    @@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@,                                                           
                                                   :@@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@.                                                           
                                                   @@@@@@@@@@@@@@@@@@@@@@@                                             @@@@@@@@@@@@@@@@@@@@@`                                                           
                                                   @@@@@@@@@@@@@@@@@@@@@@'                                             @@@@@@@@@@@@@@@@@@@@@`                                                           
                                                   @@@@@@@@@@@@@@@@@@@@@@.                                             @@@@@@@@@@@@@@@@@@@@@                                                            
                                                  `@@@@@@@@@@@@@@@@@@@@@@                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                  +@@@@@@@@@@@@@@@@@@@@@@                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                  @@@@@@@@@@@@@@@@@@@@@@@                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                  @@@@@@@@@@@@@@@@@@@@@@@                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                 `@@@@@@@@@@@@@@@@@@@@@@@                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                 #@@@@@@@@@@@@@@@@@@@@@@'                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                 @@@@@@@@@@@@@@@@@@@@@@@.                                              @@@@@@@@@@@@@@@@@@@@@                                                            
                                                 @@@@@@@@@@@@@@@@@@@@@@@                                               @@@@@@@@@@@@@@@@@@@@@`                                                           
                                                '@@@@@@@@@@@@@@@@@@@@@@@                                               @@@@@@@@@@@@@@@@@@@@@,                                                           
                                                @@@@@@@@@@@@@@@@@@@@@@@@                                               @@@@@@@@@@@@@@@@@@@@@:                                                           
                                                @@@@@@@@@@@@@@@@@@@@@@@@                                               @@@@@@@@@@@@@@@@@@@@@+                                                           
                                               @@@@@@@@@@@@@@@@@@@@@@@@+                                               @@@@@@@@@@@@@@@@@@@@@@                                                           
                                               @@@@@@@@@@@@@@@@@@@@@@@@,                                               @@@@@@@@@@@@@@@@@@@@@@                                                           
                                              :@@@@@@@@@@@@@@@@@@@@@@@@                                                @@@@@@@@@@@@@@@@@@@@@@                                                           
                                              @@@@@@@@@@@@@@@@@@@@@@@@@                                                @@@@@@@@@@@@@@@@@@@@@@                                                           
                                             .@@@@@@@@@@@@@@@@@@@@@@@@@                                                @@@@@@@@@@@@@@@@@@@@@@                                                           
                                             @@@@@@@@@@@@@@@@@@@@@@@@@@                                                @@@@@@@@@@@@@@@@@@@@@@,                                            @@@@@@#       
                                            `@@@@@@@@@@@@@@@@@@@@@@@@@+                                                +@@@@@@@@@@@@@@@@@@@@@@                                           :@@@@@@;       
                                            @@@@@@@@@@@@@@@@@@@@@@@@@@,                                                '@@@@@@@@@@@@@@@@@@@@@@                                           #@@@@@@`       
                                           .@@@@@@@@@@@@@@@@@@@@@@@@@@                                                 :@@@@@@@@@@@@@@@@@@@@@@                                           @@@@@@@        
                                           @@@@@@@@@@@@@@@@@@@@@@@@@@@                                                 .@@@@@@@@@@@@@@@@@@@@@@:                                          @@@@@@@        
                                          '@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                  @@@@@@@@@@@@@@@@@@@@@@@                                          @@@@@@@        
                                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                  @@@@@@@@@@@@@@@@@@@@@@@                                         +@@@@@@@        
                                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@'                                                  @@@@@@@@@@@@@@@@@@@@@@@+                                        @@@@@@@#        
                                        .@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                   @@@@@@@@@@@@@@@@@@@@@@@@                                        @@@@@@@,        
                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                   @@@@@@@@@@@@@@@@@@@@@@@@+                                      @@@@@@@@         
                                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                   @@@@@@@@@@@@@@@@@@@@@@@@@                                      @@@@@@@@         
                                      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                   @@@@@@@@@@@@@@@@@@@@@@@@@@                                    @@@@@@@@@         
                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                                                   @@@@@@@@@@@@@@@@@@@@@@@@@@;                                  `@@@@@@@@@         
                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                    '@@@@@@@@@@@@@@@@@@@@@@@@@@`                                 @@@@@@@@@,         
                                    +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                    .@@@@@@@@@@@@@@@@@@@@@@@@@@@                                @@@@@@@@@@          
                                   `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@`                             @@@@@@@@@@@          
                                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                           @@@@@@@@@@@@          
                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                         @@@@@@@@@@@@:          
                                 ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                     +@@@@@@@@@@@@@           
                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                      #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.                 ;@@@@@@@@@@@@@@@           
                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                      :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.           ,@@@@@@@@@@@@@@@@@@           
                               :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`           
                               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                                                       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            
                              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            
                             .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                        #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`            
                             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                        `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             
                            +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`                                                         @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#             
                            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@              
                           :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                          '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@              
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'                                                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.              
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                          `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                            +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:               
                          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                                                             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                              .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                  
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                  
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                   
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                  `@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                    
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                    
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                     
                          '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                      
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                       .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                       
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                                                        '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                        
                           .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                          #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         
                            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                            #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                          
                             @@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                              '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                           
                             .@@@@@@@@@@@@@@@@@@@@@@@@@.                                                                               ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                             
                              :@@@@@@@@@@@@@@@@@@@@@@@:                                                                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#                              
                               ,@@@@@@@@@@@@@@@@@@@@@,                                                                                    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                
                                 @@@@@@@@@@@@@@@@@@@`                                                                                       @@@@@@@@@@@@@@@@@@@@@@@@@@`                                 
                                  '@@@@@@@@@@@@@@@@                                                                                           #@@@@@@@@@@@@@@@@@@@@@                                    
                                    :@@@@@@@@@@@@`                                                                                              `@@@@@@@@@@@@@@@@`                                      
                                        ,'##+:                                                                                                       ,'+##+;,                                           
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                              





                    
Source

Monday, December 24, 2012

Secret Code Programming Puzzle

I'm trying to solve a mathy programming problem. (I came up with the problem a couple of years ago, but it's still preying on my mind.)

There is a secret code (which you're allowed unlimited guesses at) => a string 12 characters in length. Each character can be either a number or a letter (a-z, 0-9) and it's not case-sensitive (A == a).

After every hour, a character in the secret code is revealed.

For example:
Hour 1:
_ _ Q _ _ _ _ _ _ _ _ _

Hour 2:
_ _ Q _ _ _ _ _ _ _ 4 _

Hour 3:
_ _ Q _ _ _ _ 7 _ _ 4 _

Hour 12:
1 C Q 8 2 V V 7 J B 4 9

I want to write code that solves the code before a human can. I figure a human can realistically start manually entering combinations at around hour 10. I would like my program to solve it before then.

What should the program do when another hour goes by and another secret character is revealed? I was thinking of starting out with an array of all the possible combinations, but populating and storing the array would take an immense amount of time and resources. I was thinking about storing this array and when a new character is revealed, rejecting ALL strings from the array that don't have the new secret character in the exact position.

At a worse case scenario of making guesses with all 12 characters left unrevealed, we're left with awful time complexity:
36 numbers and letters, 12 mystery characters
36^12 == somewhere considerably longer than I have remaining in my lifetime given however long it takes in a single-threaded program to make a guess. Still too long in a multi-threaded program on the world's best computer.

However, this goes down significantly after each hour. So I have several questions to answer:

Should I start my program at a certain hour? If so, would there be any benefit to at least STARTING to populate an array before said starting hour? Would I even need to populate a massive array?

Monday, December 17, 2012

Best Practices in Comparison

I have a best practices question about some code.

Which code is easier for another programmer to understand:




Should I switch the greater_than and less_than signs [as in elsif in the first example (lines 1-5)] or should I switch the position of rocks and pebbles [as in the elsif in the second example(lines 7-11).] I prefer the second example because the puts statement is essentially the same as its if statement.

However, maybe it's easier for some people to think of the comparison in terms of, well, in this case, rocks. (I really don't know why.) What do you think?

Friday, November 30, 2012

The Course Schedule Program

My school lists the course schedule as pictured. The search functionality is deficient in that it offers little customization in the "advanced search."


I would like to "pull" the entire schedule and do the following things to help me choose classes:

1.) Have an option to compare it to a list of classes I'm required to take, classes I HAVE taken, and any classes I'm currently schedule to take in order to finish school and return ONLY those that,
  a.) I haven't yet taken.
  b.) count toward major.
  c.) fit within my current schedule in terms of times and dates
  d.) I'm qualified to take. (In terms of pre-reqs.)

2.) Have functionality that allows me to see the maximum number of classes I can take during a semester. Preferably order combinations of classes in such a way that the schedule combo with the highest number of credit hours in listed first and the one with the least is (obviously) listed last. This would prevent crappy schedules that have weird times slots that make finding other required classes difficult.

3.) Allow me to see the professor score for a class section as reported by (ratemyprofessors.com.) I won't need this to be searchable, but it would be nice to be able to see that data.

4.) Have functionality that allows me to prevent certain classes from showing up. For example, if I don't want to take AD 123 (even if it DID count toward my major), I would like to prevent it from showing up.

5.) Functionality to ignore the requirement that a class should count toward my major. This would be particularly helpful if I couldn't find a course within my major that would properly fit in my schedule.

(Perhaps this functionality would be the default behavior of the program and it the program would score class combinations based on relevance to requirements. In order to keep things from getting weird, create a credit hour limit for schedules of 19 credit hours.)

6.) Functionality to consider a "must-have" class (or two or three...) into the schedule. If I HAVE to take Awesome 101, section 4, with Professor Cool, I want to see potential schedules built around this.

7.) If I don't care for a professor, I would like to exclude him/her from my potential schedule.

How would I best achieve this?

I'm considering using Ruby (since that's what I'm most comfortable with), but I'm open to whatever (even Perl.)

My first instinct is to programmatically open the schedule with something like open-uri, and pull all course data. I was thinking of using nokogiri to search the data, but I think that throwing everything into a database and then querying the database would be a MUCH faster and MUCH better option.

My question is this:
What technologies would be best suited for this project? I literally have zero experience with databases except for a tiny bit of relational algebra (not enough to help me out in any way.)

It's probably also important to note that I would like to make this available for use on CodeGurl (mainly as a 'look ma, no friends' type thing), where a student can upload a spreadsheet containing classes they've already taken, classes they're required, and any must-haves, so any technologies related to deploying this would be helpful too. I've never deployed or packaged anything.

I basically need help with figuring out which direction to go with this. I beg you guys not to do the project for me (what would I learn? Nothing. And I'd feel like dirt.) However, any links, lists of technologies (and what problem they solve) would be GREATLY appreciated. Any technologies that are beginner friendly (have a LOT of beginners guides) would be FAB!

-Melanie