Przed nami kolejne pandemiczne Święta, tak różne od tych jakie znamy i za jakimi tęsknimy. 😔

Obostrzenia, lockdown, COVID-owe zasady towarzyszą nam od ponad roku. Stały się częścią naszej codzienności. Czas świąteczny jest dla nas szczególnie ciężki. Tęsknimy za spotkaniami z rodziną i przyjaciółmi. Wprawdzie nowoczesne technologie pozwalają nam pozostać w kontakcie, ale jednak brakuje nam bliskości drugiego człowieka.

Pomimo tych niesprzyjających okoliczności chcemy złożyć Wam życzenia. Odpoczynku od zgiełku codzienności oraz towarzyszącym im trosk. Niegasnącej nadziei i wiary w lepsze jutro. Pogody ducha i wiosennej radości każdego dnia. Szczęśliwych, spokojnych, a przede wszystkim zdrowych Świąt Wielkanocnych. Spędzonych w ciepłej i życzliwej atmosferze.

TL;DR: Wesołego Alleluja! 🐣


Wielkanocne zwyczaje

Jedną z wielkanocnych tradycji jest poszukiwanie zajączka oraz schowanych przez niego prezentów. 🐇🎁 Zwyczaj ten przyszedł do nas z Niemiec. Na początku popularny był na terenie Śląska oraz Wielkopolski. Następnie zaczął gościć również na Pomorzu. Chowano przede wszystkim pisanki 🥚 i kraszanki lub ich słodkie odpowiedniki. 🍬 🍭

Okazuje się, że takie jajka wielkanocne możemy znaleźć również w programowaniu. Tutaj występują pod angielską nazwą easter eggs. Pełnia rolę niespodzianki i to dobrze ukrytej.

Easter eggs

Co to jest easter eggs? To ukryte funkcje lub sekretne wiadomości jakie programiści umieszczają w kodzie. Można je znaleźć w aplikacjach, grach, na stronach internetowych czy nawet w filmach. Nie są one oficjalnie udokumentowane i wiedzę o nich posiadają tylko wtajemniczeni.

Kiedy zaczęła się tradycja easter eggs? Dokładnie nie wiadomo, jednak wiemy kiedy pojawił się ten termin. Pojęcie to zaczęło funkcjonować w 1979 roku. Wtedy to Warren Robinett, w grze Adventure, ukrył w sekretnym pokoju swoje imię i nazwisko. Podpisał w ten sposób swoją pracę.

Created by Warren Robinett

I tak pojawiła się nowa tradycja, która trwa do dzisiaj.

Programistyczne przykłady easter eggs

Hello world 👋 🌍

Z nauką programowania kojarzy się zwrot “Hello World”, który wyświetlamy na ekranie. Developerzy Pythona ukryli opcję pozwalającą wywołać znane powitanie. Wystarczy zaimportować bibliotekę hello, aby wyświetlić “Hello World!”:

>>> import __hello__
Hello world!

Uwaga! Przywitać się można tylko raz. Ponownie skorzystać można tylko przy kolejnym uruchomieniu interpretera Pythona.

Linuksowe Super Krowy 🐄

System Linux również zawiera wiele ciekawych easter eggs. Przykładowo, wpisując pod Ubuntu polecenie do zarządzania pakietami apt-get, dowiemy się że:

$ apt-get help
[...] Ten APT ma moce Super Krowy.

Można skorzystać z tej mocy wykonując polecenie:

$ apt-get moo

Super Krowa przybędzie… Jedna z dwóch.

               _     _
              (_\___( \,
                )___   _  Have you smashed some milk today?
               /( (_)-(_)    /
    ,---------'         \_
  //(  ',__,'      \  (' ')
 //  )              '----'
 '' ; \     .--.  ,/
    | )',_,'----( ;
    ||| '''     '||

lub

                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

Pomylony pociąg 🚂

Czeskie błędy mogą zdarzyć się każdemu. Jeśli zamiast polecenia ls (lista plików) wpisujemy sl, to można dla małej rozrywki zainstalować pakiet sl. W tym celu pod Ubuntu należy wywołać polecenie:

$ sudo apt install sl

Teraz podczas pomyłki (komenda sl) pojawi się mknący pociąg.

                          (  ) (@@) ( )  (@)  ()    @@    O     @     O     @
                     (@@@)
                 (    )
              (@@@@)

            (   )
        ====        ________                ___________
    _D _|  |_______/        \__I_I_____===__|_________|
     |(_)---  |   H\________/ |   |        =|___ ___|      _________________
     /     |  |   H  |  |     |   |         ||_| |_||     _|                \___
    |      |  |   H  |__--------------------| [___] |   =|
    | ________|___H__/__|_____/[][]~\_______|       |   -|
    |/ |   |-----------I_____I [][] []  D   |=======|____|______________________
  __/ =| o |=-~~\  /~~\  /~~\  /~~\ ____Y___________|__|________________________
   |/-=|___|=O=====O=====O=====O   |_____/~\___/          |_D__D__D_|  |_D__D__D
    \_/      \__/  \__/  \__/  \__/      \_/               \_/   \_/    \_/   \

Animowany rubinek 💎

Nie zapomnieliśmy o miłośnikach języka Ruby. Sami do nich należymy i na co dzień programujemy w Ruby. Easter egg w Ruby otrzymamy wpisując polecenie RubyVM i naciskając dwa razy klawisz tab w konsoli irb. Drugim sposobem jest bezpośrednie wywołanie w interpreterze Ruby prywatnej metody easter_egg:

> IRB.send :easter_egg

W zależności od szczęścia można zobaczyć w ASCII art statyczny rubinek:

                                            -+smJYYN?mm-
                                   HB"BBYT            TQg  NggT
                              9Q+g       Nm,T      8g          NJW
                          YS+              N2NJ"Sg               N?
                       BQg                  #(  gT Nggggk          J
                     5j                     NJ    NJ            NNge
                  #Q                        #JJ     NgT            N(
                @j                          bj         mT           J
              Bj                           @/d           NJ         (
            #q                            #((              NgT     #J
           5d                            #(t                  mT   $d
         #q                             @(@J                    NJB;
        @(                             5d ? HHH H HQmgggggggmN    qD
       5d                            #uN  2QdH                   E O
      5                             5JSd  Nd  NJH               @d j
     Fd                           @J4d     s     NQH           #d  (
    #(                          #o6d       Nd       NgH       #d  #d
    4                         B&Od          v          NgT   #d   F
   #(                       9JGd            NH            NgUd    F
   #d                    #GJQ                d             NP     $
   #J                 #U+#Q                  N            Q #     j
  j /W             BQ+ BQ                     d             NJ   NJ
  - NjJH      HBIjTQggPJQgW                   N        W     k   #J
 #J  b  HYWgggN       j s    Nag               d     NN      b   #d
 #J  5-              D   s         Ngg         N    d        Nd  F
 Fd BKH2            #+    s             NNgg    J Q           J  ]
 F H @  J           N      y                   K(d            P  I
 F4  E  N?         #d       y                #Q   NJ          E  j
 F   W   Nd        q         m             Bg       NxW       N(H-
 F   d    b       @           m          Hd            gW      vKJ
 NJ  d     K      d            s      Bg                 aT    FDd
  b #       d    N              m  BQ                      mV  N>
   e5       Nd  #d              NggggggQWH HHHH              NJ -
    m7       NW H            N                        HSVO1z=?11-
      NgTH    bB        kH   WBHWWHBHWmQgg&gggggNNN
           NNggggggNN

lub animację tańczącego rubinka:

Animacja Ruby Easter Egg


Mamy nadzieję, że powyższe przykłady się spodobały i obudziły Waszą ciekawość. Zachęcamy do własnych poszukiwań 🕵️ oraz życzymy pasjonujących odkryć programistycznych pisanek. Jeżeli podczas zabawy komputer odmówi posłuszeństwa to zapraszamy serdecznie do serwisu komputerowego w Cieszynie, ale to już po Świętach. 💻

Niech moc będzie z Wami!

Yoda

Kategorie: ,

Ostatnia aktualizacja:

Zostaw komentarz